{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "from suno_utils.utils.text import read_jsonl\n",
    "from tqdm import tqdm\n",
    "from suno_utils.utils.s3 import read_from_s3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "metas = read_jsonl(\"/home/christian/code/christian/metadata/diffusion_mix/metas.jsonl\", progress=True)\n",
    "print(len(metas))\n",
    "# filter from pond5_music\n",
    "pond5_metas = [meta for meta in metas if meta[\"dataset\"] == \"pond5_music\"]\n",
    "print(len(pond5_metas))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "jamendo_metas = [meta for meta in metas if meta[\"dataset\"] == \"jamendo\"]\n",
    "print(len(jamendo_metas))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "for meta in jamendo_metas:\n",
    "    print(meta)\n",
    "    break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "pd5_extra_metas = read_from_s3(\n",
    "    \"s3://suno-data/datasets/harvest/pond5_music/pond5_metas.jsonl\",\n",
    "    read_f=read_jsonl,\n",
    ")\n",
    "\n",
    "# create a dict with pond5_id as key\n",
    "pd5_extra_metas_dict = {meta[\"id\"]: meta for meta in pd5_extra_metas}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# look for metas in pond5_metas that are not in pd5_extra_metas\n",
    "c = 0\n",
    "for meta in pond5_metas:\n",
    "    if meta[\"id\"] not in pd5_extra_metas_dict:\n",
    "        print(meta.keys())\n",
    "        print(f\"{meta['id']} not in pd5_extra_metas (c={c})\")\n",
    "        c += 1\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "metadata = read_jsonl(\"/app/suno/data/chirp_v4/metadata/genius_hq_v5.jsonl\", progress=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# create a histogram of the duration for each example in metadata\n",
    "durations = []\n",
    "for md in tqdm(metadata):\n",
    "    text_segments = md[\"text_segments\"]\n",
    "    start_s = md[\"start_s\"] \n",
    "    end_s = md[\"end_s\"]\n",
    "    duration = end_s - start_s\n",
    "    durations.append(duration)\n",
    "matplotlib.pyplot.hist(durations, bins=100)\n",
    "matplotlib.pyplot.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "suno_env",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
