音声ファイルについて







Wavファイル形式

線形PCM方式では、音声データはサンプリング周波数(sampling frequency)の逆数の時間間隔でサンプリングされ、所定の量子化ビット数で波形の感覚が線形に(等間隔に)量子化される。




scipy.io.wavfileを利用した音声ファイルの読み込み

Pythonでwav形式の音声ファイルを読み込むために、SciPyを利用する。NymPyを基盤とするライブラリである。




音声データの可視化

Librosa.display.waveshow関数を用いる。音声の振幅が時間に伴ってどのように変化しているのか読み取れる。

import librosa.display
import matplotlib.pyplot as plt

# 音声ファイルの読み込み
sr, x = wavfile.read(ttslearn.util.example_audio_file())

fig, ax = plt.subplots(figsize=(8,2))
librosa.display.waveshow(x.astype(np.float32))

ax.set_xlabel("時間 [秒]")
ax.set_ylabel("振幅")




音声のフーリエ変換

周波数に関する情報は、音声波形を眺めるだけで映えることができない。それを解決するのがフーリエ変換(Fourier transfotm)。フーリエ変換のうち、離散時間信号に対するフーリエ変換を離散フーリエ変換(discrete Fourier transfotm)と呼ぶ。
時間軸ではなく、週ハスという別の軸から音声を見ることが可能となる。


高速フーリエ変換

高速フーリエ変換(fasr Fourier transfotm : FFT)とは、フーリエ変換の計算量を削減するために提案された。


短時間フーリエ変換

時間的に周波数成分が変化する特徴を捉えるための分析手段として、短時間フーリエ変換(short-time Fourier transfotm : STFT)が用いられる。
全体に対してフーリエ変換を行うのではなく。短い区間を切り出しながらフーリエ変換を繰り返し行うことで、時間的に変化する周波数成分を捉える。


逆短時間フーリエ変換による復元

逆短時間フーリエ変換(inverse short-time Fourier transfotm : ISTFT)と呼ばれる逆変換が存在する。
ここではlibrosa.stft を用いる。




メルスペクトログラム


その計算





Last-modified: 2023-12-18 (月) 19:55:17