<正弦波の場合>
試す前から言ってる事がなんか違う気がしてならないけどそれは置いといて、
まずサンプルめいて付いてきた10Hzは人間は聞いてもまずわからないのでWaveGaneで聞こえる正弦波1kHzを用意。
そもそも20Hz以下は大半の人間は可聴範囲外です
16bit 44.1kHzなWAVEファイルの1kHz正弦波
それをただ音量上げてから補正してみると画像的には綺麗に。結果をWAVEファイルで貼り付け(重い&IE非対応)
ごめんこの画像1kHzだったorz
1kHz正弦波+1dB
補正した1kHz正弦波+1dB
1kHz正弦波+2dB
補正した1kHz正弦波+2dB
補正した1kHz正弦波+2dB(プリゲイン設定-1)
1kHz正弦波+6dB
補正した1kHz正弦波+6dB
「なんで画像Waveconvでノーマライジングしてんの?」ごもっとも。出力波形を全く見ずにとりあえず突っ込んでました()
<楽器の音の場合>
とりあえず手元にあった素材がこちら↓
某R○land TD-10?のスネアの音らしい。既にクリッピングしてるよやったね(棒)
著作権的にヤヴァイので上げられないよ!
こいつを元波形としてとりあえず補正してみるとこうなる↓
設定-3の場合
設定-6の場合
なんかみょいーんと伸びていってる箇所があるんですがこれは。
大きく潰れるとどうにもならない模様。まあ補間しようにも手がかりが無いからなぁ。
お次は元波形を更に6dB持ち上げてみた奴↓
派手にクリッピングしてます。ちなみに私の耳では割れてるのかわかりませんでした()
流石に元波形からは遠い感じが。まあ6dBもクリッピングさせる事なんてそうそう無いはず(慢心)
<あくまでサンプル>
ちなみにこのソフトで補正できるのはクリッピングだけなので本当に海苔な曲には無力です。
具体的にはWAVES L3-16やSonnox Inflator等々でギッタンギッタンにしてあるのはどうあがいても無理です。
元波形をKRISTAL Audio Engine上のTLs 4032 Pocket Limiterでギッタギタに潰した波形。
見ての通り露骨にクリッピングしてる部分がないです。ちなみに補正かけても特に変化しませんでした(ぇ
例としてテキトーに海苔音源を作成↓Jeroen Breebaart Broadcastでギタギタに潰しております。
拡大してみるとこんな感じに。
補正かけると音量がすごい小さくなっただけで終了。というかなんであんなクリップすんの…?
結論(という程テストしてないが)としては海苔音源というより「マスタリング工程で1dB程度クリッピングしてる音源」に関しては効果がありそう。
あと何故かFFmpeg rev.34028でWAVE変換したファイルや上記SoundFontの波形を読み込むとエラーが出た…
Creative WaveStudio7で名前を付けて保存しなおしても駄目。uLilithでWAVEからWAVEに変換しなおすと読み込めた謎。
とりあえず携帯動画変換君付属のffmpeg build 4759で出力したWAVEは読めたのでそれで処理しとけばいいや…
※2016/2/14追記※
作者様から新バージョンが出たとのコメントを頂きましたので試してみますた。
結構前(2016/1/1!!)に出てたのに気づいてなくてすいません…
今回は時間の都合で1dBクリッピングしてる1kHz正弦波のみで実験(手抜きじゃないよ!)
元波形と1dBクリッピングは上に貼ってあるので省略な。
スプライン補間版(decropper.exe)かけた1kHz正弦波(1dBクリッピング)
ぶっちゃけ今回も耳じゃよくわからなかったので元ファイルとの差分を用意してみたよ!
アッハイ
音量的に写りもしなかったのでWaveSpectraに投げ込んでみるとこんな感じでした。
ぶっちゃけ差分の作り方がひどくテキトーなのでそこで生じた分もありそうなのよね…でも-60dB以下だった模様
ちなみに元ファイルと1dBクリッピング版の差分はこんな感じでした。
前回試したラグランジュ補間版と比較するとこんな感じに。
正弦波ではスプライン版の方がいい感じかな?
で、前回同様クリッピングしてる某Soundfontのスネア音をスプライン版にかけてみたよ↓
繋がりがラグランジュ版より自然になってる…けど元波形はおそらく下のチャンネルと同じなのよね。
過剰にクリッピングした音源に対しての補間量に関しては予測が難しそうね(無知)
なお今回もこのスネアの波形投げ込むとエラー吐いたのでuLilithでWAVE→WAVE変換してから読ませてます。
という訳でテストに使ってた携帯動画変換君の設定コピペも更新。
[Info]
Title=クリッピングした波形の補修
TitleE=CROPPED WAVE REPAIR
Description=http://qiita.com/YSRKEN/items/eca369f7a5a1b2b2385d
DescriptionE=http://qiita.com/YSRKEN/items/eca369f7a5a1b2b2385d
[Item0]
Title=クリッピングした波形の補修(ラグランジュ補間)
TitleE=CROPPED WAVE REPAIR(LAGRANGE INTERPOLATION)
Command0=""<%AppPath%>\cores\croprepair\croprepair2" "<%InputFile%>" -3"
Command1="mv -f "<%AppPath%>\repair+.wav" "<%OutputFile%>.wav""
Command2="rm "<%TemporaryFile%>""
[Item1]
Title=クリッピングした波形の補修(ラグランジュ補間) w/ 入力WAVE変換
TitleE=CROPPED WAVE REPAIR(LAGRANGE INTERPOLATION) w/ WAVE CONV.
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -vn "<%TemporaryFile%>.wav""
Command1=""<%AppPath%>\cores\croprepair\croprepair2" "<%TemporaryFile%>.wav" -3"
Command2="mv -f "<%AppPath%>\repair+.wav" "<%OutputFile%>.wav""
Command3="rm "<%TemporaryFile%>.wav""
[Item2]
Title=クリッピングした波形の補修(スプライン補間)
TitleE=CROPPED WAVE REPAIR(SPLINE INTERPOLATION)
Command0=""<%AppPath%>\cores\croprepair\decropper" "<%InputFile%>" "<%OutputFile%>_repair.wav" 5"
Command1="rm "<%TemporaryFile%>""
[Item3]
Title=クリッピングした波形の補修(スプライン補間) w/ 入力WAVE変換
TitleE=CROPPED WAVE REPAIR(SPLINE INTERPOLATION) w/ WAVE CONV.
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -vn "<%TemporaryFile%>.wav""
Command1=""<%AppPath%>\cores\croprepair\decropper" "<%TemporaryFile%>" "<%OutputFile%>_repair.wav" 5"
Command2="rm "<%TemporaryFile%>.wav""
え?普通のWindowsにmvは無い?だってmoveだと動かなかったんだもん…
さも当然のようにmvで書いて後から普通のWindowsには無い事に気付いた模様
move使うように書き換えるかMinGWインスコして、どうぞ(手抜き)
そのプログラムの改良版も出しました。ご確認いただけると幸いです
返信削除http://qiita.com/YSRKEN/items/eca369f7a5a1b2b2385d