bpm-tools是一款輕巧的用來計算音樂速度(tempo)的指令工具集,且開放原始碼,運行在Linux作業系統上。在某些時候我們會需要知道某個音樂的速度來進行演奏或是採譜,這時候就可以利用這些工具來計算出音樂的行進速度,甚至還可以畫出圖表。



安裝bpm-tools

Debian或是Debian衍生的Linux發行版可以執行以下指令來安裝bpm-tools

sudo apt install bpm-tools

其它Linux發行版可以到bpm-tools的官方網頁下載原始碼來編譯使用。

使用bpm-tools

bpm-tools提供了三種工具,分別是bpmbpm-tag以及bpm-graph

bpm

bpm指令工具可以從標準輸入PCM聲音訊號,並從標準輸出回傳這個聲音訊號的平均速度,單位是bpm(beats per minute)。建議搭配專門用來進行音訊格式轉換的sox指令來使用bpm指令,指令格式如下:

sox /path/to/audio-file -V1 -r 44100 -e float -c 1 -t raw - | bpm

sox指令的-V參數可以設定要顯示的訊息等級;-r參數可以設定輸出的音訊取樣頻率;-e參數可以設定輸出的音訊編碼方式;-c參數可以設定輸出的音訊頻道數量;-t參數可以輸出的音訊檔案格式,raw就是PCM格式。

bpm-tools

如上圖,可以知道01_李聖傑-痴心絕對.mp3這個音樂檔案的平均速度為107.378 bpm。

bpm-tag

bpm-tag指令工具支援.flac.mp3.ogg.m4a音樂檔案格式,可以讀取傳入的音樂檔案的BPM標籤,或者是去計算某個音樂檔案的速度,並將速度值寫入至音樂檔案的標籤中。

bpm-tag指令的用法如下:

bpm-tag /path/to/audio-file

bpm-tag指令的-n參數可以讓BPM不被寫進音樂檔案的標籤當中;-f參數可以忽略音樂檔案標籤內帶的BPM數值,強制計算音樂檔案的速度。

bpm-tools

bpm-graph

bpm-graph指令工具可以用來繪畫速度的圖表,用不太到,不多做介紹。

bpm-tools