2017年3月10日金曜日

GoldWave

この記事を読んでいる中で,音に携わる方は,波形編集ソフトは何を使っているでしょうか?いわゆるDAWとよばれるProToolsやCubase,Nuendo等は除外すると,フリーでは

・Audacity
・SoundEngine Free
・wavosaur

等があり,有料のものでは

・WaveLab
・SoundForge

等が有名で使っている人をよく見かけます.

今日は,あまり使っている人を見かけない,でもかなり面白い波形編集ソフト「GoldWave」を紹介します.

https://www.goldwave.com/

GoldWaveはシェアウェアで,当面使う分には無料ですが,継続的に使うには45ドルを払う必要があります.

画面はこんな感じ.


左側のウィンドウに波形,右側のウィンドウにはオーディオのリアルタイム解析結果が表示されます.色々な表示モードがあります.





基本的に普通の波形編集ソフトで出来ることは一通り出来ると思っていてよいです.エフェクトも色々あります.DirectXプラグインを追加することも出来るみたいです.(やったことありません.)



このソフトのエフェクトの特徴として,とにかくどぎつくエフェクトをかけられるということが言えます.例えば,フィルタを使ってみると,こんな急峻なフィルタも設定できてしまいます.






他のエフェクトもかなり極端な使い方が出来るので,音をラディカルにいじりたい人にはもってこいです.

しかし,GoldWaveの本当の特徴は,どぎついエフェクタではありません.
Toolメニューの中に "Expression Evaluator" という項目があります.



Expression Evaluator


Expression Evaluator(直訳:数式評価器)





そう,オーディオデータに対して数式ベースの処理が出来るのです.これが出来る波形編集ソフトを他に知りません.(知ってる方は教えてください.便利そうだったらそちらに乗り換えます.)

それでは,ちょっとやってみましょう.

まず,"New"で空のオーディオデータを作ります.今回はfs=44100Hzの一秒間のデータを作りました.


そして,Expression Evaluatorを開いて,正弦波を作ってみます.GoldWaveのsin関数は2πで1周期となるので,周波数f(Hz)のnサンプル目の値は

y(n)=sin(2 * π * f * n / fs)

となります.GoldWaveではサンプリング周波数は定数Nとして定義されているので,以下のように書けばよいです.

sin(2*pi*f*n/N)


fの値はウィンドウ下部のテキストボックスに入力します.面倒なら,変数を使わずに

sin(2*pi*500*n/N)

と書いても良いでしょう.(というより,私はいつもそうしてる.)

これで,OKを押すと,最初に作ったオーディオデータに,今入力した数式の値が出力されます.見事な正弦波です.



ちなみに,上記式の "n/N" は,同じ値が変数 "t" として定義されています.つまり,上記式は,こう書いたのと等価です.

sin(2*pi*f*t)

お好みと用途に応じて使い分けましょう.

この要領で色々な波形を作れます.

・のこぎり波(アンチ・エイリアシングなし)

※ int()は多くのプログラミング言語で言うところのfloor()です.




・矩形波(アンチ・エイリアシングなし)




最後に,オーディオ入出力の例として2次のIIRフィルタを実装してみましょう.ディジタルフィルタの知識のない方は,関連図書を読んでからまたここへ戻ってきてください.

どんなフィルタにするかですが,ナイキスト周波数の半分のところがカットオフ周波数になるバタワース特性のフィルタにしましょう.手前味噌で恐縮ですが,MATLABで係数を求めてしまいましょう.



まず,空のオーディオデータを作って,ホワイトノイズを作ります.一様乱数の関数randを使えばよいです.




今作ったオーディオデータが入力.出力用のオーディオデータ(空)を作ります.今までと同じやり方です.


上が今作った出力用のオーディオデータです.では,Expression Evaluatorを開きます.


Expression Evaluatorでは,現在GoldWaveで扱っているオーディオデータのサンプルをwave1(n), wave2(n) ・・・というような配列で扱います.どれがどのデータなのかということは, "Source" というところのコンボボックスで確認できます.今回の場合,入力がwave2,出力がwave1ですね.そして,今回のように扱うオーディオデータが複数ある場合,"Destination"で正しく出力先を選ぶ必要があります.今回は, "Untitled7"をDestinationにします.

さて,先ほどMATLABで求めた係数を使って,IIRフィルタの式を記述します.面倒なので係数0の項は省略しました.



"OK" を押すと,"Untitled7" にフィルタの出力が書き込まれました.ちゃんとローパスフィルタになっていますね.

フィードバックの係数を大きくすると,カットオフ周波数付近でピークが出来る様子が観察できます.



こんな面白い機能のある波形編集ソフト「GoldWave」.なかなか使っている人に出会わないのですが,面白い音を作りたい方,音と数式で遊びたい方なんかにはうってつけのソフトではないかと思います.

初めてのブログ投稿.画像がとんでもなく多くなってしまいました.一記事あたりの画像数の相場ってどれくらいなんでしょうね?

0 件のコメント:

コメントを投稿