しゃべる何か / .wavファイルを2ビットDPCM化する

pp.410-413
テキストには、.wavファイルを2ビットDPCM化するためのPython2スクリプトが掲載してある。そのままだとPython3では動かない。ここではLabVIEWで作ってみる。テキストと同じく、複数の.wavファイルからヘッダーファイルを生成するところまで一気に実行する。

手順は下のとおりである。

  1. サンプリング周波数8kHz、モノラルの.wavファイルを用意する。電話程度の音質である。
  2. その.wavファイルから個々のサンプルを取り出し、-3276832767signed intで表現されていた各サンプルを-1.01.0floatに正規化して排列に収める。
  3. その排列の隣接要素同士の差を求める。
  4. 差が-0.05以下であったら0を割り当てる。
    差が-0.05超、0以下であったら1を割り当てる。
    差が0超、0.05以下であったら2を割り当てる。
    差が0.05超であったら3を割り当てる。
    これで、元々16ビットで表現されていた一個一個のサンプルが0b000b11の2ビットDPCM値で表現されたことになる。しきい値は、えいやで決める。
  5. 求まった2ビット値を4つずつ順番にMSBから並べて1個の8ビット値にする。
  6. 以上の手順を.wavファイルの数だけ繰り返す。
  7. 最後にヘッダーファイルとして書き出す。

https://github.com/ti-nspire/vi/tree/master/wave2DPCM
f:id:ti-nspire:20200227134543p:plain
テキストは、ADCに入力された電圧値を音声で鳴らすところまで進めているが、Chapter 18: Using Flash Program Memoryはここまでにする。