パソコンをオーディオ用計測器にしよう! ( 情報科学演習課題 情報科学演習課題田村研究室 ) オーディオ用の信号発生器と周波数分析器 ( スペクトラム アナライザ ) は, 従来はプロでなければ持っていないような, 高級な計測器だった それが, パソコンとソフトを使うことで, とても安く, 性能も高いものが使えるようになった 演習では, パソコン上で動くフリーソフトとサウンドカードを使って, いろいろな信号を発生させ, その周波数スペクトルを計算してみる ついでに, 信号処理でよく使う, 専門用語についても覚えたい また, 2 年生の後期以降に学ぶ 線形システム入門 や 信号処理, 画像処理 に出てくる フーリエ変換 の応用を身近に感じてもらうことも, この演習の目的だ 細かい手順などは, 資料に記載しないので, 自分でいろいろ設定をいじったり, 質問したりして, 演習を進めて欲しい 1)WaveGene と WaveSpectra WaveGene と WaveSpectra はオーディオ帯域で動作する信号発生と周波数分析のためのソフトだ このソフトはフリーソフトウェアとして無償で提供されている (http://www.ne.jp/asahi/fa/efu/index.html) 2) 課題 課題 1.1 基本課題 WaveGene で音響信号の測定に使用する様々な信号を発生してみよう また, ヘッドフォンなどを持っている人は, パソコンの出力端子につないで聴いてみよう ( ただし, 音量に注意! サウンドカードやヘッドフォンの効率は周波数によって異なる ある周波数では平気でも, 他の周波数では大きな音が耳に入ることがある また, 同じ基本周波数でも三角波や方形波は大きなレベルになるので注意しなければならない ) [1] 正弦波の発生 WaveGene を起動し, 数 100Hz の正弦波を発生する ( 参考 : ピアノの中音の ラ (A) は 440Hz) WaveSpectra を起動し サウンドデバイスから入力 / 録音 のボタンを押して解析をスタートさせる 周波数を変化させながら,WaveSpectra の画面に出力される周波数スペクトルを観測する (WaveSpectra の画面は ctrl+c により記録できる ) *WaveSpectra の設定メニューの 設定 ( 右端のスパナのマーク ) をクリックして設定用のダイアログボックスを開く Spectrum タブをクリックして, 周波数スペクトルの縦軸, 横軸の設定を変えてみよう 何が変化するだろうか また, 縦軸の db とは何か, 調べてみよう WaveSpectra で得られる周波数スペクトルは, サンプル毎にばらつく 統計的に安定な周波数スペクトルを求める場合は, 測定モード を選び, スペクトルの平均値を求めると良い [2] 三角波, 方形波の発生波形を正弦波から三角波および方形波に切り替え, 周波数スペクトルを観測する [3] 正弦波が歪んだんだ場合 WaveGene の出力振幅を増大する, あるいは録音レベルを上げるなどの方法により,WaveSpectra への入力を過大なものに変え, 波形を飽和させる このとき, 周波数スペクトルにどのような変化が見られるか? 課題 1.2 発展課題 [1] 白色雑音の発生発生と周波数特性周波数特性の観察 WaveGene から白色雑音または M 系列信号を発生させる WaveSpectra で周波数スペクトルを観測する 20kHz 付近のスペクトルがどうなるのか観察し, その理由を考えてみる [2] 音楽ソフトソフトの再生 wave ファイル ( 拡張子は.wav) を用意し,WaveSpectra で再生する 周波数スペクトルを観測する また, 他の圧縮形式のデータを wav ファイルに変換したものを再生して得られる周波数スペクトルを観測し, 違いについて考察する [3] その他 CD からの再生データ, マイクロフォンからの入力など, いろいろやってみよう 情報科学演習 ( 田村研究室 ) パソコンをオーディオ用計計測器に 1
WAVE 形式のファイルにも出力できる 3 つの波形を同時に発生可能 正弦波, 三角波, 白色雑音などを選択 16bit なので値の範囲は -32768~+32767 ここに表示されるのはデジタル信号サウンドカードから出力されるのはアナログ信号 Fig.1 WaveGene の操作パネル wav ファイルを開いて再生できる 測定モードボタンを押すと, 種々のパラメータの読み取りや測定が可能 クリックすると設定用ウインドウが開く ここに表示されるのは一度アナログ信号に変換された信号を再度 A/D 変換した信号 縦軸は, 現在 db でスケーリングしてある リニアスケールにも変更できる 周波数スペクトル 波形を正弦波信号に分解したとき, 周波数毎にどれくらいのパワーを持つかグラフにしたもの Fig.2 WaveSpectra の表示画面 横軸 ( 周波数軸 ) は対数とリニアのスケールを切り替え可能 サウンドカードの制御 ( 注意 : サウンドカードの種類種類や OS により名称名称や構成構成は異なる ) 2 情報科学演習 ( 田村研究室 ) パソコンをオーディオ用計計測器に
複数の音源からの信号を 1 つにミキシング ラインアウト ( スピーカなどへ出力 ) Windows Media Player などでファイルを D/A 変換した信号 FM 音源や PCM 音源など内蔵音源からの入力 ライン入力 CD 内蔵の D/A 変換回路から入力 Fig.3 音の再生 音量のコントロール マイク入力 各種のアナログ信号の音量を制御してミキシング ( 加算 ) どれか 1 つを A/D 変換回路に入力 Windows Media Player の D/A 変換信号や内蔵音源をミキシングしたもの CD 内蔵の D/A 変換回路から入力 Fig.4 録音 音量のコントロール ライン入力 マイク入力 アナログ信号の 1 つを選択して A/D 変換回路に入力 情報科学演習 ( 田村研究室 ) パソコンをオーディオ用計計測器に 3
db( デシベル ) って何だ? デシベル とか ディービー などと読む 音の強さ, 信号のレベル ( 振幅 ), あるいは増幅回路の倍率 ( 利得 ) の単位として使われる WaveSpectra の周波数スペクトル表示の縦軸のスケールには, 目盛が等間隔の リニア と,dB のどちらかが選べる db を選ぶと広い範囲の振幅の変化を観察できる 例えば,sin 波の解析を行うとき, 歪みや雑音のレベルは非常に小さくなるが, 縦軸を db スケールにすることで, 容易に観測できる db( デシベル ) 出力振幅利得の場合, 20 log10 = 20log 10 増幅器の倍率, 入力振幅 振幅の場合,a を振幅値, a ref を基準とする振幅値とするとき, 20log 10 a a ref のようにして計算する もともとは,B(Bell, ベル ) と呼ばれる単位が, 2log 10 a / aref で定義されていた (Bell は電話の発明者とし て有名なグラハム ベル ) ref 2 2log a log a = となることからわかるように, パワー 10 10 パワーが一桁違一桁違うと,1B の差になるになる ような単位 a a 2 ref であった しかし, これでは, 通常使用する場合に値が小さくなりすぎる ( 人間の体重をトンで表すようなも の ) そこで,1/10 B である db を単位として使うようになった db 値と倍率のリニアスケール値の関係 db 値 振幅の倍率 パワーの倍率 60dB 1000 倍 6 10 倍 40dB 100 倍 4 10 倍 20dB 10 倍 100 倍 14dB 5 倍 25 倍 12dB 4 倍 16 倍 10dB 3.16 倍 10 倍 6dB 2 倍 4 倍 3dB 2 倍 ( 約 1.4 倍 ) 2 倍 0dB 1 倍 1 倍 -3dB 1 / 2 倍 ( 約 0.7 倍 ) 0.5 倍 -6dB 0.5 倍 0.25 倍 -10dB 0.316 倍 0.1 倍 -12dB 0.25 倍 (1/4 倍 ) 1/16 倍 -14dB 0.2 倍 0.04 倍 -20dB 10 1 倍 10 2 倍 -40dB 10 2 倍 10 4 倍 -60dB 10 3 倍 10 6 倍 * 網掛けしているけしている部分部分を暗記暗記しておくとしておくと便利 +1dB は 1.122 倍 (12.2% 増 ) +0.1dB は 1.012 倍 (1.2% 増 ) 振幅 1.4 倍 ( パワーは 2 倍 ) は +3dB 振幅 2 倍は +6dB 振幅 10 倍は +20dB くらいは覚えておこう 周波数の目盛対数スケールとリニア スケールのどちらかを選択できる 対数スケール : 一定の比率での周波数の変化が一定の間隔になるようにスケール ( 目盛 ) を付ける 例えば, 1Hz から 10Hz までの間隔と 1KHz と 10KHz までの間隔が同じ幅になるように目盛が付けられる 広い範囲の周波数に対する変化を表したいときに使われる 0Hz ( 直流 ) での値は表示できないことに注意 リニア スケール : 周波数の値に比例するような, 通常の目盛付け 限定された周波数の範囲での変化を表したいときに使う 4 情報科学演習 ( 田村研究室 ) パソコンをオーディオ用計計測器に
白色雑音による周波数特性の計測 楽してグラフにしよう! アンプなどのシステムには周波数特性と呼ばれる特性がある これは, 正弦波を入力し, 出力される正弦波の振幅が何倍になり位相が何度ずれたかを, 必要な周波数の範囲 ( 周波数帯域 ) で正弦波の周波数を変えながら測定したものである オーディオ機器の場合は, 人間の耳が位相位相の差に対してして感じないじないことから, 利得の特性, つまり何倍に増幅されるかだけを特性として使うことが多い 周波数特性を, 正弦波発生器の周波数を少しずつ変化させながら測定するのでは時間がかかりすぎる そこで, 自動的に手軽な手法として, 広い周波数帯域幅を持つ信号を入力し, 出力信号のパワースペクトル密度関数 ( 周波数スペクトル ) を求める方法が採用されている 広い周波数帯域を持つ信号は, 二つに大別できる 一つは, 周波数が時間的に変化 ( スイープ ) する正弦波信号であり, もう一つは, 広い周波数範囲で一様なパワー分布を持つ 白色雑音 を使う方法である WaveGene は白色雑音として 白色雑音 と M- 系列 の 2 種類の雑音信号を用いている 白色雑音と M- 系列を WaveGene の画面で観測すると, 白色雑音は振幅振幅がランダムランダムに変化変化しているしている雑音信号であることがわかる 一方,M- 系列は値は2 種類しかない つまり2 値の信号信号である 実は,M- 系列は, 2 値でしかもでしかも周期的周期的な再現性再現性のあるのある信号信号なのである それにもかかわらず, 白色雑音と同じような周波数スペクトルを持つ このため, 擬似雑音と呼ばれ, 様々な応用がされている WaveSpectra による音楽データの再生 違いがわかるかな? WaveSpectra は Windows 標準の音声データファイル ( 拡張子が.wav ) を再生し, その周波数スペクトルを表示することができる 演習用作業フォルダの中に TheSwanLake.wav とある wav ファイルは,CD から直接作成したもので, 非圧縮と呼ばれ, データ圧縮の処理はしていない 一方, TheSwanLakeMp3.wav はこのファイルを別のソフトウェアで MP3 規格のファイル ( 拡張子が.mp3 ) に変換した後に wav ファイルに再変換したものである MP3 規格は, データ量を圧縮するため,16kHz 以上の成分をカットしている この 2 つのファイルを再生して周波数スペクトルを観測することで,2 つの記録方式の周波数特性の違い を確認してみよう 情報科学演習 ( 田村研究室 ) パソコンをオーディオ用計計測器に 5
用語解説 信号 ⅰ) 変動する物理量 ⅱ) それを記号として表したデータ ⅲ)ⅰ) やⅱ) を数式で表したもの アナログ信号時間に対して連続的に変動し, 値も連続的に変動する信号 周波数スペクトル信号は, 様々な周波数を持つ正弦波信号に分解できる 逆に, 正弦波を周波数毎に大きさ ( 振幅 ) と位相を指定して加えることで, 任意の信号波形を合成することができる 周波数毎の周波数成分の大きさを表す関数は, 周波数スペクトルと呼ばれ, 信号や信号処理システムを扱う際に重要である デジタル信号離散的な時刻の数値の系列として与えられる信号 コンピュータがソフトウェアとして処理できるのはデジタル信号である A/D 変換アナログ信号をデジタル信号に変換すること 時間的な離散化であるサンプリングと, 値の離散化である量子化を行う D/A 変換デジタル信号をアナログ信号に変換すること フーリエ変換信号から, その周波数成分を求める数学的な操作がフーリエ変換である 逆に, 与えられた周波数成分から信号を求める操作がフーリエ逆変換である 周波数スペクトルは, 信号のフーリエ変換を計算することで求められる FFT( 高速フーリエフーリエ変換 ) フーリエ変換をデジタル演算により求めるための高速計算アルゴリズム 通常, 解析可能なデータのサンプル数は2の累乗となる また, 周波数分析の周波数の上限はサンプリング周波数の 1/2 である サウンドカードパーソナルコンピュータに音声 音楽などのオーディオ機能を拡張するためのモジュール 音源用回路や A/D 変換器 D/A 変換器を搭載する 最近では, これらの機能を1チップの LSI に集積化したサウンドチップをパソコンのマザーボード上に搭載し, 特にサウンドカードを持たないパソコンが増えている サンプリング周波数 A/D 変換のためのサンプリングの時間間隔の逆数 処理できるアナログ信号の上限周波数はサンプリング周波数の 1/2 となる CD では 44.1kHz のサンプリング周波数が採用されている 音響波弾性体の一部に力を加えると変形する 変形した部分は隣接する部分に力を及ぼすので, そこがまた変形する 媒質中の変形 ( 変位 ) と力 ( 圧力 ) は, 媒質の密度と弾性率で決まる一定の速度で伝搬していく このような現象が音響波である オーディオ信号人間が聴くことを目的とした音響信号 人間の可聴音の周波数帯域は,16Hz~20KHz とされている ( 個人差はある ) ので, オーディオ信号の周波数帯域は, この範囲に一致していると考えてよい 6 情報科学演習 ( 田村研究室 ) パソコンをオーディオ用計計測器に