デジタル信号処理の基礎

このページで使うサンプルファイルは以下の通りです。右上に表示されるアイコンをクリックするとGoogle Driveを開くことができます。

ここでは,デジタル信号処理の基本的な概念である「サンプリング周波数」「エイリアシング」「ナイキスト周波数」についてPraatを使いながら確認したのち,ダウンサンプリングの方法を見ていきます。(これらの概念の説明は授業で行うため,このページでは詳しく説明しません。)

(1)サンプリング周波数の確認

まず,Soundオブジェクトをなにか一つ,オブジェクトリストに追加しましょう。ここでは例として,以前にも使った shinbunshi.wav を使ってみます。

このSoundオブジェクトのサンプリング周波数を確認する方法は二つあります。一つは,Soundオブジェクトを選択した状態で下側のボタンの中からInfoを押すという方法。以下のようなウィンドウが立ち上がるはずです。

このウィンドウの中央あたり,Time sampling:の3行下にSampling frequency: 44100 Hzと書いてあります。これがサンプリング周波数です。確認が終わったら,右上の×印を押して閉じましょう。

もう一つの方法は,右側のボタンを利用するものです。Soundオブジェクトを選択した状態で,Queryを押し,Query time sampling -> Get sampling frequencyを押してください。以下のようなウィンドウが現れるはずです。

ここでもやはり,44100 Hzと書いてあります。確認したら,やはり×印を押してこのウィンドウは閉じてしまいましょう。

上級者のための補足

このようにQueryから値を得るというのは,スクリプトを書くときによく用いる方法です。

(2)Praat上で録音するときのサンプリング周波数

Praat上で録音をするときにはサンプリング周波数を選ぶことが出来ます。SoundRecorderを開いてみましょう(SoundRecorderの利用方法は「インストールと基本操作」の(9)を参考にしてください)。

右側のSampling frequency:というところでサンプリング周波数を選択できます。

(3)ナイキスト周波数とエイリアシング

ナイキスト周波数とエイリアシングに関する説明は授業の中で行います。ここではまず,それに関するデモとして,以下のYouTubeの動画を見てみましょう。(ヘリコプターと音声学に何の関係があるのかと思うかもしれません。しかし,関係があるのです。)

この動画の中で,ヘリコプターのプロペラはほとんど回転していないように見えます。しかし,ヘリコプターはちゃんと飛んでいます。なぜでしょう?

これはエイリアシングの一種なのです。(詳しい答えはここには書きません。自分で考えてみてください。)

さて,音のデジタル信号処理の話に戻りましょう。サンプリング周波数が44100 Hzのとき,ナイキスト周波数はその半分,22050 Hzです。それを超えるとエイリアシングが生じてしまうため,これを防ぐためにAD変換に先立ちアンチエイリアシングフィルタがかけられるのが普通です。ただし,このフィルタをかけるプロセスはデジタル録音する際に自動的になされるのが普通なので,ふだんは特に意識する必要はありません。重要なのは,あるサンプリング周波数で録音した場合,捉えられる周波数成分はサンプリング周波数の半分までだということです。

ためしにSoundオブジェクトに対してEditを押し,SoundEditorを開いてみてください。そして,スペクトログラムの周波数の設定を変更してみましょう。スペクトログラムの設定を変更するには,SoundEditorの上部メニューSpectrum -> Spectrogram settings...を選択します。View rangeの上限を44100にしてみましょう。どうなるでしょうか?

このように表示されるはずです。ここで注目してほしいのは,スペクトログラムの上半分には何も表示されていないという点です。

(4)ダウンサンプリング

サンプリング周波数を下げることをダウンサンプリングといいます。Praatでは,Soundオブジェクトを選択した状態で右側のボタンからConvertを押し,Resample...を選択することで出来ます。Resample...を選択すると,以下のウィンドウが現れます。

ここで重要なのは,New sampling frequencyというところです。ここに数値を入れれば,その数値をサンプリング周波数とした音声に変換がなされます。たとえば,22050としてみましょう。新たにSoundオブジェクトが出来たはずです。このオブジェクトを右側のPlayボタンで聞いてみたり,Editでスペクトログラムを見たりしてみてください。

同様にして,もとのSoundオブジェクトから,サンプリング周波数 8000 Hzの音声もつくってみましょう。そして,同様に聞いたりスペクトログラムを見たりしてみてください。