2012年08月18日

PCM-DSDコンバータ version1.5

いろいろとありましたが、Version1.5を公開します。

以下の対応を行いました。
・パラメタを指定しなかった場合のデフォルト値をDSD256、タップ数を32768としました。
 DSD64等に変換する場合は明示的にパラメタ値を指定してください。
 自宅の環境では、i7で5分のデータの変換時間が10分くらいかかりました。

・タップ数/t:65536を正式にサポートしました。
 音は良くなるのですが、変換時間は32768の4倍くらいかかります。

・変換中がわかるように「.」を表示し、変換時間を分/秒表示するようにしました。

プログラムはここに公開します。

Wave to Dsdiff Converter - Version1.5 -
wav2dff.exe infile <outfile> </DSD256> </r> </t:32768> </k:10> </p:5>
<..> option paramater is follow.
</DSD oversample> /DSD64 or /DSD128 or /DSD256(default)
</r: Retry again to set normalize offset -1 position until 10 times>
</n: normalize offset> -1...-N or 1...N number
</k: Kaiser Window Alpha Value> ex /k:4../k:16 /k:10(default)
</t: tap count> /t:2048 or /t:4096 or /t:8192 or /t:16384 or /t:32768(default) /t:65536
</p: 7Th Noise Shaper pattern number> 1...5 number
1 = NoiseShaper param Zero1=0.94, Zero2=0.73, Zero3=0.41
2 = NoiseShaper param Zero1=0.95, Zero2=0.74, Zero3=0.42(degfault)
3 = NoiseShaper param Zero1=0.96, Zero2=0.76, Zero3=0.43
4 = NoiseShaper param Zero1=0.97, Zero2=0.77, Zero3=0.43
5 = NoiseShaper param Zero1=0.98, Zero2=0.78, Zero3=0.44
ex. wav2dff.exe \"c:\\data\\aaa.wav\" /p:5


また、DSD Directを使った変換をサポートするプログラムのバッチを少し改良しました。
ここに再公開します。

DFFのサンプリングレートを変更するプログラムを同梱しています。
詳細はこの記事を参照ください。

公開しているプログラムは各環境によって違いがあり、問題があっても自身で解決される方を前提としています。
また、きりがないので、バグの報告以外の質問やプログラムへの要望は遠慮願います。

あと、Xpや他で生成したバイナリが異なることが不思議だったので、公開されているFUSEのソースをVCでコンパイルが通るようにちょっと手直して動作させてみました。
Xpでは動作しましたが、Windows7では落ちてしまいます。
まじめに見ていませんが、初期値設定あたりが問題ありそうです。
Windows7のXp互換モードではなんとか動作しましたが、やはり公開されているプログラムと同じようにXpで生成したデータと1ビットずれたデータが定期的に出力されています。
これもどうやらプログラムの作りが影響してそうです。

<8/19 追記>
Wave Pcm Upconvert Playerの作者のYUKI-SANさんにより、wav2dff用のGUIプログラムを作成いただきました。
YUKI-SANさんのHPからファイルがダウンロードできます。
Wav2DffGui.exeをwav2dff.exeと同じフォルダに置いて利用してください。
.NET Framework 4が必要でとのことすが、うちの環境では普通に入ってました。

こんなニッチなプログラムにGUIを付けていただき、YUKI-SANさん、本当にありがとうございました。
うれしい限りです。


posted by sunacchi at 17:26| Comment(36) | PCオーディオ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
FUSEv022をMacOS/unix用に改造された人がいて,64bitにも対応させたと書いてあります。ソースがGPLで公開されていますので,見られたらいかがしょうか。昨日見つけたのですが,ファイルが28個もあるので,原版との差分はまだとっていません。ググればすぐに見つかります。
Posted by sotaro at 2012年08月18日 19:16
有用なソフトの再公開非常にうれしくおもっております。ありがとうございます。私の環境でver1.4で生成したDSD256が,UDAに付属してくるPlayAudioではじかれてしまう場合がありました。こちらを使って再トライさせていただきます。

