Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save justinsalamon/9ab86ef1c355ade1896bb91e69a2bca3 to your computer and use it in GitHub Desktop.
Save justinsalamon/9ab86ef1c355ade1896bb91e69a2bca3 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import librosa\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# load audio\n",
"audio, sr = librosa.load('/Users/justin/datasets/melody/mirex05/audio/train03.wav')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"22050"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Check the sampling rate\n",
"sr"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Compute beat positions (returned as frame indices)\n",
"tempo, beats = librosa.beat.beat_track(y=audio, sr=sr)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"161.4990234375"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# tempo is in BMP\n",
"tempo"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 14, 30, 45, 61, 77, 93, 109, 125, 141, 156, 171,\n",
" 187, 202, 218, 234, 250, 266, 282, 298, 314, 330, 346,\n",
" 362, 377, 392, 408, 424, 440, 454, 470, 486, 502, 518,\n",
" 534, 550, 566, 582, 597, 613, 629, 645, 660, 676, 691,\n",
" 707, 723, 739, 754, 770, 786, 802, 818, 834, 850, 865,\n",
" 881, 897, 912, 927, 944, 960, 976, 992, 1007, 1022, 1038,\n",
" 1054, 1069, 1084, 1100, 1115, 1131, 1147])"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Beats returned as \"frame numbers of estimated beat events\"\n",
"beats"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.32507937 0.69659864 1.04489796 1.41641723 1.78793651\n",
" 2.15945578 2.53097506 2.90249433 3.27401361 3.62231293\n",
" 3.97061224 4.34213152 4.69043084 5.06195011 5.43346939\n",
" 5.80498866 6.17650794 6.54802721 6.91954649 7.29106576\n",
" 7.66258503 8.03410431 8.40562358 8.7539229 9.10222222\n",
" 9.4737415 9.84526077 10.21678005 10.54185941 10.91337868\n",
" 11.28489796 11.65641723 12.02793651 12.39945578 12.77097506\n",
" 13.14249433 13.51401361 13.86231293 14.2338322 14.60535147\n",
" 14.97687075 15.32517007 15.69668934 16.04498866 16.41650794\n",
" 16.78802721 17.15954649 17.5078458 17.87936508 18.25088435\n",
" 18.62240363 18.9939229 19.36544218 19.73696145 20.08526077\n",
" 20.45678005 20.82829932 21.17659864 21.52489796 21.91963719\n",
" 22.29115646 22.66267574 23.03419501 23.38249433 23.73079365\n",
" 24.10231293 24.4738322 24.82213152 25.17043084 25.54195011\n",
" 25.89024943 26.26176871 26.63328798]\n"
]
}
],
"source": [
"# The default hop length used by \"beat_track\" is 512. We can use this and the value of sr\n",
"# (22050) to calculate the beat times in seconds.\n",
"beat_times = librosa.frames_to_time(beats, sr=sr, hop_length=512)\n",
"print(beat_times)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# However, librosa uses a sample axis for waveplot, so we need the beat positions in samples:\n",
"beat_samples = librosa.frames_to_samples(beats, hop_length=512)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 7168, 15360, 23040, 31232, 39424, 47616, 55808, 64000,\n",
" 72192, 79872, 87552, 95744, 103424, 111616, 119808, 128000,\n",
" 136192, 144384, 152576, 160768, 168960, 177152, 185344, 193024,\n",
" 200704, 208896, 217088, 225280, 232448, 240640, 248832, 257024,\n",
" 265216, 273408, 281600, 289792, 297984, 305664, 313856, 322048,\n",
" 330240, 337920, 346112, 353792, 361984, 370176, 378368, 386048,\n",
" 394240, 402432, 410624, 418816, 427008, 435200, 442880, 451072,\n",
" 459264, 466944, 474624, 483328, 491520, 499712, 507904, 515584,\n",
" 523264, 531456, 539648, 547328, 555008, 563200, 570880, 579072,\n",
" 587264])"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Now the beat values are in samples\n",
"beat_samples"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nGJW4V7Rh8rR8O6C3C9AVVvnz0kv1nz+JsJohCxcCXbtmF0uRMRmpYqpK19vOveKKskJnuV9+Ufsh\n3bix//1ChDdVT/jWuR07Nt35w74Mnnwq3bGj8JvCu+GG6Y+rqqLk1VdXXioCiNatMGBA+ucrS0mW\nN4grj91g5d00XlOnAvN9VujV2ZVie4tbUkxGNHjpJefW9iZ1U4PGsmbD/9Mt5hQ0IHf4cOdfJW3a\npItDdbXcuPyeC9vWybjzzsrbzJrl3Hbq7AxgltJ/KvbWW6uNLe+CEp4kK+OqFtQymWSKfaW1mNJI\nUqHa9sHUAJMR5ebPB6651vnZ5AvA9mmFWfn9dzuSkSuurLzNoYdW3iZOaWr3C9MmSdbzidIytcDn\n6jQrzzwDHHRQvPWNvvsu+rZZfVGnuZovb/GK+9r717+Sn1uV447zv9/2i8oott125QHqNnwuejEZ\nUcw7Unz99c3FoXJ9lyuuAM46K3ybo49Wdz6V1l47fLXRLEVp/o/jo4/CH/d7DbgF4ExJ8gEY9CXh\n1bBh/OOG8ataGWTp0vhlzB99NPq2Bx4U79hJjRiRfN+NNqr9+/HHp4vFhLCENm4dFBuXDlG9BpZq\nTEYU814RJFkJdupUNYW+Jk+uvE3U81xzDXDXXeHbPJXBeIOkftZ8ZTkl4srFUZr/K/EOMt1tt/Bt\nH3mk9u+//aanYF9alRKUKM+f6lbIjh2jb3v33fEX47NlDRZW/qwRloxMDWhpDqqxlJdS/zYtSspk\nRDHvm7t8/Y0oeh2s5oUcpUZGnBkIVNlOOwF77aX3HEEfin7KS6yvvz7w7bdq44nL70tbRcvVJ5+k\nP0YcKmZ52SBJt1lRhVbVDUjagmYk6lxrSaWrrjIdQY2c/Mnyo0mTmp8vvMjc9D5blrCOI+yD8ayz\nzM1MiFoFdslSvaXxs7Jokb5m5tGj9RyXknHrgySZaebltyR969b5nD3jJ6g2jQ0Db9O0bg0YoC6O\ntJiMKFZe/GfPPc3EMXBg9udMu75E2Bovd93lX4o+C5tuaua8puy8i9p6G173pFiQMCoTTc9pFjU0\n6eGHndsZKZd08GuJ/f776OX1bRc0/u+bb7KNw8tdRTpOVWmbMRlRLKy6Y5YmRRgzolp5Vde//or3\nIa2z1Hk1s33gmipun/955zm3YWOisuyeeO+97M4V1/TStOq4V9fVNtYkqBLw009nG4fXoGed2++/\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x111d73a90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Now we can plot the beats aginst the waveform, BUT:\n",
"# By default this method will downsample the audio signal (to make the plot efficient),\n",
"# And this will result in a misalignment with the beat samples. The simplest solution is\n",
"# to prevent this by setting max_points=len(audio)):\n",
"librosa.display.waveplot(audio, max_points=len(audio))\n",
"plt.vlines(beat_samples, -1, 1, 'r');"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x112630b50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# However, that plot took a long time to generate. The better but\n",
"# slightly tricker option is to downsample both the audio signal\n",
"# and the beat positions. The default max_sr used by waveplot is 1000:\n",
"beats_downsamples = beat_samples * (1000 / float(sr))\n",
"librosa.display.waveplot(audio)\n",
"plt.vlines(beats_downsamples, -1, 1, 'r');"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x111ee4590>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11223be90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Finally, you can always just plot the wave signal yourself without librosa:\n",
"# Compute the timestamp of each sample\n",
"timestamps = np.arange(len(audio)) / float(sr)\n",
"plt.plot(timestamps, audio)\n",
"# Now we can overlay the beats using their times:\n",
"plt.vlines(beat_times, -1, 1, 'r')\n",
"plt.xlabel('time (s)')"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [conda env:py27]",
"language": "python",
"name": "conda-env-py27-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.12"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
@kallolbiswas
Copy link

kallolbiswas commented Jan 1, 2018

Please check the simple audio file, librosa fails to track beats perhaps.

beat_tracking_doesnot_work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment