Pythonは音声処理にも利用されることがあります。本記事では、Pythonを使用して音声ファイルのスペクトログラムを表示する方法を解説します。

必要なモジュールのインストール

Pythonで音声処理を行うには、いくつかのライブラリが必要になります。本記事では、以下のライブラリを使用します。まだインストールされていない場合は、以下のコマンドを実行してください。

!pip install scipy
!pip install numpy
!pip install matplotlib
!pip install soundfile
!pip install librosa

スペクトログラムの表示方法

以下のコードは、Pythonで音声ファイルを読み込み、スペクトログラムを表示する方法を示しています。

import soundfile as sf
import numpy as np
import matplotlib.pyplot as plt
import librosa.display

# 音声ファイルの読み込み
filename = 'sample.wav'
data, sr = sf.read(filename)

# スペクトログラムの計算
spec = np.abs(librosa.stft(data))
spec_db = librosa.amplitude_to_db(spec, ref=np.max)

# スペクトログラムの表示
plt.figure(figsize=(10, 4))
librosa.display.specshow(spec_db, x_axis='time', y_axis='log', sr=sr)
plt.colorbar(format='%+2.0f dB')
plt.title('Spectrogram')
plt.show()

このコードでは、まずsoundfileを使用して音声ファイルを読み込み、librosaを使用してスペクトログラムを計算します。最後にmatplotlibを使用してスペクトログラムを表示します。

おわりに

以上で、Pythonを使用して音声ファイルのスペクトログラムを表示する方法を解説しました。本記事を参考に、自分の音声処理プログラムに取り入れてみてください。