import%20marimo%0A%0A__generated_with%20%3D%20%220.23.9%22%0Aapp%20%3D%20marimo.App()%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20%23%20%E3%81%93%E3%81%AE%E6%95%99%E6%9D%90%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80%0A%20%20%20%20import%20pathlib%0A%0A%20%20%20%20import%20marimo%20as%20mo%0A%20%20%20%20import%20pandas%20as%20pd%0A%0A%20%20%20%20import%20wandas%20as%20wd%0A%0A%20%20%20%20return%20mo%2C%20pathlib%2C%20pd%2C%20wd%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%20%E3%83%A1%E3%82%BF%E3%83%87%E3%83%BC%E3%82%BF%E3%81%A7%E5%BF%85%E8%A6%81%E3%81%AA%E9%9F%B3%E5%A3%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A0%E3%81%91%E3%82%92%E9%81%B8%E3%81%B6%0A%0A%20%20%20%20%E9%8C%B2%E9%9F%B3%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E5%A2%97%E3%81%88%E3%82%8B%E3%81%A8%E3%80%81%E3%80%8C%E3%81%A9%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%87%A6%E7%90%86%E3%81%99%E3%82%8B%E3%81%8B%E3%80%8D%E3%82%92%E6%B1%BA%E3%82%81%E3%82%8B%E3%81%A0%E3%81%91%E3%81%A7%E3%82%82%E6%99%82%E9%96%93%E3%81%8C%E3%81%8B%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%0A%20%20%20%20%E5%AF%BE%E8%B1%A1%E3%82%92%E9%81%B8%E3%81%B6%E3%81%9F%E3%82%81%E3%81%AB%E3%80%81%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E6%B3%A2%E5%BD%A2%E3%82%92%E5%85%88%E3%81%AB%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80%E5%BF%85%E8%A6%81%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E5%90%8D%E3%82%84%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E3%80%81%0A%20%20%20%20CSV%E3%81%AB%E8%A8%98%E9%8C%B2%E3%81%97%E3%81%9F%E5%B1%9E%E6%80%A7%E3%82%92%E4%BD%BF%E3%81%88%E3%81%B0%E3%80%81%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A0%E3%81%91%E3%82%92%E7%B5%9E%E3%82%8A%E8%BE%BC%E3%82%93%E3%81%A7%E3%81%8B%E3%82%89%E4%BF%A1%E5%8F%B7%E5%87%A6%E7%90%86%E3%82%92%E5%A7%8B%E3%82%81%E3%82%89%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%0A%0A%20%20%20%20%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%81%A7%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%82%84%E5%8F%8E%E9%8C%B2%E5%8D%98%E4%BD%8D%E3%82%92%E5%88%86%E3%81%91%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%60path_metadata%3DTrue%60%20%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%99%E3%82%8B%E3%81%A0%E3%81%91%E3%81%A7%0A%20%20%20%20%E7%9B%B8%E5%AF%BE%E3%83%91%E3%82%B9%E3%81%8B%E3%82%89%E3%83%A1%E3%82%BF%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E6%8E%A8%E8%AB%96%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%60dataset.select()%60%20%E3%81%AF%E3%81%9D%E3%81%AE%E3%83%A1%E3%82%BF%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%AE%8C%E5%85%A8%E4%B8%80%E8%87%B4%E3%81%A7%0A%20%20%20%20%E6%A4%9C%E7%B4%A2%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E7%8B%AC%E8%87%AA%E3%81%AE%E8%A7%A3%E6%9E%90%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%8B%E3%81%9A%E3%81%AB%E3%80%81%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A0%E3%81%91%E3%82%92%E9%81%B8%E3%81%B9%E3%81%BE%E3%81%99%E3%80%82%0A%0A%20%20%20%203%E4%BB%B6%E3%81%AE%E7%9F%AD%E3%81%84%E5%90%88%E6%88%90WAV%E3%81%A8sidecar%20CSV%E3%81%8B%E3%82%89%E3%81%AA%E3%82%8B%E3%83%87%E3%83%A2%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%90%8C%E6%A2%B1%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81%0A%20%20%20%20%E6%89%8B%E5%85%83%E3%81%AEWAV%E3%82%84CSV%E3%81%AF%E5%BF%85%E8%A6%81%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%0A%0A%20%20%20%20%E3%81%93%E3%81%AE%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E3%81%A7%E3%81%AF%E6%AC%A1%E3%81%AE%E6%B5%81%E3%82%8C%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%0A%0A%20%20%20%201.%20%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%81%A8%E5%8F%8E%E9%8C%B2%E5%8D%98%E4%BD%8D%E3%81%A7%E5%88%86%E3%81%91%E3%81%9F%E5%90%8C%E6%A2%B1%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%0A%20%20%20%202.%20%60path_metadata%3DTrue%60%20%E3%81%A7%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E9%9A%8E%E5%B1%A4%E3%82%92%E3%83%A1%E3%82%BF%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AB%E3%81%99%E3%82%8B%0A%20%20%20%203.%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%99%E3%82%8B%0A%20%20%20%204.%20Dataset%E5%85%A8%E4%BD%93%E3%81%AB%E5%87%A6%E7%90%86%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%97%E3%81%A6%E3%81%8B%E3%82%89%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%99%E3%82%8B%0A%20%20%20%205.%20%E5%A4%96%E9%83%A8%E5%B1%9E%E6%80%A7%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%AA%E5%A0%B4%E5%90%88%E3%81%A0%E3%81%91sidecar%20CSV%E3%82%92lookup%E3%81%A8%E3%81%97%E3%81%A6%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(pathlib)%3A%0A%20%20%20%20%23%20%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AB%E5%90%8C%E6%A2%B1%E3%81%95%E3%82%8C%E3%81%9F%E3%83%87%E3%83%A2%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E5%A0%B4%E6%89%80%E3%81%A8%E4%BB%B6%E6%95%B0%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%0A%20%20%20%20root%20%3D%20pathlib.Path(__file__).parent%20%2F%20%22data%22%20%2F%20%22metadata_search%22%0A%20%20%20%20_relative_paths%20%3D%20sorted(path.relative_to(root)%20for%20path%20in%20root.rglob(%22*.wav%22))%0A%0A%20%20%20%20print(f%22%E5%90%8C%E6%A2%B1%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%3A%20%7Broot%7D%22)%0A%20%20%20%20print(f%22WAV%3A%20%7Blen(_relative_paths)%7D%E4%BB%B6%22)%0A%20%20%20%20return%20(root%2C)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%201.%20%E3%83%91%E3%82%B9%E7%94%B1%E6%9D%A5%E3%83%A1%E3%82%BF%E3%83%87%E3%83%BC%E3%82%BF%E3%81%A7%E9%81%B8%E6%8A%9E%E3%81%99%E3%82%8B%0A%0A%20%20%20%20%E3%81%93%E3%81%AE%E4%BE%8B%E3%81%A7%E3%81%AF%20%60group%2Fbatch%2Ffilename.wav%60%20%E3%81%A8%E3%81%84%E3%81%86%E5%8D%98%E7%B4%94%E3%81%AA%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E8%A6%8F%E5%89%87%E3%82%92%E4%BD%BF%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%0A%20%20%20%20%60path_metadata%3DTrue%60%20%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E9%80%9A%E5%B8%B8%E3%81%AE%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E5%90%8D%E3%81%AF%E3%83%AB%E3%83%BC%E3%83%88%E3%81%8B%E3%82%89%E9%A0%86%E3%81%AB%0A%20%20%20%20%60partition_0%60%E3%80%81%60partition_1%60%20%E3%81%A8%E3%81%84%E3%81%86%E3%82%AD%E3%83%BC%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%0A%0A%20%20%20%20%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AE%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E6%A7%8B%E9%80%A0%E3%81%AF%E6%AC%A1%E3%81%AE%E3%81%A8%E3%81%8A%E3%82%8A%E3%81%A7%E3%81%99%E3%80%82%0A%0A%20%20%20%20%60%60%60text%0A%20%20%20%20demo_folder%2F%0A%20%20%20%20%E2%94%9C%E2%94%80%E2%94%80%20group_a%2F%0A%20%20%20%20%E2%94%82%20%20%20%E2%94%9C%E2%94%80%E2%94%80%20batch_01%2F%0A%20%20%20%20%E2%94%82%20%20%20%E2%94%82%20%20%20%E2%94%94%E2%94%80%E2%94%80%20recording_001.wav%0A%20%20%20%20%E2%94%82%20%20%20%E2%94%94%E2%94%80%E2%94%80%20batch_02%2F%0A%20%20%20%20%E2%94%82%20%20%20%20%20%20%20%E2%94%94%E2%94%80%E2%94%80%20recording_002.wav%0A%20%20%20%20%E2%94%94%E2%94%80%E2%94%80%20group_b%2F%0A%20%20%20%20%20%20%20%20%E2%94%94%E2%94%80%E2%94%80%20batch_01%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%E2%94%94%E2%94%80%E2%94%80%20recording_003.wav%0A%20%20%20%20%60%60%60%0A%0A%20%20%20%20%E3%81%9F%E3%81%A8%E3%81%88%E3%81%B0%20%60group_a%2Fbatch_01%2Frecording_001.wav%60%20%E3%81%AB%E3%81%AF%0A%20%20%20%20%60%7B%22partition_0%22%3A%20%22group_a%22%2C%20%22partition_1%22%3A%20%22batch_01%22%7D%60%20%E3%81%8C%E4%BB%98%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%0A%20%20%20%20%E3%83%AB%E3%83%BC%E3%83%88%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%81%A8%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E3%81%AF%E5%AF%BE%E8%B1%A1%E5%A4%96%E3%81%A7%E3%81%99%E3%80%82%E3%81%93%E3%81%AE%E6%8E%A8%E8%AB%96%E3%81%AF%E7%9B%B8%E5%AF%BE%E3%83%91%E3%82%B9%E3%81%A0%E3%81%91%E3%82%92%E8%AA%BF%E3%81%B9%E3%80%81%E9%9F%B3%E5%A3%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E9%96%8B%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(root%2C%20wd)%3A%0A%20%20%20%20%23%20%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E9%9A%8E%E5%B1%A4%E3%82%92%E3%83%A1%E3%82%BF%E3%83%87%E3%83%BC%E3%82%BF%E3%81%A8%E3%81%97%E3%81%A6%E6%8E%A8%E8%AB%96%E3%81%99%E3%82%8BDataset%E3%82%92%E4%BD%9C%E3%82%8B%0A%20%20%20%20dataset%20%3D%20wd.from_folder(%0A%20%20%20%20%20%20%20%20str(root)%2C%0A%20%20%20%20%20%20%20%20recursive%3DTrue%2C%0A%20%20%20%20%20%20%20%20file_extensions%3D%5B%22.wav%22%5D%2C%0A%20%20%20%20%20%20%20%20path_metadata%3DTrue%2C%0A%20%20%20%20)%0A%20%20%20%20print(%22%E8%A6%8B%E3%81%A4%E3%81%8B%E3%81%A3%E3%81%9FWAV%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%3A%22%2C%20len(dataset)%2C%20%22%E4%BB%B6%22)%0A%20%20%20%20return%20(dataset%2C)%0A%0A%0A%40app.cell%0Adef%20_(dataset)%3A%0A%20%20%20%20%23%201%E9%9A%8E%E5%B1%A4%E7%9B%AE%E3%81%A82%E9%9A%8E%E5%B1%A4%E7%9B%AE%E3%81%AE%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E6%9D%A1%E4%BB%B6%E3%81%AB%E4%B8%80%E8%87%B4%E3%81%99%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A0%E3%81%91%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%99%E3%82%8B%0A%20%20%20%20selected%20%3D%20dataset.select(partition_0%3D%22group_a%22%2C%20partition_1%3D%22batch_01%22)%0A%20%20%20%20print(%22group_a%20%2F%20batch_01%20%E3%81%AB%E4%B8%80%E8%87%B4%E3%81%97%E3%81%9F%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%3A%22%2C%20len(selected)%2C%20%22%E4%BB%B6%22)%0A%20%20%20%20return%20(selected%2C)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%60select()%60%20%E3%81%AE%E8%A4%87%E6%95%B0%E6%9D%A1%E4%BB%B6%E3%81%AFAND%E3%80%81%E5%80%A4%E3%81%AF%E5%AE%8C%E5%85%A8%E4%B8%80%E8%87%B4%E3%81%A7%E3%81%99%E3%80%82%E6%9C%AA%E7%9F%A5%E3%81%AE%E3%82%AD%E3%83%BC%E3%81%AF%E3%82%BF%E3%82%A4%E3%83%97%E3%83%9F%E3%82%B9%E3%81%A8%E3%81%97%E3%81%A6%0A%20%20%20%20%60KeyError%60%20%E3%81%AB%E3%81%AA%E3%82%8A%E3%80%81%E4%B8%80%E8%87%B4%E3%81%97%E3%81%AA%E3%81%84%E6%9D%A1%E4%BB%B6%E3%81%AF%E9%95%B7%E3%81%950%E3%81%AE%E6%9C%89%E5%8A%B9%E3%81%AADataset%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%0A%0A%20%20%20%20%23%23%23%20%E9%81%85%E5%BB%B6%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%0A%0A%20%20%20%20Wandas%E3%81%AF%E3%80%81%E5%BF%85%E8%A6%81%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F%E6%AE%B5%E9%9A%8E%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E3%81%BE%E3%81%99%E3%80%82%E5%87%A6%E7%90%86%E3%81%AF%E6%AC%A1%E3%81%AE3%E6%AE%B5%E9%9A%8E%E3%81%AB%E5%88%86%E3%81%8B%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%0A%0A%20%20%20%201.%20%60from_folder()%60%20%E3%81%A8%20%60select()%60%EF%BC%9A%E3%83%91%E3%82%B9%E3%81%A8%E3%83%A1%E3%82%BF%E3%83%87%E3%83%BC%E3%82%BF%E3%81%A0%E3%81%91%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E5%80%99%E8%A3%9C%E3%82%92%E7%B5%9E%E3%82%8B%0A%20%20%20%202.%20%60selected%5B0%5D%60%EF%BC%9A%E9%81%B8%E3%82%93%E3%81%A0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E9%9F%B3%E5%A3%B0%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%E3%82%92%E8%AA%AD%E3%81%BF%E3%80%81Frame%E3%82%92%E4%BD%9C%E3%82%8B%0A%20%20%20%203.%20%60frame.data%60%EF%BC%9A%E9%81%B8%E3%82%93%E3%81%A0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E6%B3%A2%E5%BD%A2%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%82%92%E5%AE%9F%E9%9A%9B%E3%81%AB%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80%0A%0A%20%20%20%20%60loaded_count%60%20%E3%81%AF%E3%80%81%E3%81%93%E3%82%8C%E3%81%BE%E3%81%A7%E3%81%ABFrame%E3%81%A8%E3%81%97%E3%81%A6%E3%83%AD%E3%83%BC%E3%83%89%E3%81%97%E3%81%9F%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E6%95%B0%E3%81%A7%E3%81%99%E3%80%82%60select()%60%20%E3%81%AE%E7%9B%B4%E5%BE%8C%E3%81%AF0%E4%BB%B6%E3%81%A7%E3%80%81%0A%20%20%20%20%60selected%5B0%5D%60%20%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%A81%E4%BB%B6%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%A4%E3%81%BE%E3%82%8A%E3%80%81%E9%81%B8%E6%8A%9E%E3%81%A0%E3%81%91%E3%81%A7%E3%81%AF%E9%9F%B3%E5%A3%B0%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%E3%82%84%E6%B3%A2%E5%BD%A2%E3%82%92%E8%AA%AD%E3%81%BF%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(selected)%3A%0A%20%20%20%20%23%20selected%5B0%5D%E3%81%AE%E5%89%8D%E5%BE%8C%E3%81%A7Frame%E3%81%AE%E9%81%85%E5%BB%B6%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%0A%20%20%20%20print(%22select()%E7%9B%B4%E5%BE%8C%E3%81%ABFrame%E3%81%A8%E3%81%97%E3%81%A6%E3%83%AD%E3%83%BC%E3%83%89%E6%B8%88%E3%81%BF%3A%22%2C%20selected.get_metadata()%5B%22loaded_count%22%5D%2C%20%22%E4%BB%B6%22)%0A%20%20%20%20selected_frame%20%3D%20selected%5B0%5D%0A%20%20%20%20assert%20selected_frame%20is%20not%20None%0A%20%20%20%20print(%22selected%5B0%5D%E5%BE%8C%E3%81%ABFrame%E3%81%A8%E3%81%97%E3%81%A6%E3%83%AD%E3%83%BC%E3%83%89%E6%B8%88%E3%81%BF%3A%22%2C%20selected.get_metadata()%5B%22loaded_count%22%5D%2C%20%22%E4%BB%B6%22)%0A%20%20%20%20return%20(selected_frame%2C)%0A%0A%0A%40app.cell%0Adef%20_(selected_frame)%3A%0A%20%20%20%20%23%20data%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3%E3%81%A7%E6%B3%A2%E5%BD%A2%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%82%92%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80%0A%20%20%20%20samples%20%3D%20selected_frame.data%0A%20%20%20%20print(%22data%E3%81%A7%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%93%E3%81%A0%E6%B3%A2%E5%BD%A2%E3%81%AE%E5%85%88%E9%A0%AD5%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%3A%22%2C%20samples%5B%3A5%5D)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Dataset%E3%81%AB%E5%87%A6%E7%90%86%E3%82%92%E3%81%BE%E3%81%A8%E3%82%81%E3%81%A6%E5%AE%9A%E7%BE%A9%E3%81%97%E3%81%A6%E3%81%8B%E3%82%89%E9%81%B8%E3%81%B6%0A%0A%20%20%20%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E9%81%B8%E3%82%93%E3%81%A0%E5%BE%8C%E3%81%AB%E3%80%811%E4%BB%B6%E3%81%9A%E3%81%A4%20%60normalize()%60%20%E3%82%84%20%60stft()%60%20%E3%82%92%E5%91%BC%E3%81%B6%E5%BF%85%E8%A6%81%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%0A%20%20%20%20Dataset%E3%81%AB%E5%AF%BE%E3%81%97%E3%81%A6%E5%87%A6%E7%90%86%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E5%90%84%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%B8%E5%90%8C%E3%81%98%E5%87%A6%E7%90%86%E3%81%8C%E8%87%AA%E5%8B%95%E7%9A%84%E3%81%AB%E9%81%A9%E7%94%A8%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%0A%20%20%20%20%E3%83%A1%E3%82%BF%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AF%E5%87%A6%E7%90%86%E5%BE%8C%E3%81%AEDataset%E3%81%AB%E3%82%82%E4%BF%9D%E6%8C%81%E3%81%95%E3%82%8C%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81%60normalize().stft()%60%20%E3%81%AE%E5%BE%8C%E3%81%A7%E3%82%82%0A%20%20%20%20%60select()%60%20%E3%82%92%E4%BD%BF%E3%81%88%E3%81%BE%E3%81%99%E3%80%82%E8%A6%81%E7%B4%A0%E3%81%B8%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B%E3%81%A8Frame%E3%81%A8%E5%87%A6%E7%90%86%E3%82%B0%E3%83%A9%E3%83%95%E3%81%8C%E4%BD%9C%E3%82%89%E3%82%8C%E3%80%81%E6%B3%A2%E5%BD%A2%E3%81%AE%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E3%81%A8%0A%20%20%20%20%E6%95%B0%E5%80%A4%E8%A8%88%E7%AE%97%E3%81%AF%20%60data%60%20%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B%E3%81%BE%E3%81%A7%E9%81%85%E5%BB%B6%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(dataset)%3A%0A%20%20%20%20%23%20Dataset%E5%85%A8%E4%BD%93%E3%81%AB%E5%87%A6%E7%90%86%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%97%E3%81%9F%E5%BE%8C%E3%81%A7%E3%80%81%E8%A7%A3%E6%9E%90%E5%AF%BE%E8%B1%A1%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%99%E3%82%8B%0A%20%20%20%20processed_dataset%20%3D%20dataset.normalize().stft(n_fft%3D128)%0A%20%20%20%20processed_selected%20%3D%20processed_dataset.select(partition_0%3D%22group_a%22%2C%20partition_1%3D%22batch_01%22)%0A%20%20%20%20print(%22%E5%87%A6%E7%90%86%E5%BE%8C%E3%81%AB%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%9F%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%3A%22%2C%20len(processed_selected)%2C%20%22%E4%BB%B6%22)%0A%20%20%20%20return%20(processed_selected%2C)%0A%0A%0A%40app.cell%0Adef%20_(processed_selected)%3A%0A%20%20%20%20%23%20%E5%87%A6%E7%90%86%E5%BE%8C%E3%81%AEFrame%E3%81%AB%E3%82%82%E9%81%B8%E6%8A%9E%E3%81%AB%E4%BD%BF%E3%81%A3%E3%81%9F%E3%83%A1%E3%82%BF%E3%83%87%E3%83%BC%E3%82%BF%E3%81%8C%E4%BF%9D%E6%8C%81%E3%81%95%E3%82%8C%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%0A%20%20%20%20_selected_spectrogram%20%3D%20processed_selected%5B0%5D%0A%20%20%20%20assert%20_selected_spectrogram%20is%20not%20None%0A%0A%20%20%20%20print(%22STFT%E5%BE%8C%E3%82%82partition_0%E3%82%92%E4%BF%9D%E6%8C%81%3A%22%2C%20_selected_spectrogram.metadata%5B%22partition_0%22%5D)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%202.%20CSV%E3%81%AE%E3%83%A1%E3%82%BF%E3%83%87%E3%83%BC%E3%82%BF%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E9%81%B8%E3%81%B6%0A%0A%20%20%20%20%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E9%9A%8E%E5%B1%A4%E3%81%AB%E3%81%AA%E3%81%84%E5%B1%9E%E6%80%A7%E3%82%92CSV%E3%81%A7%E7%AE%A1%E7%90%86%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%60metadata_resolver%60%20%E3%81%A7%E5%AF%BE%E8%B1%A1%E3%82%92%E9%81%B8%E3%81%B9%E3%81%BE%E3%81%99%E3%80%82%0A%20%20%20%20CSV%E3%82%92%20%60pandas.read_csv()%60%20%E3%81%A7DataFrame%E3%81%A8%E3%81%97%E3%81%A6%E8%AA%AD%E3%81%BF%E3%80%81%E5%86%85%E5%AE%B9%E3%82%92%E8%A1%A8%E3%81%A7%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%9F%E5%BE%8C%E3%80%81%0A%20%20%20%20lookup%EF%BC%88%E3%83%91%E3%82%B9%E3%82%92%E3%82%AD%E3%83%BC%E3%81%AB%E3%81%97%E3%81%9F%E8%BE%9E%E6%9B%B8%EF%BC%89%E3%81%B8%E5%A4%89%E6%8F%9B%E3%81%97%E3%81%BE%E3%81%99%E3%80%82resolver%E3%81%AF%E7%9B%B8%E5%AF%BE%E3%83%91%E3%82%B9%E3%82%92%E3%82%AD%E3%83%BC%E3%81%ABlookup%E3%82%92%0A%20%20%20%20%E5%8F%82%E7%85%A7%E3%81%99%E3%82%8B%E3%81%A0%E3%81%91%E3%81%A7%E3%81%99%E3%80%82%E4%BF%A1%E5%8F%B7CSV%E3%82%92%E8%AA%A4%E3%81%A3%E3%81%A6%E9%9F%B3%E5%A3%B0%E3%81%A8%E3%81%97%E3%81%A6%0A%20%20%20%20%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BE%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%80%81%60file_extensions%3D%5B%22.wav%22%5D%60%20%E3%82%92%E6%98%8E%E7%A4%BA%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%0A%0A%20%20%20%20%E3%81%93%E3%81%AE%E4%BE%8B%E3%81%AF%20%60lookup%5Bpath.as_posix()%5D%60%20%E3%82%92%E4%BD%BF%E3%81%86%E3%81%9F%E3%82%81%E3%80%81CSV%E3%81%AB%E3%81%AA%E3%81%84WAV%E3%81%8C%E3%81%82%E3%82%8C%E3%81%B0Dataset%E6%A7%8B%E7%AF%89%E6%99%82%E3%81%AB%0A%20%20%20%20%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E5%85%A5%E5%8A%9B%E6%BC%8F%E3%82%8C%E3%81%AB%E6%97%A9%E3%81%8F%E6%B0%97%E3%81%A5%E3%81%91%E3%82%8B%E3%81%AE%E3%81%A7%E3%80%81%E9%80%9A%E5%B8%B8%E3%81%AF%E3%81%93%E3%81%A1%E3%82%89%E3%82%92%E6%8E%A8%E5%A5%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(mo%2C%20pd%2C%20root)%3A%0A%20%20%20%20%23%20pandas%E3%81%A7%E5%90%8C%E6%A2%B1CSV%E3%82%92%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E3%80%81%E5%86%85%E5%AE%B9%E3%82%92%E8%A1%A8%E3%81%A8%E3%81%97%E3%81%A6%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%0A%20%20%20%20sidecar_path%20%3D%20root%20%2F%20%22recordings.csv%22%0A%20%20%20%20recordings%20%3D%20pd.read_csv(sidecar_path)%0A%20%20%20%20mo.vstack(%5Bmo.md(%22**pandas%E3%81%A7%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%93%E3%81%A0%20recordings.csv**%22)%2C%20recordings%5D)%0A%20%20%20%20return%20(recordings%2C)%0A%0A%0A%40app.cell%0Adef%20_(recordings)%3A%0A%20%20%20%20%23%20DataFrame%E3%82%92%E7%9B%B8%E5%AF%BE%E3%83%91%E3%82%B9%E3%81%8B%E3%82%89%E5%B1%9E%E6%80%A7%E3%82%92%E5%BC%95%E3%81%91%E3%82%8Blookup%E3%81%B8%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%0A%20%20%20%20lookup%20%3D%20recordings.set_index(%22path%22)%5B%5B%22condition%22%2C%20%22priority%22%5D%5D.to_dict(orient%3D%22index%22)%0A%20%20%20%20return%20(lookup%2C)%0A%0A%0A%40app.cell%0Adef%20_(lookup%2C%20root%2C%20wd)%3A%0A%20%20%20%20%23%20CSV%E7%94%B1%E6%9D%A5%E3%81%AE%E3%83%A1%E3%82%BF%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E6%9D%A1%E4%BB%B6%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%99%E3%82%8B%0A%20%20%20%20csv_dataset%20%3D%20wd.from_folder(%0A%20%20%20%20%20%20%20%20str(root)%2C%0A%20%20%20%20%20%20%20%20recursive%3DTrue%2C%0A%20%20%20%20%20%20%20%20file_extensions%3D%5B%22.wav%22%5D%2C%0A%20%20%20%20%20%20%20%20metadata_resolver%3Dlambda%20path%3A%20lookup%5Bpath.as_posix()%5D%2C%0A%20%20%20%20)%0A%20%20%20%20reference_files%20%3D%20csv_dataset.select(condition%3D%22reference%22%2C%20priority%3D1)%0A%20%20%20%20print(%22CSV%E6%9D%A1%E4%BB%B6%E3%81%AB%E4%B8%80%E8%87%B4%E3%81%97%E3%81%9F%E4%BB%B6%E6%95%B0%3A%22%2C%20len(reference_files))%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20%E3%81%BE%E3%81%A8%E3%82%81%0A%0A%20%20%20%20-%20%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E9%9A%8E%E5%B1%A4%E3%81%A7%E9%81%B8%E3%81%B6%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%E3%81%BE%E3%81%9A%20%60path_metadata%3DTrue%60%20%E3%82%92%E4%BD%BF%E3%81%86%0A%20%20%20%20-%20%60select()%60%20%E3%81%AF%E6%B3%A2%E5%BD%A2%E3%82%92%E8%AA%AD%E3%82%80%E5%89%8D%E3%81%AB%E5%AE%8C%E5%85%A8%E4%B8%80%E8%87%B4%E3%81%A7%E7%B5%9E%E3%82%8A%E8%BE%BC%E3%82%80%0A%20%20%20%20-%20Dataset%E5%85%A8%E4%BD%93%E3%81%AB%20%60normalize()%60%E3%80%81%60stft()%60%20%E3%81%AA%E3%81%A9%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%97%E3%81%A6%E3%81%8B%E3%82%89%E9%81%B8%E6%8A%9E%E3%81%A7%E3%81%8D%E3%82%8B%0A%20%20%20%20-%20%E3%83%91%E3%82%B9%E7%94%B1%E6%9D%A5%E3%83%A1%E3%82%BF%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AF%E3%83%AD%E3%83%BC%E3%83%89%E3%81%97%E3%81%9FFrame%E3%81%A8%E5%A4%89%E6%8F%9B%E7%B5%90%E6%9E%9C%E3%81%B8%E4%BC%9D%E6%92%AD%E3%81%99%E3%82%8B%0A%20%20%20%20-%20%E5%A4%96%E9%83%A8%E5%B1%9E%E6%80%A7%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%AA%E5%A0%B4%E5%90%88%E3%81%A0%E3%81%91%E3%80%81CSV%E3%82%92lookup%E3%81%B8%E5%A4%89%E6%8F%9B%E3%81%97%E3%81%A6resolver%E5%A5%91%E7%B4%84%E3%81%B8%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%0A%0A%20%20%20%20API%E3%81%AE%E8%A9%B3%E7%B4%B0%E3%81%A8%E3%82%A8%E3%83%A9%E3%83%BC%E5%A5%91%E7%B4%84%E3%81%AF%0A%20%20%20%20%5BFrame%20Dataset%20utility%20reference%5D(..%2Fapi%2Futils.md%23metadata-driven-file-selection--%E3%83%A1%E3%82%BF%E3%83%87%E3%83%BC%E3%82%BF%E9%A7%86%E5%8B%95%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E9%81%B8%E6%8A%9E)%0A%20%20%20%20%E3%82%92%E5%8F%82%E7%85%A7%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
20dcdb1db975d5daae0c99b213137aef