いくつかの音響プログラム いくつかの音響プログラムを紹介します.
|
|||||
1)グリッチを乗せる. 2)移動平均. 3)WAVファイルチェッカー. 使用法(pdf) インストール:圧縮してあるだけです.適当なディレクトリで解凍し,実行してください. アンインストール:レジストリなどは操作しません,単純にファイルを削除してください. |
グリッチを乗せる
WAVファイルのある部分にグリッチノイズを乗せるプログラムです.グリッチのような急峻な変化にどのような反応をするかなどのテスト波形を生成するのに使えるでしょう.以降にプログラムの機能をイメージ図で示します.
通常四つの引数を要求します.最初の引数は入力のWAVファイル名,二番目の引数は出力用のWAVファイル名です.三番目の引数はグリッチが始まる位置を秒で,次の引数で,グリッチのレベルを -1.0 ~ 1.0 の範囲で与えます.これは波形のピーク値に対するレベルをです.引数指定方法を以降に示します.
glitch <入力ファイル名1> <出力ファイル名> [<開始時間:秒> <レベル:-1.0〜1.0> ] |
「開始時間:秒」は,グリッチを乗せる開始時間を指定します.
以降に,実行例を示します.音源にグリッチを乗せてみます.16ビット・モノラルの音源に, WAVデータの開始位置 30.0 [msec] から-0.9レベルのグリッチを乗せます.
C:\>glitch さよならmono.wav さよならout.wav 30 -0.9
ファイル名[さよならmono.wav] "fmt "の長さ: 16 [bytes] データ形式: 1 (1 = PCM) チャンネル数: 1 サンプリング周波数: 44100 [Hz] バイト数 / 秒: 88200 [bytes/sec] バイト数×チャンネル数: 2 [bytes] ビット数 / サンプル: 16 [bits/sample]
"data" の長さ: 26672856 [bytes]
時間=302.413
[さよならmono.wav] を [さよならout.wav] へ変換しました. |
入力波形:
入力WAVファイル(さよならmono.wav)
出力波形:
出力WAVファイル(さよならout.wav)
グリッチが乗っています.ヘッドフォンを付けて,聞いてみると30秒近辺でプチッと音が聞こえます.分かり難いので,29.990秒目から 0.020秒間を拡大してみます.
出力WAVファイルの一部拡大(さよならout.wavの一部)
綺麗にグリッチが乗っています.29.990秒目から 20 [msec] を拡大しているので,グリッチは丁度真ん中に現れます.グリッチレベルとして-0.9を与えていますので,下の方へ9割方伸びています.
移動平均
WAVファイルに移動平均をかけます.音が滑らかになりますが,籠もった感じも受けます.また,ダイナミックレンジも狭まりますので,音のダイナミック性が失われます.代わりに滑らかな感じになります.
通常二つの引数を要求します.最初の引数は入力のWAVファイル名で,二番目の引数は出力用のWAVファイル名です.さらに,移動平均の範囲を秒で指定します.この引数を指定しないと,デフォルトの値が使われます.
soft <入力ファイル名> <出力ファイル名> [ <間隔:秒> ] |
「間隔:秒」は,移動平均をとる範囲です.あまり大きな値を与えると,音が籠もってしまい,ダイナミックレンジも狭くなります.
以降に,実行例を示します.音源にグリッチを乗せてみます.16ビット・モノラルのある曲に移動平均範囲として,0.0001秒(0.1 [msec] )を指定します.
C:\>soft SACHIKOmono.wav soft01.wav 0.0001
ファイル名[SACHIKOmono.wav] "fmt "の長さ: 16 [bytes] データ形式: 1 (1 = PCM) チャンネル数: 1 サンプリング周波数: 44100 [Hz] バイト数 / 秒: 88200 [bytes/sec] バイト数×チャンネル数: 2 [bytes] ビット数 / サンプル: 16 [bits/sample]
"data" の長さ: 23654064 [bytes]
時間=268.187
ファイル名[SACHIKOmono.wav] "fmt "の長さ: 16 [bytes] データ形式: 1 (1 = PCM) チャンネル数: 1 サンプリング周波数: 44100 [Hz] バイト数 / 秒: 88200 [bytes/sec] バイト数×チャンネル数: 2 [bytes] ビット数 / サンプル: 16 [bits/sample]
"data" の長さ: 23654064 [bytes]
時間=268.187 サンプル数=4
ファイル [SACHIKOmono.wav] を [soft01.wav]へ変換しました. |
入力波形:
入力WAVファイル(SACHIKOmono.wav)
出力波形:
出力WAVファイルの一部(soft01.wav)
耳で聞くとあきらかに違いが分かりますが,長い波形を狭い範囲に表示しても違いが分かりません.そこで,両方の波形の100秒目から,10 [msec]を拡大してみましょう.
入力波形の一部:
入力WAVファイル(SACHIKOmono.wav)
出力波形の一部:
出力WAVファイルの一部(soft01.wav)
これでも分かり難いと人もいるでしょうから,移動平均の幅を10倍にしてみましょう.同じ音源に移動平均範囲として,0.001秒(1.0 [msec] )を指定します.
C:\>soft SACHIKOmono.wav soft02.wav 0.001
ファイル名[SACHIKOmono.wav] "fmt "の長さ: 16 [bytes] データ形式: 1 (1 = PCM) チャンネル数: 1 サンプリング周波数: 44100 [Hz] バイト数 / 秒: 88200 [bytes/sec] バイト数×チャンネル数: 2 [bytes] ビット数 / サンプル: 16 [bits/sample]
"data" の長さ: 23654064 [bytes]
時間=268.187
ファイル名[SACHIKOmono.wav] "fmt "の長さ: 16 [bytes] データ形式: 1 (1 = PCM) チャンネル数: 1 サンプリング周波数: 44100 [Hz] バイト数 / 秒: 88200 [bytes/sec] バイト数×チャンネル数: 2 [bytes] ビット数 / サンプル: 16 [bits/sample]
"data" の長さ: 23654064 [bytes]
時間=268.187 サンプル数=44
ファイル [SACHIKOmono.wav] を [soft02.wav]へ変換しました. |
入力波形:
入力WAVファイル(SACHIKOmono.wav)
出力波形:
出力WAVファイルの一部(soft02.wav)
入力波形の一部:
入力WAVファイル(SACHIKOmono.wavの一部)
出力波形の一部:
出力WAVファイルの一部(soft02.wavの一部)
さらに,前節で乗せたグリッチを消せるか試してみましょう.以降に前節のグリッチを示します.まずグリッチを乗せた波形の29.990秒目から 0.020秒間を以降に示します.
入力WAVファイルの一部拡大(さよならout.wavの一部)
この波形に移動平均の範囲を,0.0005秒目(0.5 [msec] )指定してみましょう.
C:\>soft さよならout.wav soft03.wav 0.0005
ファイル名[さよならout.wav] "fmt "の長さ: 16 [bytes] データ形式: 1 (1 = PCM) チャンネル数: 1 サンプリング周波数: 44100 [Hz] バイト数 / 秒: 88200 [bytes/sec] バイト数×チャンネル数: 2 [bytes] ビット数 / サンプル: 16 [bits/sample]
"data" の長さ: 26672856 [bytes]
時間=302.413
ファイル名[さよならout.wav] "fmt "の長さ: 16 [bytes] データ形式: 1 (1 = PCM) チャンネル数: 1 サンプリング周波数: 44100 [Hz] バイト数 / 秒: 88200 [bytes/sec] バイト数×チャンネル数: 2 [bytes] ビット数 / サンプル: 16 [bits/sample]
"data" の長さ: 26672856 [bytes]
時間=302.413 サンプル数=22
ファイル [さよならout.wav] を [soft03.wav] へ変換しました. |
出力波形:
出力WAVファイルの一部(soft03.wavの一部)
グリッチは小さくなっていますが,ある程度残っています.ノイズ除去と考えると,あまり効率は良くないようです.音をマイルドに変更するのに使用するのが良さそうです.
WAVファイルチェッカー
WAVファイルの整合性をチェックします. WAVファイルを操作するプログラムを開発したときに,生成したファイルの矛盾がないかチェックするのに便利です.
本プログラムには,調べたいWAVファイル名を指定します.引数指定方法を以降に示します.
checkWav <入力ファイル名> |