二つの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

 

 

続いて,Sin1002 [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] へ合成しました.

 

入力波形:

 

二つの入力波形

 

出力波形:

 

二つの音源をブレンドした波形