二つのWAVをブレンド
二つのWAVファイルをブレンドし,ひとつのWAVファイルを作成します.入力WAVファイル1と入力WAVファイル2を,指定された割合に従ってブレンドし,出力WAVファイルを生成します.
以降に入力例を示します.
alphaBlend <入力WAVファイル1> <入力WAVファイル2> <出力WAVファイル> <ブレンド値> |
「ブレンド値」は,「入力WAVファイル1」を基準とします.つまり,ブレンド値に0.8を指定すると,ブレンドされた「出力WAVファイル」は「入力WAVファイル1」に0.8を乗じたものと,「入力WAVファイル2」に0.2を乗じたものをブレンドします.「ブレンド値」は実数で指定できますが,1.0以下でなければなりません.
ふたつのWAVファイルから,ひとつのWAVファイルを生成します.ブレンド処理の概要を示します.それぞれの値にブレンド値を乗算し,ブレンド(加算)します.最後に飽和演算を行い,出力WAVファイルに書き出します.以降に,処理イメージを図で示します.
実行の様子を概念図で,以降に示します.
以降に,プログラムを実行例を示します.ステレオの1002 [Hz]のSin波と,2004 [Hz]のSin波を,ブレンド値0.4で合成した様子を示します。
C:\>alphaBlend sin1002Hz_10msec.wav sin2004Hz_10msec.wav alphaBlend01.wav 0.4
ファイル名[sin1002Hz_10msec.wav] "fmt "の長さ: 16 [bytes] データ形式: 1 (1 = PCM) チャンネル数: 2 サンプリング周波数: 44100 [Hz] バイト数 / 秒: 176400 [bytes/sec] バイト数×チャンネル数: 4 [bytes] ビット数 / サンプル: 16 [bits/sample]
"data" の長さ: 1760 [bytes]
時間=0.010
ファイル名[sin2004Hz_10msec.wav] "fmt "の長さ: 16 [bytes] データ形式: 1 (1 = PCM) チャンネル数: 2 サンプリング周波数: 44100 [Hz] バイト数 / 秒: 176400 [bytes/sec] バイト数×チャンネル数: 4 [bytes] ビット数 / サンプル: 16 [bits/sample]
"data" の長さ: 1760 [bytes]
時間=0.010
[sin1002Hz_10msec.wav] と [sin2004Hz_10msec.wav] を [alphaBlend01.wav] へ合成しました. |
入力波形:
二つの入力波形
出力波形:
二つの音源をブレンドした波形(alphalend01.wav)
続いて,Sin波1002 [Hz]と,ある曲をブレンド値0.5で合成した様子を示します。
C:\>alphaBlend sin1002Hz_10msec.wav 異邦人_10msec.wav alphalend04.wav 0.5
ファイル名[sin1002Hz_10msec.wav] "fmt "の長さ: 16 [bytes] データ形式: 1 (1 = PCM) チャンネル数: 2 サンプリング周波数: 44100 [Hz] バイト数 / 秒: 176400 [bytes/sec] バイト数×チャンネル数: 4 [bytes] ビット数 / サンプル: 16 [bits/sample]
"data" の長さ: 1760 [bytes]
時間=0.010
ファイル名[異邦人_10msec.wav] "fmt "の長さ: 16 [bytes] データ形式: 1 (1 = PCM) チャンネル数: 2 サンプリング周波数: 44100 [Hz] バイト数 / 秒: 176400 [bytes/sec] バイト数×チャンネル数: 4 [bytes] ビット数 / サンプル: 16 [bits/sample]
"data" の長さ: 1760 [bytes]
時間=0.010
[sin1002Hz_10msec.wav] と [異邦人_10msec.wav] を [alphalend04.wav] へ合成しました. |
入力波形:
二つの入力波形
出力波形:
二つの音源をブレンドした波形