サウンド波のバイトを整数に変換する

Pythonで学ぶ音声言語処理

Daniel Bourke

Machine Learning Engineer/YouTube Creator

バイトを整数に変換

  • バイトはそのまま使えない
  • numpyでバイトを整数に変換
import numpy as np

# soundwave_gm をバイトから整数へ変換 signal_gm = np.frombuffer(soundwave_gm, dtype='int16')
# 先頭10件を表示 signal_gm[:10]
array([ -3,  -5,  -8,  -8,  -9, -13,  -8, -10,  -9, -11], dtype=int16)
Pythonで学ぶ音声言語処理

フレームレートを求める

  • 周波数(Hz) = 波形配列の長さ / 音声の長さ(秒)
# フレームレートを取得
framerate_gm = good_morning.getframerate()

# フレームレートを表示 framerate_gm
48,000
  • 音声の長さ(秒) = 波形配列の長さ / 周波数(Hz)
Pythonで学ぶ音声言語処理

サウンド波のタイムスタンプを求める

# start から stop まで等間隔の値を返す
np.linspace(start=1, stop=10, num=10)
array([ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])
# 「おはよう」サウンド波のタイムスタンプを取得
time_gm = np.linspace(start=0, 
                      stop=len(soundwave_gm)/framerate_gm,
                      num=len(soundwave_gm))
Pythonで学ぶ音声言語処理

サウンド波のタイムスタンプを求める

# 「おはよう」サウンド波の先頭10件のタイムスタンプを表示
time_gm[:10]
array([0.00000000e+00, 2.08334167e-05, 4.16668333e-05, 6.25002500e-05,
       8.33336667e-05, 1.04167083e-04, 1.25000500e-04, 1.45833917e-04,
       1.66667333e-04, 1.87500750e-04])
Pythonで学ぶ音声言語処理

演習に進みましょう

Pythonで学ぶ音声言語処理

Preparing Video For Download...