MakeDPCM 取扱説明書
MakeDPCM Version 1.0.0.0
1.基本操作
(1)変換するwaveファイルを用意(44.1kHz 16bit モノラル であること)
(2)オプションを設定する(初期設定で DMCconv とほぼ同じ)
(3)waveファイルをウィンドウにドラッグアンドドロップする(複数でもOK)
(4)試しに鳴らしてみる(DPCMボタン)
(5)設定を調整して再コンバート(Convボタン)
(6)納得いくまで調整
成功するとWaveファイルと同じ場所に同名のDMCファイルが出力され、
右上のテキストボックスにファイル名やステータスが表示されます。
初期設定に戻すにはResetボタンを押してください。
2.注意事項
・動作には .NET Framework 4.0 以上が必要(WindowsXP以降が必要)
・極端な設定にするとエラーになる場合がある
・DMCファイルは上書きされる
・波形表示は処理が重い
・多重起動時の設定ファイル(設定ファイルは終了時に上書きされる)
・処理はすべて、「音圧」ではなく「数値」として扱っている
3.各部名称
4.処理の流れ
画面の左から右へ、上から下へ処理が進む
5.Waveファイルの入力
入力可能なWaveファイル
・いわゆるWindowsのWaveファイル
・44.1kHz
・16bit
・モノラル
・拡張子が .WAV または .wav
入力方法
・エクスプローラなどからWaveファイルをドラッグアンドドロップする
ドラッグアンドドロップ
・Waveファイルだけ処理する(拡張子で判別)
・指定フォーマットのWaveファイルだけ処理する(ヘッダで判別)
・複数のファイルをまとめてドロップ可能
・複数のWaveファイルをドロップした場合は順次すべて処理する
6.WAVEオプション
Normalize
・Waveファイルの限界まで音量を大きくする
・最大値が上限、または最小値が下限になる倍率を全体にかける
Volume(画面上は入力欄のみで表記はない)
・0.1%~200.0%まで設定可能
・全体に割合をかける
Envelope
・直線で描いた形の倍率で音量変化させる(ピークが直線に沿うわけではない)
・直線を表示・編集するには波形表示選択のEnvelopeにチェックを入れる
・上限が2.0倍、中央が1.0倍、下限が0.0倍
・Envelopeオプション側のチェックボックスを右クリックすると直線がリセットされる
DPCMが追い付けない部分にコンプレッサ(手動)をかけたり、
減衰音の減衰量操作に使用できます。
TrimZero
・先頭と末尾から音量が±256以下のサンプルを削除
・注意:Waveファイルが短くなる
・注意:Waveファイルの長さが0になった場合は機能しない
65536段階(Wave)を128段階(DPCM)でサンプルし直すと
1(DPCM)あたり512(Wave)になり、0をまたぐので±256となる。
1(DPCM)以下はノイズにしかならないのでDPCM的には不要。
7.MovingAverage
MA(MovingAverage)
・マイナス側の振幅(音量)を検出し、Wave全体のマイナス側ピークを下限に沿わせる
・DPCM変換後、減衰音が消える直前のノイズを軽減する
・三角波やノイズの音量を極力大きいままにできる
Type
・SMA(Simple Moving Average) そのサンプルを中心に指定lengthサンプルの幅で平均を求める
・WMA(Weighted Moving Average) そのサンプルから遠いほど重みが直線的に軽くなる
・EMA(Exponential Moving Average) そのサンプルから遠いほど重みが指数関数的に軽くなる
Leng(Length)
・移動平均を求める幅
・1~10000を指定可能
Amp(Amplifier)
・求めた移動平均の値を増幅する
・0.01~10.0を指定可能
Bias
・加算する値
・-10000~10000を指定可能
8.Swingオプション
Swing
・Waveの振幅(音量)はそのままに、波形全体を直線に沿わせる
・直線を表示・編集するには波形表示選択のSwingにチェックを入れる
・Swingオプション側のチェックボックスを右クリックすると直線がリセットされる
Zero
・直線をWaveの音量0の線として波形を沿わせる
Min
・直線をWaveの下限の線として波形を沿わせる
9.DPCMオプション
Rate
・DPCMのサンプリングレートを指定する
First
・最初の音量を指定する
・0~127を指定可能
・Autoにチェックを入れるとWaveの最初の音量から求める
10.DMCオプション
Padding
・データ長を16byte境界に合わせる
・追加されるデータは、MAまたはSwing有効時は0x00、どちらでもない場合は 0x55
・設定ファイルにて dmc_padding_proc=True であれば、足りない場合に追加する(初期値)
・設定ファイルにて dmc_padding_proc=False であれば、余分な場合に削除する
・注意:実際には16byte境界+1byteになる
SizeLimit
・データ長が4081byteを超える場合は超える部分を削除する
FileOut
・変換後にDMCファイルを出力する
11.波形表示選択
Envelope
・ピンク
・WAVEオプションのEnvelopeの直線を表示し、編集可能にする
・Envelopeの処理を有効にするにはWAVEオプション側にチェックをつける
Swing
・黄色
・Swingオプションの直線を表示し、編集可能にする
・Swingの処理を有効にするにはSwingオプション側にチェックをつける
WAVE(in)
・青
・WAVEオプション処理後の波形を表示する
WAVE(out)
・灰色
・DPCM処理前の波形を表示する(Swingオプション処理後の波形)
MA
・緑
・MovingAverageで生成された波形
DPCM
・赤
・DPCMの波形
色の変更
・設定ファイルの color_ で始まる項目を変更すること
・0xで始まる16進数表記8桁であること
・上位から1byte毎に Alpha、Red、Green、Blue
・Alphaは00が透明、FFが不透明
12.波形表示/拡大縮小
波形
・基準線が3つあり、上から上限、中央、下限
・WAVE(in)、WAVE(out)、MA、SwingはWAVE波形であり、上限は32767、中央は0、下限は-32768
・MA、SwingはWAVE波形であるが、処理のために使用される
・DPCMはDPCMを再生した波形であり、上限は127、中央は63、下限は0
・Envelopeは割合を示す直線であり、上限は2.0、中央は1.0、下限は0.0
・注意:画面を広くすると処理が重くなる
直線
・点は左クリックのドラッグで上下左右に移動が可能
・点の左右の移動は隣の点を越えられない
・左端、右端の点は左右の移動は不可
・点を追加するにはShiftキーを押しながら左クリック
・点を削除するにはCtrlキーを押しながら点を左クリック
・注意:画面外に移動可能だが、再度移動できなくなる
拡大縮小
・左右は拡大と縮小が可能で、画面の大きさによらない
・上下は拡大が可能で、画面の大きさによる
・注意:拡大するとサンプル幅がバラバラになる
13.ボタン類
Conv
・最後に入力したWaveファイルを現在の設定で変換する
・DMCファイルが上書きされる
・注意:複数ドロップしても最後にコンバートした1つだけが対象
WAVE
・WAVEオプション処理後のWaveを再生する
・注意:各種オプションを変更してもConv(変換)しなければ再生されるWaveは更新されない
DPCM
・DPCMを再生する
・注意:各種オプションを変更してもConv(変換)しなければ再生されるDPCMは更新されない
・注意:DPCMをWAVE(44.1kHz)に変換して再生しているのでエミュとも実機とも違う
Reset
・各種オプションを初期設定にする
・最後に入力したWaveファイルは維持される
14.情報表示
WAVE
・file: ファイル名
・sample: サンプル数
・length: 時間 msec
・value: 最小値 / 最大値
DMC
・file: ファイル名
・size: ファイルサイズ byte
・sample: サンプル数
・length: 時間 msec
・value: 最小値 / 最大値
*** Error occured ***
・エラーが発生した
・設定を見直すこと
*** Failed... ***
・エラーが発生するなどして変換に失敗した
・設定を見直すこと
15.MA・Swingの意味
DPCMの波形が0に沿うようにする
DPCMに変換したとき、DPCMの波形がDPCMの音量0に沿うようにする。
DPCMで無音を表現する
DPCMは「以前より大きいか小さいか」を表した0か1かの1bitサンプルです。
なので音量変化がない状態を維持することはできません。
同じ音量を維持しようとすると 0と1を繰り返す必要がありますので
高音ノイズ(再生速度が33kなら16k)が鳴ってしまいます。
しかしながら、ずっと0が続いたら、どうでしょうか。
最初の音量がいくつであれ、いずれは音量0になり、0以下には下がりません。
つまり、DPCMを再生しつつ、無音を表現できます。
無音が表現できると何がよいのか
無音とノイズの境界で、ノイズを少しでも軽減することができます。
....
WAVEオプションのTrimZeroがあればMAやSwingがほぼ必要ない事に気づいてしまっても
ツールとして完成させる事が優先されました。
0に沿わせる利点
ファミコンの不思議として、DPCMの音量($4011の値)が大きいとき、
三角波、ノイズの音量が小さくなる仕様があります。
波形を0に沿わせておけば、再生終了後は0になっているので
三角波などの音量をなるべく大きくしたままにできます。
0に沿わせる欠点
再生開始の音量が違う音(63とか)を併用するとプチノイズが出る。
16.ライセンスなど
著作権表示
MakeDPCMの実行ファイルとソースコードの著作はすべてDDSSに帰属します。
Copyright (c) 2013 DDSS, All rights reserved.
ライセンス
以下の条件を満たす場合に限り、
「MakeDPCMの実行ファイルとソースコード」(以下は本ソフトウェアという)の
「改変を含めた使用または再配布」(以下は使用という)を許可します。
・悪意に基づいた使用をしてはならない
・一部または全てを使用する場合は著作権者を偽って表示または呼称してはならない
・本ソフトウェアの使用によるすべての事象の発生や変化について、
著作権者はこれを保障しない。また、責任を負わない。
17.連絡先
DDSS Product Strage
http://www.ddss.sakura.ne.jp/
Twitter
https://twitter.com/DDSS_JP