IPython.display.AudioでJupyter Notebookに音声データを埋め込む

Google colaboratoryなどのNotebookに音声データを埋め込む方法に、IPython.display.Audioが便利です。以下公式ドキュメントを参考に、使用方法についてまとめていきます。

Module: display — IPython 8.20.0 documentation

基本的な使用方法

IPython.display.Audioは以下の方法で使用できます。

  1. numpy arrayやlistなどを入力する
  2. ファイル名を指定する
  3. URLを指定する

numpy arrayを入力する

以下では、1kHzの正弦波を作成して、IPython.display.Audioへ入力しています。実行すると、正弦波をNotebook上で再生することができます。

fs = 16000
t_sig = 3 # sec
f = 1000 # Hz

t = np.linspace(0,t_sig,t_sig*fs)
sig = np.sin(2*np.pi*f*t)

IPython.display.Audio(sig, rate=fs)

ファイル名を指定する

wavファイル等のパスを指定して再生することもできます。

file_path = './8k16bitpcm.wav'
IPython.display.Audio(file_path)

URLを指定する

URLを指定することもできます。

URL = "http://www.nch.com.au/acm/8k16bitpcm.wav"
IPython.display.Audio(URL)

その他使用方法

normalize

numpy arrayなどを入力した場合、デフォルトでは音量が正規化されるようになっています。複数のデータ間の音量差を比較したい際には以下のようにnormalize=Falseとする必要があります。

# 正規化されないようにする場合
IPython.display.Audio(sig, rate=fs, normalize=False)

autoplay

コードを実行したら自動的に再生を開始させたい場合は、autoplay=Trueと指定します。

# 自動的に再生を開始させる場合
IPython.display.Audio(sig, rate=fs, autoplay=True)

コメント

タイトルとURLをコピーしました