フリー・ソフト活用 ご購入はこちら Windows/Mac/Linux 対応で I/O もサクッ ! オープンソースのブロック型言語 Pure Data ではじめる サウンド信号処理 第4回 周波数分析を使ったロボット・ボイス作り 窓を掛けることで波形を一定の長さに区切る 周波数分析プログラム 振幅 窓 時間 波形 離散フーリエ変換 (DFT) 逆離散フーリエ変換 (IDFT) 周波数特性 周波数特性から 波形を求める 振幅 波形から 周波数特性 を求める 周波数 図 1 離散フーリエ変換(DFT)による周波数分析…窓関数で波形 を一定の長さに区切るのが基本 前回(第 3回,2016 年 2 月号)は Pure Dataを使って データ・ファイルの保存方法と再生方法を説明しました. サウンド・プログラミングでは波形を観察するだけ でなく,周波数特性を観察することも重要なポイント になります. 今回は Pure Data を使って周波数特性を観察する方 法について説明した後,応用例の一つとしてロボッ ト・ボイス「ボコーダ」のプログラムを紹介します. サイン波の 周波数 窓のサイズと オーバラップの 設定 窓関数 グラフ表示の ON/OFF (b)波形 周波数 分析部 (図3) つなぎ方に要注意 (コラム1参照) 周波数特性の グラフ表示 windowアレイに窓関数を格納する (a)プログラム (c)周波数特性 図 2 Pure Dataを使うと手軽に周波数分析が行える (メインパッチ) 156 コンピュータを使って波形から周波数特性を割り出 すには,離散フーリエ変換(DFT)を適用することが 一般的です.図 1 に示すように,窓を掛けることで波 形を一定の長さに区切り,この中にある波形の周波数 特性を求めるのが DFT による周波数分析の手順にな ります. 図 2 と図 3 に Pure Data による周波数分析のプログ ラムを示します.メインパッチのアレイは,それぞれ 波形と周波数特性を表示するためのグラフになってい ます.スライダを左右に動かしてサイン波の周波数を 変化させると,音の高さが変化するとともに,波形と 周波数特性のグラフも変化します.このように Pure Data は,いくつかのブロックを組み合わせるだけで 音を可視化するプログラムを手軽に作れます. このプログラムは,スライダの値の範囲を 20 〜 20000 に設定しています.イグノーベル賞で有名に なったモスキート音は,加齢によって次第に高い周波 数の音が聞こえなくなるという人間の聴覚の特徴を逆 手にとったものですが,このプログラムを使って,自 分の耳がどのくらい高い音まで聞こえているのか チェックしてみることも面白いかもしれません. 音データ スライダの値の範囲は 20∼20000に設定 波形の グラフ 表示 青木 直史,藍 圭介 図 3 DFT による周波数分析のプログラム(サブパッチ [pd analysis]) 第 1 回 正弦波 / ノコギリ波 / 矩形波…まずは基本音を鳴らす(2015 年 12 月号) 第 2 回 サウンド処理の基本満載! レガシ・ピコピコ音 BGM(2016 年 1 月号) 第 3 回 リアルタイム音声処理の準備…データ・ファイルの保存 & 再生(2016 年 2 月号) 2016 年 3 月号
© Copyright 2024 ExpyDoc