{"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_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import pandas as pd\nimport numpy as np\n\nimport librosa\nimport librosa.display\nimport IPython.display as ipd\n\nTRAIN_AUDIO_FOLDER = \"../input/birdclef-2022/train_audio/\"\nTEST_AUDIO_FOLDER = \"../input/birdclef-2022/test_soundscapes/\"\n\nTRAIN_PATH = \"../input/birdclef-2022/train_metadata.csv\"\nTEST_PATH = \"../input/birdclef-2022/test.csv\"\nSAMPLE_SUBMISSION_PATH = \"../input/birdclef-2022/sample_submission.csv\"\n\nTAXONOMY_PATH = \"../input/birdclef-2022/eBird_Taxonomy_v2021.csv\"\nSCORED_BIRDS_JSON = \"../input/birdclef-2022/scored_birds.json\"\n\nAUDID_SAMPLE_PATH = \"../input/birdclef-2022/train_audio/afrsil1/XC175522.ogg\"","metadata":{"_uuid":"d3fb9178-4359-407e-b39d-9913217e84f9","_cell_guid":"e3010940-0f86-40b0-898a-39b3b192de1e","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2022-02-20T03:04:53.126575Z","iopub.execute_input":"2022-02-20T03:04:53.127416Z","iopub.status.idle":"2022-02-20T03:04:53.133019Z","shell.execute_reply.started":"2022-02-20T03:04:53.127376Z","shell.execute_reply":"2022-02-20T03:04:53.132157Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train = pd.read_csv(TRAIN_PATH)\ntest = pd.read_csv(TEST_PATH)","metadata":{"execution":{"iopub.status.busy":"2022-02-20T03:04:53.134986Z","iopub.execute_input":"2022-02-20T03:04:53.135887Z","iopub.status.idle":"2022-02-20T03:04:53.219527Z","shell.execute_reply.started":"2022-02-20T03:04:53.135832Z","shell.execute_reply":"2022-02-20T03:04:53.218913Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train.head()","metadata":{"execution":{"iopub.status.busy":"2022-02-20T03:04:53.221405Z","iopub.execute_input":"2022-02-20T03:04:53.221766Z","iopub.status.idle":"2022-02-20T03:04:53.240948Z","shell.execute_reply.started":"2022-02-20T03:04:53.221724Z","shell.execute_reply":"2022-02-20T03:04:53.240131Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train.info()","metadata":{"execution":{"iopub.status.busy":"2022-02-20T03:04:53.242101Z","iopub.execute_input":"2022-02-20T03:04:53.242330Z","iopub.status.idle":"2022-02-20T03:04:53.274076Z","shell.execute_reply.started":"2022-02-20T03:04:53.242302Z","shell.execute_reply":"2022-02-20T03:04:53.273274Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train.describe().T","metadata":{"execution":{"iopub.status.busy":"2022-02-20T03:04:53.275916Z","iopub.execute_input":"2022-02-20T03:04:53.276343Z","iopub.status.idle":"2022-02-20T03:04:53.302361Z","shell.execute_reply.started":"2022-02-20T03:04:53.276310Z","shell.execute_reply":"2022-02-20T03:04:53.301757Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# play audio ","metadata":{}},{"cell_type":"code","source":"ipd.Audio(AUDID_SAMPLE_PATH)","metadata":{"execution":{"iopub.status.busy":"2022-02-20T03:04:53.303522Z","iopub.execute_input":"2022-02-20T03:04:53.304005Z","iopub.status.idle":"2022-02-20T03:04:53.348605Z","shell.execute_reply.started":"2022-02-20T03:04:53.303963Z","shell.execute_reply":"2022-02-20T03:04:53.347754Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# load audio","metadata":{}},{"cell_type":"code","source":"audio_data, sample_rate = librosa.load(AUDID_SAMPLE_PATH)\nprint(\"audio data shape = \",audio_data.shape)\nprint(\"sample_rate = \",sample_rate)\nprint(\"audio data size= \",len(audio_data.data))","metadata":{"execution":{"iopub.status.busy":"2022-02-20T03:04:53.349988Z","iopub.execute_input":"2022-02-20T03:04:53.350448Z","iopub.status.idle":"2022-02-20T03:04:54.818789Z","shell.execute_reply.started":"2022-02-20T03:04:53.350406Z","shell.execute_reply":"2022-02-20T03:04:54.817748Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# show raw audio data","metadata":{}},{"cell_type":"code","source":"import matplotlib.pylab as plt\nimport seaborn as sns\nimport plotly.express as px\n\ndef show_raw_audio_data(filePath):\n    y, sr = librosa.load(filePath)\n    ax = pd.DataFrame(y).plot(figsize=(12, 5), title=filePath, lw=0.1)\n    plt.legend().remove()\n    plt.show()\n\nshow_raw_audio_data(AUDID_SAMPLE_PATH)","metadata":{"execution":{"iopub.status.busy":"2022-02-20T03:04:54.820091Z","iopub.execute_input":"2022-02-20T03:04:54.820306Z","iopub.status.idle":"2022-02-20T03:04:56.644421Z","shell.execute_reply.started":"2022-02-20T03:04:54.820280Z","shell.execute_reply":"2022-02-20T03:04:56.643555Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# show mel spectrogram ","metadata":{}},{"cell_type":"code","source":"def show_audio_melspec(filePath):\n    y, sr = librosa.load(filePath)\n    S = librosa.feature.melspectrogram(y=y, sr=sr, n_mels=80, fmax=8000)\n\n    fig, ax = plt.subplots(figsize=(12, 5))\n    S_dB = librosa.power_to_db(S, ref=np.max)\n    img = librosa.display.specshow(\n        S_dB, x_axis=\"time\", y_axis=\"mel\", sr=sr, fmax=8000, ax=ax\n    )\n    fig.colorbar(img, ax=ax, format=\"%+2.0f dB\")\n    ax.set(title=filePath)\n    plt.show()\n    \nshow_audio_melspec(AUDID_SAMPLE_PATH)","metadata":{"execution":{"iopub.status.busy":"2022-02-20T03:04:56.645974Z","iopub.execute_input":"2022-02-20T03:04:56.646752Z","iopub.status.idle":"2022-02-20T03:04:58.733709Z","shell.execute_reply.started":"2022-02-20T03:04:56.646706Z","shell.execute_reply":"2022-02-20T03:04:58.732757Z"},"trusted":true},"execution_count":null,"outputs":[]}]}