FUSEは私の環境でも、Windows7とXpでバイナリがことなってしまいました。Windows7のXPモードではバイナリが一致しましたが、遅くて使い物にならず。昼間の変換は、FUSEV022+DSD Direct, 就寝中の変換はsnacchiさまのソフトで変換と使い分けております。

t:65536を早速ためさせていただきます。(^^

Posted by たくぼん at 2012年08月18日 19:20
sotaroさん

FUSUに関してはまじめに対応する気はないので、お気遣いなく。

たくぼんさん
V1.5でも出力データは同じです。
こちらはDSD256の再生はほぼSDTransのみでやってます。
Posted by sunacchi at 2012年08月18日 19:57
SD Trance予約してます。待ち遠しいです。(^^

こちらのi5の環境ですと、t:65536は・・・ 時間はかかりますが、設定する価値は十分確認できました。すばらしいソフトありがとうございました。なにより、一発で変換できるのがつかいがってがいいです。(^^
Posted by たくぼん at 2012年08月18日 23:51
sunacchi 様
はじめまして。YUKI-SANと申します。

「wav2dff.exe」大変すばらしいプログラムですね。
DSD64でもAudioGateより好印象な音になっていると思います。

自分用にと思い、GUIプログラムを作成したのですが、もしよろしければお試しください。
http://firestorage.jp/download/60be539406388915ff199d2c05bcaeee7ad59f43
.NET Framework 4が必要です。
Wav2DffGui.exeをwav2dff.exeと同じフォルダに置いてください。
Posted by YUKI-SAN at 2012年08月19日 01:04
YUKI-SANさん

かっこいい。。。
こんなセンスのいい画面、自分では絶対作れそうもありません。
ニッチなプログラムにGUIを付けていただき、本当にありがとうございます。
こちらこそ、よろしくお願いします。
Posted by sunacchi at 2012年08月19日 09:43
ほんとかっこいいですね。(^^

便利に使わせていただきます。ありがとうございました。m(_._)m
Posted by たくぼん at 2012年08月19日 11:15
Sunacchi 様、YUKI-SAN 様

初めまして、JKと申します。

素晴らしいソフトの開発・公開、心底より御礼申し上げます。
本当に掛け値なし、世界に誇れるソフトではないでしょうか。
フロンドエンドにYUKI-SANさんの、コレもまた抜群の「窓」が付き、使い勝手も大いに向上、今、製品化されても少しもおかしくないレベルですね。
私は、買います。

これからも大事に使わせていただきます。
有難うございました。

(知識がなく、恩恵に浴することしかできないのを申し訳なく思います。)
Posted by JK at 2012年08月19日 14:57
sunacchiさま、
SDTrans384用のファイル作成に愛用させていただいております。
いつnも本当にありがとうございます。
Posted by ks at 2012年08月19日 21:01
Sunacchi様、YUKI-SAN様

お二人のご努力に深く感謝申し上げます。

/t:65536の効果はあると感じました。

ところで、Wav2DffGui.exeを使用した場合、/rオプションの指定がうまくできないように思うのですが。(/rは数字無しの/rのみという理解です)
どうかご検討をお願い申し上げます。
Posted by Bunpei at 2012年08月20日 23:57
Bunpei 様、Sunacchi様

どうやら仕様を勘違いしていたようです。
失礼いたしました。
私のGUIの更新の度にこちらにお邪魔するのもご迷惑かと思いますので、sunacchiさんの許可をいただけるのでしたらGUIのみ私のサイトで公開させていただきたいのですが、いかがでしょうか?
Posted by YUKI-SAN at 2012年08月21日 00:54
YUKI-SAN

素晴らしいソフトをありがとうございます。変換の手間をかなり削減することができました。

WindowsXPのPCでは動作しませんでしたので、Windows7のマシンで運用しております。
このソフトをXPで動作させることは可能でしょうか?

Posted by たくぼん at 2012年08月21日 11:57
YUKI-SAN樣

許可は、特に要らないのでは?
是非HPで公開してください。
こちらも、気が向いたら、仕様をコロコロ換えるので、同期がとりにくくてすいません。
Posted by sunacchi at 2012年08月21日 12:41
sunacchi様

ありがとうございます。
私のサイトにて最新版を公開いたしました。
以前ご紹介したバージョンは削除いたしました。
今後とも、よろしくお願いいたします。

Bunpei様

/r オプション修正いたしました。
最新版をお試しいただけますと幸いです。

たくぼん様

XP SP3にMicrosoft .NET Framework 4をインストールする事で動作する事を確認いたしました。
XPには標準でメイリオが入っていないので、少々カッコ悪いですが・・・
Posted by YUKI-SAN at 2012年08月21日 20:11
YUKI-SANさま

SP3にバージョンを上げましたら利用することができました。ありがとうございました。メイリオなくても十分かっこいいです。:)
Posted by たくぼん at 2012年08月22日 02:06
YUKI-SAN様

お蔭様で、/rオプションが使えるようになりました。
早速のご対応、本当にありがとうございました。
海外にも紹介させていただきたいと思います。
Posted by Bunpei at 2012年08月22日 23:50
snacchiさま

wav2dffで変換したdffがPlayAudioで認識しないものがあった件ですが、私が48khzのファイルをそのまま変換したためでした。おさわがせしました。m(_._)m
Posted by たくぼん at 2012年08月23日 10:40
snacchiさん

私のUDA(DoP)基盤のバルク転送モードのファームウエアがDSD256に対応しておらず、田力さんに更新しただき、ようやくDSD256が聴けるようになりました。

Bunpeiさんにも助けていただき、こちらのプログラムを使わせていただき、PCMをDSD256に変換しています。yuki_sanさんのGUIは助かりますね。

変換時間も半分くらいに短縮されたようで、Coa2Duoで何とか頑張っています。

勝手ながら私のブログでも紹介させていただきました。

しばらくは、また、時間とディスク容量に悩まされそうですが、この音が聴けるなら仕方ないですね。
Posted by asoyaji at 2012年08月25日 17:36
snacchiさん

私のUDA(DoP)基盤のバルク転送モードのファームウエアがDSD256に対応しておらず、田力さんに更新していだき、ようやくDSD256が聴けるようになりました。

Bunpeiさんにも助けていただき、こちらのプログラムを使わせていただいて、PCMをDSD256に変換しています。yuki_sanさんのGUIは助かりますね。

変換時間も半分くらいに短縮されたようで、Coa2Duoで何とか頑張っています。

勝手ながら私のブログでも紹介させていただきました。

しばらくは、また、時間とディスク容量に悩まされそうですが、この音が聴けるなら仕方ないですね。
Posted by asoyaji at 2012年08月25日 17:39
asoyaji さん

ここ数日asoyaji さんのサイトからのリンクでアクセス数も若干増えているようです。
asoyaji さんのサイトは影響力があるサイトだと思っていますので、事実と、思いは明確に記述お願いしたいところです。
Posted by sunacchi at 2012年08月26日 01:08
sunacchi様

sunacchi様のプログラムをいつも愛用させていただいております。
「wav2dff.exe Version1.5」もダウンロードさせていただきました。/t:65536にて変換した音は素晴らしいです!
愛用させていただきたいと思います。
すばらしいソフトを開発してくださいまして本当にありがとうございます。


YUKI-SAN様

カッコいいGUIを開発してくださいまして本当にありがとうございます。


sunacchi様、YUKI-SAN様
貴重なプライベートのお時間、本当に多くのお時間を割いてのプログラム開発だと思います。お忙しい中、多大なお時間を割いて素晴らしいプログラムを開発してくださり、そして無償で公開してくださり心から感謝申し上げます。
この場をお借りしてお礼申し上げます。
本当にありがとうございます。
Posted by sky at 2012年08月27日 12:27
Version 1.5とGUIをdiyAudioのKoonさんのスレッドで紹介させていただきました。
http://www.diyaudio.com/forums/digital-source/200818-dsd-playback-system-dsf-player-usb-ddc-dsd-amplifier-11.html#post3136488
そこで2名の方から使ったという返事がありました。
また、Koonさん本人からは、Compressorを使ったらという返事がありそのCompressorのC言語ソースもポストしてくれています。
http://www.diyaudio.com/forums/digital-source/200818-dsd-playback-system-dsf-player-usb-ddc-dsd-amplifier-11.html#post3146349
どうか参考になさってください。
Posted by Bunpei at 2012年09月02日 14:19
Bunpeiさん

本来なら、他のアップサンプリングソフトと同じようにファイルのピーク値を一旦調べて、それにあわせてノーマライズするのが筋だと思っています。
ソースをきちんとみてないですが、常にCompressorを通した場合は問題ないか、Compressorがかかっている状態ではどの程度音が変るか気になりますね。
対応するとしたら、新しいオプションを付けるか、クリップした場合にCompressorをかけて、リトライし直すのがいいかもしれませんね。

あと、ソースの解析は、ほどほどにしてね。
またへそまげちゃいますよ。
Posted by sunacchi at 2012年09月02日 22:10
> あと、ソースの解析は、ほどほどにしてね。
> またへそまげちゃいますよ。

これは、私向けのメッセージですか?

それならば誤解です。diyAudioで紹介しているのはオプションパラメータの意味だけで、その意味はKoonさんのソースを読んだときの言葉をもとに書いています。sotaroさんがバグを見つけてくれて以降は一切sunnachiさんのソースは追いかけていません。

しかし逆にいうと、各オプションパラメータの意味をそのまま読んだだけで理解できる人がいたとしたら相当ディジタル信号処理にお詳しい方でしょうね。
Posted by Bunpei at 2012年09月02日 22:55
Bunpeiさん

すいません、失礼しました。
あまりにdiyAudioの記述が明確だったので、誤解してしまいました。

Koonさんのソースを見ましたが、基本的にクリップする頻度によってCompressorすべきか判断したほうがよさそうですね。
最近、DSDのバイナリデータを良く見ることがありますがもうクリップ値の判断ももう少し手直ししたほうがよさそうです。
それも含めて、対応するにしてもちょっと時間がかかりそうですね。

Posted by sunacchi at 2012年09月02日 23:44
Sunacchi様

誤解が解けてよかったです。

ところで、Compressorを最初から一律にかけることはしないという考え方に賛成です。Compressorというのは、必ず歪を導入するものだと思いますので。
オプション指定で「かける」を選択したにしても、一度ノイズシェーピング無しにアップサンプリングだけを一通り最後まで試みて、もしその中でクリッピングがあったら初めてかけるというのが妥当なところでしょうか?しかし必ず2パスというのも時間がかかっちゃいますが。
AudioGateなんかどうしているんでしょうね。曲によってはCLIPランプがつきまくりでも、平気で処理を続けていますものね。
いずれにせよ、Compressorをかけた音を聴いてみてからの話ですね。
Posted by Bunpei at 2012年09月03日 23:47
こんにちは

ノーマライズにちょっと関連するのですが
SACDに記録するDSD信号は0dBを変調度50%と規定しており、+3dBまでは記録して良いことになっているそうですが
sunacchiさんのプログラムではどうされていますか?

DAC-ICによっても+6dBまで入力可能なもの、+3dBまで入力可能なものがあるようで
どうあるべきものなのか混乱しています。
(WM8741やCS4398のdsd direct modeは前者のようですが、AD1955のデータシートの説明は後者のように感じます。)

そもそも+6dB(変調度100%)で安定な高次1bitΔΣ変調器というのは、不可能なのかもしれませんが。
(雑誌などを斜め読みしただけの知識です済みません)
Posted by hen at 2012年09月17日 11:50
henさん

プログラム上では理論上問題のない値でFIR時にノーマライズして、その後7次のIIRのLPFを通していますが、その際に、現状は目いっぱいの値でクリップの判定してます。
+6dB(変調度100%)がクリップ値ということであれば、そこのちょっと手前まで乗せていることになりそうです。

ES9018しか試していませんが、その範囲では受け付けてくれます。
さすがにクリップ値ではES9018はUNLOCK状態になります。
Posted by sunacchi at 2012年09月17日 18:57
sunacchi様

ご返信ありがとうございます。
大振幅の1bitΔΣ変調でもデジタル領域ではかなり大きなところまで安定性がとれるのですね。
(SACD規格が50%で0dBと規定されているのは当時の1bitADCとの兼ね合いだったのかな?)

ES9018がクリップしないということは、+3dBしていないということのようですね。
いろんな機能を盛り込んでいて、内部では32bit以上で処理しているであろうDACとしては意外でした。

しかしCS4398のDSD入力では通常モードとダイレクトモードとがあり、前者では+3dBされているようです。
AD1955もbit expansionという機能がついているそうなので同様と思います。
こういう機能があると+3dB以上のDSD入力ではクリップしてしまうので変な事になるかもしれません。
Posted by hen at 2012年09月19日 23:03
Version1.5を今回はじめて使わせてもらったんですが、wavがdffファイルに変換出来ず途方にくれてます。
windows7環境でPCM44.1kHzをDSD256に変換する場合事前にPCM44.1kHzを88.2などにアップサンプリングしてからになるのでしょうか?
それともPCM44.1kHzからでもDSD256に一発変換出来ますでしょうか?
ちなみオプションの設定はデフォルトのままにしてます。
Posted by at 2012年10月06日 20:38
オプションの指定なしでPCM44.1kHzからでもDSD256に一発変換できると思います。
どんなエラーが出てますか?
Posted by sunacchi at 2012年10月06日 23:12
すいません。エラーって書き方に誤りがあります。デフォルトの設定のまま変換を始めましたら、.dff保存先には変換中は(曲のタイトル).dffってファイルがあるのですが、変換終了後になぜかdffファイル消えてしまいます。
Posted by at 2012年10月07日 04:07
たぶんクリップエラーになっていると思います。
画面でエラー情報が表示されているはずです。

wav2dffでがファイルをアップサンプリングして、高域カットするしてDSDのデータに変換してします。

元ファイルが音の大きさ(レンジ)が大きすぎると、DSDデータとしては再生できないピークが連続したデータとなるため、その場合はクリップエラーとしてエラー表示し、変換途中のデータを削除しています。

少し音の大きさ(レンジ)を下げるとコンバートできる可能性がありますので、パラメータとして/n:-5くらいを設定して試してみてください。
それでもだめな場合は-5をどんどん小さくしていくと、どこかで変換できるかもしれません。
Posted by sunacchi at 2012年10月07日 11:53
返事が遅くなりすいませんでした。
クリップエラーとのご指摘頂いたとおり、先ほど/n:-10ぐらいで無事に変換出来ました。

オプションに設定方法を教えて頂き有難う御座います。
Posted by at 2012年10月08日 12:01
はじめまして

wav2dffを使わせていただいている者です。CDから
リッピングしたwavファイルをwav2dffで変換しようとしたら「wavフォーマットではない」としかられてしまいます。Windows Media Playerでwavで取り込んだものなので間違いなくwavフォーマットだと考えています。どうして「wavフォーマットではない」とエラーになってしまうのでしょうか?
教えてください。
Posted by おったん at 2015年05月21日 12:12
おったんさん

2年以上前に作成した個人で提供しているフリーなソフトなので、今更サポートもきびしいです。
WAVのフォーマットが変わってきているかもしれませんね。
すいませんが、他の古めのソフトを使ってリッピングするとか、何とか自己解決お願いできないでしょうか。
Posted by sunacchi at 2015年05月22日 00:13
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: