モノラルをステレオ化
モノラルWAVをステレオ化する.


Win32 汎用
フリーソフト

ノラルのWAVファイルを擬似的にステレオに変換する.
1)時間差を与えるのみ.
2)遅れた音と合成,左チャンネルには加算,右チャンネルには減算
3)遅れた音と係数を乗算し合成,左チャンネルには加算,右チャンネルには減算
4)エコーをかけ,左右チャンネルに時間差を与える
5)エコーをかけ,さらに左右チャンネルに時間差を与える

使用法(pdf)


インストール:圧縮してあるだけです.適当なディレクトリで解凍し,実行してください.
アンインストール:レジストリなどは操作しません,単純にファイルを削除してください.


モノラルを疑似ステレオ化

モノラルのWAVファイルを擬似的にステレオに変換する.プログラムの機能をイメージ図で示す.

 

左右チャンネルに時間差を与えて疑似ステレオ化

モノラルのWAVファイルをステレオのWAVファイルへ変換します.アルゴリズムは非常に簡単で,左右のチャンネルに微妙な時間差を与えるだけです.以降に処理概要を示します.

上記処理のブロック図とインパルス応答を示します.

ブロック図

インパルス応答

 

本プログラムは,通常二つの引数を要求します.最初の引数は入力のWAVファイル名です.二番目の引数は出力用のWAVファイル名です.

mono2stereo  <入力ファイル名1>  <出力ファイル名>

さらに,一つの引数を与えることが可能です.この追加の引数は,左右のチャンネルの時間差を秒で指定します.通常は,この引数は与える必要はありません.

mono2stereo  <入力ファイル名1>  <出力ファイル名>  [ <時間差:秒> ]

 

「時間差:秒」は,左右のチャンネルの時間差を指定します.

 

 

以降に,実行例を示します.インパルスへの応答を試してみます.無音の50 [msec]の中心にパルスが乗っている波形を,本プログラムに入力し結果を表示してみましょう.

C:\>mono2stereo glitch16mono_50msec.wav mono2stereo03.wav 0.01 0.9

 

ファイル名[glitch16mono_50msec.wav]

 "fmt "の長さ: 16 [bytes]

             データ形式: 1 (1 = PCM)

           チャンネル数: 1

     サンプリング周波数: 44100 [Hz]

          バイト数 / : 88200 [bytes/sec]

 バイト数×チャンネル数: 2 [bytes]

    ビット数 / サンプル: 16 [bits/sample]

 

 "data" の長さ: 4410 [bytes]

 

 時間=0.050

 

ファイル名[glitch16mono_50msec.wav]

 "fmt "の長さ: 16 [bytes]

             データ形式: 1 (1 = PCM)

           チャンネル数: 1

     サンプリング周波数: 44100 [Hz]

          バイト数 / : 88200 [bytes/sec]

 バイト数×チャンネル数: 2 [bytes]

    ビット数 / サンプル: 16 [bits/sample]

 

 "data" の長さ: 4410 [bytes]

 

 時間=0.050

 

モノラルファイル [glitch16mono_50msec.wav] [mono2stereo03.wav] へステレオ変換しました.

 

入力波形:

入力WAVファイル

 

出力波形:

 

出力WAVファイル

 

入力波形は,無音モノラルの50 [msec]の中心(25 [msec]付近)にパルスが乗っている波形です.時間差に10 [msec]を指定しました.入力のパルスに対し,左チャンネルは,そのまま,右チャンネルは10 [msec]遅れた部分にパルスが現れます.最初に説明したインパルス応答通りの結果になりました.

 


遅れた音と合成,左チャンネルには加算,右チャンネルには減算

直前のプログラムに更に改良を加え,オリジナルの音源にエコーをかけたのち,直前と同様の処理を行います.櫛形フィルタですが,理論はさておいて,以降にブロック図とインパルス応答を示します.

ブロック図

インパルス応答

 

コマンドラインの形式を示します.

mono2stereo2  <入力ファイル名1>  <出力ファイル名>

エコーまでの時間差を秒で指定できます.通常は,この引数は与える必要はありません.

mono2stereo2  <入力ファイル名1>  <出力ファイル名>  [ <時間差:秒> ]

「時間差:秒」は,エコーに使用する音源までの時間差を指定します.

 

 

以降に,実行例を示します.インパルスへの応答を試してみます.無音の50 [msec]の中心にパルスが乗っている波形を,本プログラムに入力し結果を表示してみましょう.

C:\>mono2stereo2 glitch16mono_50msec.wav mono2stereo2_01.wav 0.01 0.9

 

ファイル名[glitch16mono_50msec.wav]

 "fmt "の長さ: 16 [bytes]

             データ形式: 1 (1 = PCM)

           チャンネル数: 1

     サンプリング周波数: 44100 [Hz]

          バイト数 / : 88200 [bytes/sec]

 バイト数×チャンネル数: 2 [bytes]

    ビット数 / サンプル: 16 [bits/sample]

 

 "data" の長さ: 4410 [bytes]

 

 時間=0.050

 

ファイル名[glitch16mono_50msec.wav]

 "fmt "の長さ: 16 [bytes]

             データ形式: 1 (1 = PCM)

           チャンネル数: 1

     サンプリング周波数: 44100 [Hz]

          バイト数 / : 88200 [bytes/sec]

 バイト数×チャンネル数: 2 [bytes]

    ビット数 / サンプル: 16 [bits/sample]

 

 "data" の長さ: 4410 [bytes]

 

 時間=0.050

 

モノラルファイル [glitch16mono_50msec.wav] [mono2stereo2_01.wav] へステレオ変換しました.

 

入力波形:

入力WAVファイル

 

出力波形:

 

出力WAVファイル(mono2stereo2_01.wav

 

入力波形は,無音モノラルの50 [msec]の中心(25 [msec]付近)にパルスが乗っている波形です.時間差に10 [msec]を指定しました.最初に説明したインパルス応答通りの結果になりました.

 

次に,通常の16ビット・モノラル音源を使用して処理してみましょう。

C:\>mono2stereo2 さよならmono.wav mono2stereo2_02.wav

 

ファイル名[さよなら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]

 "fmt "の長さ: 16 [bytes]

             データ形式: 1 (1 = PCM)

           チャンネル数: 1

     サンプリング周波数: 44100 [Hz]

          バイト数 / : 88200 [bytes/sec]

 バイト数×チャンネル数: 2 [bytes]

    ビット数 / サンプル: 16 [bits/sample]

 

 "data" の長さ: 26672856 [bytes]

 

 時間=302.413

 

モノラルファイル [さよならmono.wav] [mono2stereo2_02.wav] へステレオ変換しました.

 

入力波形:

入力WAVファイル(さよならmono.wavさよならmono全体.gif

 

出力波形:

 

出力WAVファイル(mono2stereo2_02.wavさよならmono全体左チャンネル.gif さよならmono全体左チャンネル.gif

 

曲が長いので分かりにくいです.一部を拡大してみましょう.入出力波形の100秒目から10ミリ秒を拡大してみます.

 

入力波形:

入力WAVファイル(さよならmono.wavの一部

 

出力波形:

 

出力WAVファイル(mono2stereo2_01.wavの一部)


遅れた音と係数を乗算し合成,左チャンネルには加算,右チャンネルには減算

前節のプログラムに更に改良を加え,オリジナルの音源にエコーをかけたのち,前節と同様の処理を行います.前節と異なるのはエコー量を調整できることです.以降にブロック図とインパルス応答を示します.

ブロック図

インパルス応答

 

 

三番目の引数までは前節と同様です四番目の引数は,エコーさせる音の大きさを調整するの使用します.1.0を指定すると,直前と等価になります.引数の指定方法を以降に示します.引数の指定方法を以降に示します.

mono2stereo2  <入力ファイル名1>  <出力ファイル名>

 

mono2stereo2  <入力ファイル名1>  <出力ファイル名>  <時間差:秒>

 

mono2stereo2  <入力ファイル名1>  <出力ファイル名>  <時間差:秒>  <エコー量:実数>

 

 

以降に,実行例を示します.インパルスへの応答を試してみます.無音の50 [msec]の中心にパルスが乗っている波形を,本プログラムに入力し結果を表示してみましょう.

C:\>mono2stereo3 glitch16mono_50msec.wav mono2stereo3_01.wav 0.01 0.6

 

ファイル名[glitch16mono_50msec.wav]

 "fmt "の長さ: 16 [bytes]

             データ形式: 1 (1 = PCM)

           チャンネル数: 1

     サンプリング周波数: 44100 [Hz]

          バイト数 / : 88200 [bytes/sec]

 バイト数×チャンネル数: 2 [bytes]

    ビット数 / サンプル: 16 [bits/sample]

 

 "data" の長さ: 4410 [bytes]

 

 時間=0.050

 

ファイル名[glitch16mono_50msec.wav]

 "fmt "の長さ: 16 [bytes]

             データ形式: 1 (1 = PCM)

           チャンネル数: 1

     サンプリング周波数: 44100 [Hz]

          バイト数 / : 88200 [bytes/sec]

 バイト数×チャンネル数: 2 [bytes]

    ビット数 / サンプル: 16 [bits/sample]

 

 "data" の長さ: 4410 [bytes]

 

 時間=0.050

 

モノラルファイル [glitch16mono_50msec.wav] [mono2stereo3_01.wav] へステレオ変換しました.

 

入力波形:

入力WAVファイル

 

出力波形:

 

出力WAVファイル(mono2stereo3_01.wav

 

入力波形は,無音モノラルの50 [msec]の中心(25 [msec]付近)にパルスが乗っている波形です.時間差に10 [msec]を,エコー量の大きさに0.6を指定しました.このため,遅れた波形は,元の波形の6割のレベルとなります.最初に説明したインパルス応答通りの結果になりました.エコー量に1.0を指定すると,出力ファイルは前節と同じ内容になります.

 

 

次に,通常の16ビット・モノラル音源を使用して処理してみましょう。

C:\>mono2stereo3 さよならmono.wav mono2stereo3_02.wav

 

ファイル名[さよなら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]

 "fmt "の長さ: 16 [bytes]

             データ形式: 1 (1 = PCM)

           チャンネル数: 1

     サンプリング周波数: 44100 [Hz]

          バイト数 / : 88200 [bytes/sec]

 バイト数×チャンネル数: 2 [bytes]

    ビット数 / サンプル: 16 [bits/sample]

 

 "data" の長さ: 26672856 [bytes]

 

 時間=302.413

 

モノラルファイル [さよならmono.wav] [mono2stereo3_02.wav] へステレオ変換しました.

 

入力波形:

入力WAVファイル(さよならmono.wavさよならmono全体.gif(同前)

 

出力波形:

出力WAVファイル(mono2stereo3_02.wavさよならmono全体左チャンネル.gif さよならmono全体左チャンネル.gif

 

一部を拡大してみましょう.入出力波形の100秒目から10ミリ秒を拡大してみます.

 

入力波形:

入力WAVファイル(さよならmono.wavの一部

 

出力波形:

 

出力WAVファイル(mono2stereo3_02.wavの一部)


エコーをかけ,左右チャンネルに時間差を与える

前節のプログラムに更に改良を加え,さらに左右のチャンネルの時間的ズレを多くします.以降にブロック図とインパルス応答を示します.

ブロック図

インパルス応答

 

 

以降に,実行例を示します.インパルスへの応答を試してみます.無音の50 [msec]の中心にパルスが乗っている波形を,本プログラムに入力し結果を表示してみましょう.

C:\>mono2stereo4 glitch16mono_50msec.wav mono2stereo4_01.wav 0.01 0.6

 

ファイル名[glitch16mono_50msec.wav]

 "fmt "の長さ: 16 [bytes]

             データ形式: 1 (1 = PCM)

           チャンネル数: 1

     サンプリング周波数: 44100 [Hz]

          バイト数 / : 88200 [bytes/sec]

 バイト数×チャンネル数: 2 [bytes]

    ビット数 / サンプル: 16 [bits/sample]

 

 "data" の長さ: 4410 [bytes]

 

 時間=0.050

 

ファイル名[glitch16mono_50msec.wav]

 "fmt "の長さ: 16 [bytes]

             データ形式: 1 (1 = PCM)

           チャンネル数: 1

     サンプリング周波数: 44100 [Hz]

          バイト数 / : 88200 [bytes/sec]

 バイト数×チャンネル数: 2 [bytes]

    ビット数 / サンプル: 16 [bits/sample]

 

 "data" の長さ: 4410 [bytes]

 

 時間=0.050

 

モノラルファイル [glitch16mono_50msec.wav] [mono2stereo4_01.wav] へステレオ変換しました.

 

入力波形:

入力WAVファイル

 

出力波形:

 

出力WAVファイル

 

入力波形は,無音モノラルの50 [msec]の中心(25 [msec]付近)にパルスが乗っている波形です.時間差に10 [msec]を,エコー量の大きさに0.6を指定しました.このため,遅れた波形は,元の波形の6割のレベルとなります.説明したインパルス応答通りの結果になりました.

 

次に,通常の16ビット・モノラル音源を使用して処理してみましょう。

C:\>mono2stereo4 さよならmono.wav mono2stereo4_02.wav

 

ファイル名[さよなら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]

 "fmt "の長さ: 16 [bytes]

             データ形式: 1 (1 = PCM)

           チャンネル数: 1

     サンプリング周波数: 44100 [Hz]

          バイト数 / : 88200 [bytes/sec]

 バイト数×チャンネル数: 2 [bytes]

    ビット数 / サンプル: 16 [bits/sample]

 

 "data" の長さ: 26672856 [bytes]

 

 時間=302.413

 

モノラルファイル [さよならmono.wav] [mono2stereo4_02.wav] へステレオ変換しました.

 

入力波形:

入力WAVファイル(さよならmono.wav

 

出力波形:

出力WAVファイル(mono2stereo4_02.wav

 

一部を拡大してみましょう.入出力波形の100秒目から10ミリ秒を拡大してみます.

 

入力波形:

入力WAVファイル(さよならmono.wavの一部

 

出力波形:

 

出力WAVファイル(mono2stereo4_02.wavの一部)

 


エコーをかけ,さらに左右チャンネルに時間差を与える

前節のプログラムに更に改良を加え,さらに左右のチャンネルの時間的ズレを多くします.前節では,左チャンネルのエコーした音と,右チャンネルの原音が同期していましたので,さらに時間をズラしてみます.以降にブロック図とインパルス応答を示します.

ブロック図

インパルス応答

 

 

以降に,実行例を示します.インパルスへの応答を試してみます.無音の50 [msec]の中心にパルスが乗っている波形を,本プログラムに入力し結果を表示してみましょう.

C:\>mono2stereo5 glitch16mono_50msec.wav mono2stereo5_01.wav 0.005 0.6

 

ファイル名[glitch16mono_50msec.wav]

 "fmt "の長さ: 16 [bytes]

             データ形式: 1 (1 = PCM)

           チャンネル数: 1

     サンプリング周波数: 44100 [Hz]

          バイト数 / : 88200 [bytes/sec]

 バイト数×チャンネル数: 2 [bytes]

    ビット数 / サンプル: 16 [bits/sample]

 

 "data" の長さ: 4410 [bytes]

 

 時間=0.050

 

ファイル名[input_wav\glitch16mono_50msec.wav]

 "fmt "の長さ: 16 [bytes]

             データ形式: 1 (1 = PCM)

           チャンネル数: 1

     サンプリング周波数: 44100 [Hz]

          バイト数 / : 88200 [bytes/sec]

 バイト数×チャンネル数: 2 [bytes]

    ビット数 / サンプル: 16 [bits/sample]

 

 "data" の長さ: 4410 [bytes]

 

 時間=0.050

 

モノラルファイル [glitch16mono_50msec.wav] [mono2stereo5_01.wav] へステレオ変換しました.

 

入力波形:

入力WAVファイル(glitch16mono_50msec.wav

 

出力波形:

 

出力WAVファイル(mono2stereo5_01.wav

 

入力波形は,無音モノラルの50 [msec]の中心(25 [msec]付近)にパルスが乗っている波形です.時間差に5 [msec]を指定します.エコー量の大きさに0.6を指定します.このため,遅れた波形は,元の波形の6割のレベルとなります.

 

次に,通常の16ビット・モノラル音源を使用して処理してみましょう。

C:\>mono2stereo5 さよならmono.wav mono2stereo5_02.wav

 

ファイル名[さよなら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]

 "fmt "の長さ: 16 [bytes]

             データ形式: 1 (1 = PCM)

           チャンネル数: 1

     サンプリング周波数: 44100 [Hz]

          バイト数 / : 88200 [bytes/sec]

 バイト数×チャンネル数: 2 [bytes]

    ビット数 / サンプル: 16 [bits/sample]

 

 "data" の長さ: 26672856 [bytes]

 

 時間=302.413

 

モノラルファイル [さよならmono.wav] [mono2stereo5_02.wav] へステレオ変換しました.

 

入力波形:

入力WAVファイル(さよならmono.wav

 

出力波形:

 

出力WAVファイル(mono2stereo5_02.wav

 

曲が長いので,一部を拡大してみましょう.入出力波形の100秒目から10ミリ秒を拡大してみます.

 

入力波形:

入力WAVファイル(さよならmono.wavの一部

 

出力波形:

 

出力WAVファイル(mono2stereo5_02.wavの一部)

 

どのプログラムでも,モノラルがステレオに聞こえます.効果の程度は自分の耳で確かめてください.