ノック75 : 音データを可視化してみよう
音声データの波形を表示します。
以下のエラーが発生しました。
AttributeError: module 'librosa.display' has no attribute 'waveplot'
pip show librosaでlibrosaのバージョンを見ると、
Version: 0.9.1
本の使用バージョンはlibrosa0.8.1なので仕様が変更されているようです。
以下のURLに削除したと書かれています。
- #1416 Removed deprecated functions librosa.display.waveplot and librosa.util.example_audio_file. Brian McFee
新しいバージョンを使用する場合はwaveshowを使用するということなので、
記述を変更して再実行してみます。
実行結果
22050Hzデータの波形と比較します。青が元データ、オレンジが22050Hzのデータです。
実行結果
時間0.4から0.5にかけて波形のデータが一部失われていることがわかります。
次に携帯電話着信音のデータを見てみます。
まず音を聞くには以下を実行します。
が・・・、
「ドライバーは指定されたコマンド パラメーターを認識できません。」とエラーが
表示されました。
ワークアラウンド探すと、バージョンを1.3から1.2.2に落とせばよさそうです。
pip show plysound で確認すると、Version: 1.3.0 と表示されたので
pip install playsound==1.2.2 を実行しバージョンを下げて実行してみます。
実行すると、今度は
「UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8e in position 0: invalid start byte」
とメッセージが・・。
携帯電話着信音.mp3のファイル名をとりあえずtest.mp3という名前にコピーして
再実行すると、成功しました。
このデータを波形表示してみます。
5回着信音が鳴るのですが、そのうちの2回分のデータが表示されています。