Comments
Description
Transcript
サウンド信号処理
フリー・ソフト活用 Windows/Mac/Linux 対応で I/O もサクッ ! オープンソースのブロック型言語 Pure Data ではじめる サウンド信号処理 第2回 振幅 れませんが,実は PSG 音源にはサウンド・プログラ ミングの基本がぎっしりと詰まっています. 1 0.5 時間 0 振幅 (a)ノコギリ波 1 時間 0 振幅 (b)矩形波 1 時間 0 (c)パルス波 振幅 青木 直史,藍 圭介 サウンド処理の基本満載! レガシ・ピコピコ音 BGM ノコギリ波に対するしきい値処理を行う 1 時間 0 (d)三角波 図 1 レガシなピコピコ PSG 音源をあなどるなかれ! サウンド・ プログラミングの基本が詰まっている 前回(第 1 回,2015 年 12 月号)は,オープンソース の音響処理プログラミング言語 Pure Data ではじめ るサウンド信号処理として,正弦波 / ノコギリ波 / 矩形波を生成して鳴らしてみました. 今回は,Pure Dataによる PSG(Programmable Sound Generator)音源の再現をテーマに,サウン ド・プログラミングの実例を紹介します.(編集部) サウンド信号処理のヒント満載! レガシ・ピコピコ音…PSG 音源 最も簡単に音を鳴らすしくみとして黎明期のコン ピュータが採用していたのが,いわゆるピコピコの電 子音を鳴らす PSG 音源です. いまさら時代遅れの技術と思われる方もいるかもし 170 ご購入はこちら ● その 1:周期的信号 ひと口に PSG 音源といっても,実際に鳴っている 音の波形にはいくつかのバリエーションがあります. その中で最も基本になるのは,0 と 1 の信号を交互に 切り替えて音を鳴らす矩形波です.一般的な PSG 音 源には,そのほか,パルス波や三角波といった,いず れも見た目の単純な波形が用意されています. 前回は,二つのノコギリ波を組み合わせて矩形波を 作り出してみましたが,図 1 のように,矩形波をはじ め PSG 音源のそれぞれの波形は,実はノコギリ波に 対するしきい値処理でも作り出すことができます. PSG 音源の波形を作り出すプログラムを図 2 に示し ます. [expr ∼]は,インレットに入力された信号 $v1 に対して四則演算や条件分岐などの処理を行い, その結果をアウトレットから出力するブロックになっ ています. ● その 2:白色雑音 PSG 音源の波形は,こうした周期的なものばかりで はありません.表現の幅を広げるうえで重要な要素に なっているのは非周期的な波形の白色雑音です. Pure Data の場合,白色雑音は[noise ∼]を使っ て鳴らすことができます.ただし,本来の PSG 音源 は,0 と 1 の 2 値からなる雑音をゆっくり再生したも のを白色雑音として定義しているため,通常の白色雑 音とは音色が異なることに注意が必要です.図 3 のよ うに,こうした音色を再現するには,サンプル&ホー ルドというサウンド・エフェクトによって再生速度を コントロールするといった処理が必要になります. 図 4 に Pure Data のプログラムを示します. ちょっとした効果音を鳴らしてみる ● 矩形波×時間エンベロープで効果音を作る PSG 音源は,フェードインやフェードアウトといっ 第 1 回 正弦波 / ノコギリ波 / 矩形波…まずは基本音を鳴らす(2015 年 12 月号) 2016 年 1 月号