An Interest In:
Web News this Week
- February 29, 2024
- February 28, 2024
- February 27, 2024
- February 26, 2024
- February 25, 2024
- February 24, 2024
- February 23, 2024
Getting the tempo of a song using librosa
Hey! Long time no post here on DEV. I've been dealing with my mental health issue for a while. I was diagnosed with Bipolar-mixed with Depression and Anxiety a while back after a village hacking group played with me(they're still on the run but are currently under surveillance).
Anyway, here's a quick post to check on how to display the tempo of an audio using librosa
. You can check the ipython notebook in google colab if you wish to.
I'm using our song We are Monsters. Check it out if you like it.
You can follow the installation process in their documentation or follow this article
Install and import librosa
python -m pip install librosaimport librosa
Upload and load the audio file in the notebook as a waveform in y
and store the sample rate as sr
audio_file = librosa.load('We Are Monsters.wav')y, sr = audio_file
Then load the tempo tracker to get the estimated tempo of the track
tempo, beat_frames = librosa.beat.beat_track(y=y, sr=sr)print('Estimated tempo: {:.2f} beats per minute'.format(tempo))
Estimated tempo: 161.50 beats per minute
We then convert the beat frames into timings and get the estimated tempo of the track
beat_times = librosa.frames_to_time(beat_frames, sr=sr)beat_times
Output:
array([ 1.39319728, 1.76471655, 2.15945578, 2.5077551 ,
2.85605442, 3.27401361, 3.66875283, 4.04027211,
4.41179138, 4.78331066, 5.15482993, 5.50312925,
5.87464853, 6.2461678 , 6.59446712, 6.96598639,
7.31428571, 7.68580499, 8.05732426, 8.42884354,
8.80036281, 9.17188209, 9.54340136, 9.91492063,
10.26321995, 10.61151927, 10.98303855, 11.33133787,
11.70285714, 12.07437642, 12.42267574, 12.77097506,
13.14249433, 13.4675737 , 13.81587302, 14.16417234,
14.51247166, 14.86077098, 15.20907029, 15.55736961,
15.92888889, 16.32362812, 16.69514739, 17.06666667,
17.4614059 , 17.83292517, 18.20444444, 18.57596372,
18.94748299, 19.31900227, 19.69052154, 20.06204082,
20.43356009, 20.82829932, 21.22303855, 21.59455782,
21.9660771 , 22.33759637, 22.70911565, 23.05741497,
23.40571429, 23.77723356, 24.14875283, 24.49705215,
24.86857143, 25.21687075, 25.56517007, 25.91346939,
26.28498866, 26.63328798, 26.9815873 , 27.32988662,
27.67818594, 28.02648526, 28.37478458, 28.7230839 ,
29.11782313, 29.4893424 , 29.86086168, 30.23238095,
30.60390023, 30.9754195 , 31.34693878, 31.71845805,
32.08997732, 32.4614966 , 32.83301587, 33.18131519,
33.55283447, 33.9475737 , 34.31909297, 34.69061224,
35.06213152, 35.45687075, 35.82839002, 36.1999093 ,
36.59464853, 36.9661678 , 37.33768707, 37.7324263 ,
38.10394558, 38.47546485, 38.87020408, 39.2185034 ,
39.59002268, 39.96154195, 40.30984127, 40.65814059,
41.00643991, 41.35473923, 41.70303855, 42.05133787,
42.39963719, 42.74793651, 43.09623583, 43.44453515,
43.79283447, 44.14113379, 44.48943311, 44.83773243,
45.18603175, 45.53433107, 45.85941043, 46.20770975,
46.55600907, 46.90430839, 47.25260771, 47.60090703,
47.94920635, 48.29750567, 48.64580499, 48.99410431,
49.34240363, 49.69070295, 50.03900227, 50.38730159,
50.73560091, 51.08390023, 51.4554195 , 51.80371882,
52.15201814, 52.50031746, 52.84861678, 53.1969161 ,
53.54521542, 53.91673469, 54.26503401, 54.63655329,
55.03129252, 55.40281179, 55.79755102, 56.16907029,
56.54058957, 56.9353288 , 57.28362812, 57.65514739,
58.02666667, 58.39818594, 58.76970522, 59.14122449,
59.53596372, 59.93070295, 60.30222222, 60.6737415 ,
61.04526077, 61.41678005, 61.76507937, 62.11337868,
62.48489796, 62.85641723, 63.22793651, 63.62267574,
63.99419501, 64.36571429, 64.73723356, 65.08553288,
65.45705215, 65.82857143, 66.2000907 , 66.57160998,
66.94312925, 67.31464853, 67.66294785, 68.03446712,
68.40598639, 68.77750567, 69.12580499, 69.49732426,
69.86884354, 70.26358277, 70.63510204, 71.00662132,
71.37814059, 71.74965986, 72.09795918, 72.4462585 ,
72.79455782, 73.14285714, 73.49115646, 73.86267574,
74.21097506, 74.55927438, 74.9075737 , 75.25587302,
75.60417234, 75.95247166, 76.30077098, 76.64907029,
76.99736961, 77.34566893, 77.69396825, 78.04226757,
78.39056689, 78.73886621, 79.08716553, 79.43546485,
79.76054422, 80.10884354, 80.45714286, 80.80544218,
81.1537415 , 81.50204082, 81.85034014, 82.19863946,
82.54693878, 82.8952381 , 83.24353741, 83.59183673,
83.94013605, 84.28843537, 84.63673469, 84.98503401,
85.33333333, 85.68163265, 86.02993197, 86.37823129,
86.72653061, 87.12126984, 87.49278912, 87.86430839,
88.23582766, 88.60734694, 88.95564626, 89.30394558,
89.6522449 , 90.00054422, 90.34884354, 90.72036281,
91.06866213, 91.41696145, 91.83492063, 92.25287982,
92.64761905, 93.01913832, 93.3906576 , 93.76217687,
94.13369615, 94.50521542, 94.87673469, 95.24825397,
95.61977324, 95.99129252, 96.38603175, 96.75755102,
97.12907029, 97.50058957, 97.87210884, 98.24362812,
98.63836735, 99.00988662, 99.3814059 , 99.77614512,
100.1476644 , 100.51918367, 100.86748299, 101.23900227,
101.61052154, 102.00526077, 102.37678005, 102.74829932,
103.11981859, 103.46811791, 103.83963719, 104.21115646,
104.58267574, 104.95419501, 105.32571429, 105.69723356,
106.06875283, 106.46349206, 106.83501134, 107.20653061,
107.57804989, 107.92634921, 108.29786848, 108.66938776,
109.06412698, 109.43564626, 109.80716553, 110.17868481,
110.55020408, 110.92172336, 111.29324263, 111.68798186,
112.08272109, 112.45424036, 112.82575964, 113.19727891,
113.56879819, 113.96353741, 114.33505669, 114.70657596,
115.10131519, 115.47283447, 115.84435374, 116.21587302,
116.61061224, 116.98213152, 117.35365079, 117.74839002,
118.1199093 , 118.49142857, 118.86294785, 119.23446712,
119.60598639, 119.97750567, 120.34902494, 120.74376417,
121.11528345, 121.48680272, 121.88154195, 122.27628118,
122.64780045, 122.99609977, 123.36761905, 123.73913832,
124.13387755, 124.50539683, 124.8769161 , 125.22521542,
125.59673469, 125.96825397, 126.33977324, 126.73451247,
127.10603175, 127.50077098, 127.87229025, 128.26702948,
128.63854875, 129.01006803, 129.35836735, 129.75310658,
130.1478458 , 130.51936508, 130.8676644 , 131.23918367,
131.58748299, 131.95900227, 132.33052154, 132.67882086,
133.07356009, 133.46829932, 133.81659864, 134.21133787,
134.6060771 , 134.97759637, 135.34911565, 135.74385488,
136.1385941 , 136.51011338, 136.88163265, 137.25315193,
137.6246712 , 137.99619048, 138.3444898 , 138.71600907,
139.1107483 , 139.50548753, 139.85378685, 140.22530612,
140.57360544, 140.94512472, 141.33986395, 141.71138322,
142.08290249, 142.47764172, 142.82594104, 143.19746032,
143.56897959, 143.94049887, 144.31201814, 144.72997732,
145.1014966 , 145.49623583, 145.91419501, 146.3321542 ,
146.70367347, 147.0984127 , 147.46993197, 147.84145125,
148.21297052, 148.5844898 , 148.97922902, 149.37396825,
149.74548753, 150.14022676, 150.51174603, 150.88326531,
151.25478458, 151.62630385, 151.99782313, 152.3693424 ,
152.74086168, 153.11238095, 153.46068027, 153.83219955,
154.22693878, 154.5752381 , 154.92353741, 155.27183673,
155.64335601, 155.99165533, 156.3631746 , 156.71147392,
157.0829932 , 157.47773243, 157.87247166, 158.26721088,
158.6155102 , 159.01024943, 159.35854875, 159.73006803,
160.1015873 , 160.44988662, 160.84462585, 161.21614512,
161.5876644 , 161.98240363, 162.3539229 , 162.70222222,
163.0737415 , 163.42204082, 163.79356009, 164.16507937,
164.53659864, 164.90811791, 165.25641723, 165.62793651,
165.99945578, 166.3477551 , 166.69605442, 167.04435374,
167.41587302, 167.81061224, 168.18213152, 168.53043084,
168.90195011, 169.27346939, 169.62176871, 169.94684807,
170.29514739, 170.64344671, 170.99174603, 171.36326531,
171.73478458, 172.12952381, 172.50104308, 172.87256236,
173.26730159, 173.63882086, 174.03356009, 174.40507937,
174.79981859, 175.19455782, 175.5660771 , 175.96081633,
176.3323356 , 176.70385488, 177.07537415, 177.49333333,
177.84163265, 178.21315193, 178.60789116, 179.00263039,
179.39736961, 179.76888889, 180.14040816, 180.51192744,
180.88344671, 181.25496599, 181.62648526, 181.99800454,
182.36952381, 182.74104308, 183.13578231, 183.50730159,
183.90204082, 184.27356009, 184.64507937, 185.03981859,
185.41133787, 185.8060771 , 186.17759637, 186.52589569,
186.87419501, 187.22249433, 187.59401361, 187.98875283,
188.36027211, 188.75501134, 189.14975057, 189.5444898 ,
189.93922902, 190.33396825, 190.72870748, 191.10022676,
191.49496599, 191.88970522, 192.28444444, 192.67918367,
193.09714286, 193.44544218, 193.84018141, 194.23492063,
194.62965986, 195.02439909, 195.41913832, 195.7906576 ,
196.18539683, 196.58013605, 196.97487528, 197.36961451,
197.76435374, 198.13587302, 198.50739229, 198.90213152,
199.25043084, 199.62195011, 199.99346939, 200.36498866,
200.73650794, 201.13124717, 201.50276644, 201.87428571,
202.24580499, 202.59410431, 202.96562358, 203.33714286,
203.73188209, 204.08018141, 204.42848073, 204.8 ,
205.17151927, 205.51981859, 205.93777778, 206.30929705,
206.68081633, 207.0523356 , 207.44707483, 207.8185941 ,
208.19011338, 208.56163265, 208.90993197, 209.28145125,
209.65297052, 210.0244898 , 210.39600907, 210.7907483 ,
211.16226757, 211.53378685, 211.88208617, 212.25360544,
212.62512472, 213.01986395, 213.41460317, 213.76290249,
214.15764172, 214.50594104, 214.87746032, 215.24897959,
215.64371882, 216.03845805, 216.40997732, 216.7814966 ,
217.15301587, 217.5477551 , 217.91927438, 218.29079365,
218.66231293, 219.0338322 , 219.38213152, 219.75365079,
220.12517007, 220.47346939, 220.84498866, 221.19328798,
221.56480726, 221.93632653, 222.3078458 , 222.65614512,
223.05088435, 223.42240363, 223.7939229 , 224.16544218,
224.53696145, 224.90848073, 225.28 , 225.62829932,
225.97659864, 226.34811791, 226.69641723, 227.04471655,
227.41623583, 227.76453515, 228.15927438, 228.55401361,
228.94875283, 229.34349206, 229.71501134, 230.08653061,
230.43482993, 230.80634921, 231.17786848, 231.5261678 ,
231.89768707, 232.26920635, 232.61750567, 232.98902494,
233.36054422, 233.73206349, 234.10358277, 234.47510204,
234.82340136, 235.19492063, 235.56643991, 235.93795918,
236.33269841, 236.70421769, 237.07573696, 237.44725624,
237.79555556, 238.16707483, 238.5385941 , 238.91011338,
239.28163265, 239.65315193, 240.00145125])
Conclusion
There's a lot you can do with librosa
like Feature Exraction, displaying an audio's spectogram, add effects to songs, check the beat and tempo of a song, and many more. Anyway, I'm still learning this library, any advice or challenge on anything about this library can be very helpful.
Follow me on my new Twitter for more!
Original Link: https://dev.to/highcenburg/getting-the-tempo-of-a-song-using-librosa-4e5b
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To