使用libreosa获得歌曲的节奏
#python #music

嘿!长时间没有在DEV上发布。我已经处理心理健康问题已经有一段时间了。在一个村庄黑客小组和我一起玩后,我被诊断出患有抑郁症和焦虑的双极混合(他们仍在奔跑,但目前正在监视中)。

无论如何,这是一篇快速的文章,可以检查如何使用librosa显示音频的节奏。您可以在Google Colab中检查ipython notebook

我正在使用我们的歌曲我们是怪物。如果您喜欢它,请检查一下。

您可以遵循安装过程in their documentation或遵循本文ð

安装和导入天秤座

python -m pip install librosa
import librosa

notebook中上传并加载音频文件作为y中的波形,并将示例速率存储为sr

audio_file = librosa.load('We Are Monsters.wav')
y, sr = audio_file

然后加载节奏跟踪器以获取轨道的估计节奏

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

然后,我们将节拍帧转换为时间安排,并获得曲目的估计节奏

beat_times = librosa.frames_to_time(beat_frames, sr=sr)
beat_times

输出:

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])

结论

您可以使用librosa做很多事情,例如功能逐出功能,显示音频的观点,为歌曲添加效果,检查歌曲的节奏和节奏等等。无论如何,我仍在学习这个图书馆,有关该图书馆的任何建议或挑战,可能会非常有帮助。 ð

在我的新Twitter上关注我!