{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import os, glob, random\nimport numpy as np, pandas as pd\nimport librosa\nimport soundfile as sf\n\nimport joblib\nfrom joblib import Parallel, delayed\nfrom tqdm.auto import tqdm\n\nimport warnings\nwarnings.filterwarnings(\"ignore\")","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"!mkdir -p /root/.kaggle/\n!cp ../input/mykaggleapi/kaggle.json /root/.kaggle/\n!chmod 600 /root/.kaggle/kaggle.json","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"!mkdir -p \"/tmp/RFCSAD_Wav_48k\"\n!mkdir -p \"/tmp/RFCSAD_Wav_48k/train\"\n!mkdir -p \"/tmp/RFCSAD_Wav_48k/test\"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"TARGET_SR = 48000\nSAVE_PATH = \"/tmp/RFCSAD_Wav_48k\"\ntrain_audio_paths = glob.glob(\"../input/rfcx-species-audio-detection/train/*.flac\")\ntest_audio_paths = glob.glob(\"../input/rfcx-species-audio-detection/test/*.flac\")\nprint(len(train_audio_paths), len(test_audio_paths))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"def convert_to_wav(path):\n    fname = path.split(\"/\")[-1].split('.')[0]\n    ftype = path.split(\"/\")[-2]\n    save_path = f\"{SAVE_PATH}/{ftype}\"\n    \n    y, sr = librosa.load(path, sr=TARGET_SR, mono=True, res_type=\"kaiser_fast\")\n    \n    sf.write(f\"{save_path}/{fname}.wav\", y, samplerate=TARGET_SR)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"_ = Parallel(n_jobs=8, backend=\"multiprocessing\")(\n    delayed(convert_to_wav)(path) for path in tqdm(train_audio_paths)\n)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"_ = Parallel(n_jobs=8, backend=\"multiprocessing\")(\n    delayed(convert_to_wav)(path) for path in tqdm(test_audio_paths)\n)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"!cp \"../input/rfcx-species-audio-detection/train_fp.csv\" \"/tmp/RFCSAD_Wav_48k/\"\n!cp \"../input/rfcx-species-audio-detection/train_tp.csv\" \"/tmp/RFCSAD_Wav_48k/\"\n!cp \"../input/rfcx-species-audio-detection/sample_submission.csv\" \"/tmp/RFCSAD_Wav_48k/\"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"!ls \"/tmp/RFCSAD_Wav_48k/\"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"data = '''{\n  \"title\": \"RFCSAD-wav-48k-v1\",\n  \"id\": \"gopidurgaprasad/RFCSAD-wav-48k-v1\",\n  \"licenses\": [\n    {\n      \"name\": \"CC0-1.0\"\n    }\n  ]\n}\n'''\ntext_file = open(\"/tmp/RFCSAD_Wav_48k/dataset-metadata.json\", 'w+')\nn = text_file.write(data)\ntext_file.close()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"!kaggle datasets create -p \"/tmp/RFCSAD_Wav_48k/\" --dir-mode zip","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat":4,"nbformat_minor":4}