2017年3月1日水曜日

 ご無沙汰しております。2年ぶりの更新です。

 フルエンシー8Xオーバーサンプリング ノンFIR WAV/FLACプレーヤー作りました。所謂シリコンオーディオプレーヤであり、基板上のボタンで再生操作するので、ネットワークに接続とかは有りません。

 RasPiのVolumioでタンデム基板鳴らしてましたが、MPDのFIR入った192アップサンプリングでDSD512を聴いていた訳です。

 この音は大迫力ではあるのですが、やはり物足りない。
 嫌気がさしたので、FIR無しなフルエンシー補完でオーバーサンプリングな再生機を造って音を出してみました。
 これが大成功!
 ホワイトノイズをMPDでアップサンプリング再生すると、21kHzでバッサリ切れてましたが、44kHzまでなだらかにだら下がりな特性が得られました。
 これがフルエンシー補完だって感じです。

 PCM384の解像度になると、DSD512とはまた違った迫力で迫ってきますね。8Xで動かせて本当に良かったです。

 タンデム基板でDSD512を聴くには、「ラズパイと逓倍基板をお使いください」
 「MPDの設定で192にアップサンプリングしてください」としていましたが、
 「今までのはごめんなさい。本当のDSD512はこれです。」と言える再生機ができました。ラズパイとamaneroを、本フルエンシープレーヤに取り替えてください。

 USBメモリ、マイクロSDHCカード、両方にFAT32フォーマットで対応します。
 対応ビット数は、WAV 16,24,32ビット。 FLAC 16,24ビット(libFLAC1.31)。

 WAV 44.1、88.2、176.4を、8倍、4倍、2倍の352.8kHzに。
 WAV 48、96、192を8倍、4倍、2倍の384kHzにオーバーサンプリングしてIISを出力します。
 FLACは、低圧縮変換ファイルでは2倍か4倍か8倍に。高圧縮では2倍にオーバーサンプリングします。ブロックサイズが4608だと等倍です。FLAC変換オプションで、-2以下が低圧縮、-3以上が高圧縮です。
 -b 1024なオプション付けてブロックサイズを1024でFLAC生成すると、8倍まで対応します。
 44.1は88.2(高圧縮)か176.4(低圧縮)。
 88.2は176.4(高圧縮)か352.8(低圧縮)。
 176.4は圧縮モード関係なく2倍の352.8kHz。48k系も同様です。

 USBメモリ、マイクロSDHCカード内の、最大で512曲を登録し、再生します。
 一つのディレクトリ内に最大64ディレクトリ、一つのディレクトリ内に最大255曲置けます。WAV,FLAC混在で構いません。ルートパスには64以上のディレクトリは置けません。
 8.3のショートファイル名も、それ以上のロングファイル名も、数字付き8.3ショートに変換されて扱われます。半角スペースは大丈夫です。全角漢字やカナは避けた方がいいです。
 /ジャンル名/アーティスト名/アルバム名/00_XXXXXXXXX.wav
な感じで階層管理でOKです。順序はカード上に配置した順に再生なので、単純にディレクトリコピーするとWindowsは名前順にコピーしないので、再生順はバラバラになります。
 ファイル並べ替えソフト(keyDESort等)をご使用ください。

 MP3非対応なのは、売ろうとするとMP3特許のライセンス費用が必要だからです。

 マスタクロックの出力モードは3通り選択できます。
 45/48な推奨モード。本モードでは、タンデム基板直結でDSD512を再生できます。
 22/24なamanero互換モード。本モードでは、最大192kHzの出力。
 90/98なチャレンジャーモード。ES90XXなら、このマスタクロックを受け付けます。

 倍率も3通り選択できます。
 モード0。フルエンシー補完全くしません。記録された通りの周波数で再生します。
 モード1。デフォルト。最大で4倍の192kHzまでオーバーサンプリングします。
 モード2。最大で8倍の384kHzまでオーバーサンプリングします。
 90/98マスタクロックで、384kHzをFN1242Aに突っ込めば、DSD1024が出るのですが、、、タンデム基板ではムリでした。ノイズが載ってしまいます。

 タンデム基板に45/48MHzで384kHzではDSD512までなので、最大192でも充分か、とも思いましたが、モード2をデフォルトとしましたので、352.8/384で再生されます。

 タンデム基板に繋がり易いように、FS0,1,2も出ます。周波数インジケータLED回路とかに繋いでいただいても便利です。

 フルエンシー補完はフロート32精度で内部計算処理され、出力ビット数が増加します。
補完することで、自然に生じる増加ビットなので、あえて丸めたりはしていません。
 ディザリングと言う、ホワイトノイズを混ぜてビット数減らす処理の事ですが、せっかく増えたビット数減らしちゃ勿体無いと判断しました。
 8倍時は16→19、24→27、4倍時は16→18、24→26、2倍時は16→17、24→25ビット
 64FSなBitCLKで送出されますので、FN1242Aタンデム基板ではなく、32ビット受けできるDACじゃないと勿体無いかもしれません。

 基板入荷次第、頒布開始予定です。
 ご質問はお気軽にコメント書いてください。

26 件のコメント:

  1. 半導体計測屋さん

    ほんとうにお久しぶりです。

    何やら凄いものを作られたようですが、具体的なイメージが掴めません。
    これは、USBメモリ、マイクロSDカードを再生できる携帯型ミニプレーヤーを作成したということですか? そして、このミニプレーヤをタンデム基板につなぐということですか?

    返信削除
    返信
    1. 早速のコメントありがとうございます。
      どんな基板なのか書いてませんでしたね。

      今回の作業はエンベデッドソフトの開発です。
      PIC32-EMZ64という、OLIMEXのボードで動作します。
      素の基板がAmazonで2万円以上で売ってますが、もっとお安く提供します。

      私が提供するからにはタンデム基板を動かせなきゃ意味が無いので
      タンデム基板も含めて動作確認しました。
      タンデム基板に限らず、IIS入力なDACにお使いいただけます。
      AmaneroのCombo384と置換えも可能です。

      削除
    2. PIC32-EMZ64はデジキーで3700円ですね。アマゾン高すぎ。
      まだよくわかりませんが、これはメモリカードの楽曲をオーバーサンプリング及びフルーエンシー補完までするのですか?FN1242Aなくてもこのプレーヤーがフルーエンシー補完をしてくれるということですか?

      削除
    3. このプレーヤーがメモリーカード内の楽曲をオーバーサンプリングして、フルエンシー補完するので、FN1242A使わなくてもリンギングが起きないパルス波形や方形波が再生されます。
      CDに記録された通りの信号が再現されます。

       ESS9018とかにラズパイからアップサンプリングした441->192入れると、
      20kHzでバッサリ切れちゃいますが、このプレーヤから441->192入れると、44kHzまでのだら下がり特性で再生します。
       この特性が出てくれるのは、私自身は意外でした。
       やってみたら、ぁぁこうなるんだって感じです。

      削除
    4. FN1242Aを使わずにフルーエンシー補完は凄いですね!
      この音は是非とも聴いてみたいですね。
      1つお願いします。

      削除
  2. >FN1242Aを使わずにフルーエンシー補完は凄いですね!
    「誰かFPGAとかで造らないかな」って話があったので、私が造りました。

    >1つお願いします。
    ご予約ありがとうございます(笑)

    TEACのUD503はFPGAでフルエンシー補完だそうですが、
    当方はMicrochipPIC32MZで再現しました。
    市場価格10万円のDACに負けない音が期待できます。

    返信削除
  3. FPGAでフルーエンシー補完実現したんですね。そりゃ凄い。特許はすでに切れていると思いますが、よく再現しましたね。何か資料でもあったのですか?FN1242A以外のDACチップでフルーエンシー補完の音を聴いてみたいです!

    返信削除
    返信
    1. >FPGAでフルーエンシー補完実現したんですね。
      FPGAじゃないです。PIC32MZはMPUです。
      MicrochipにはDSP内蔵タイプもあって、スピード的にMPUで処理しきれなければDSP内蔵タイプで試すつもりでした。
      でも、MPUの処理速度で充分に再現できたし、当初192までだったけど、あれ?384もできるか?ってやってみたらイケちゃいました。全てC言語での記述です。

      資料が手元に有った訳ではないです。
      「フルエンシーは、元々は画像処理で拡大時のジャギを取る技術」というのを職場の人に聞いていたので、そのアルゴリズムを充ててみました。
      職場での無駄話って、無駄じゃ無かったりしますね。

      最初に聴いたDACがDIYINHKの9018だったので、「あれっ、この子からこんな音が出るんだ」って面白かったです。

      削除
  4. PIC32-EMZ64の、
    入力は、USBもしくはMicroSDカードですね。他にイーサネットコネクタ、UEXTコネクタ、ICSPコネクタがありますが、I2S(DSD)信号の出力はどれを使うのですか?

    返信削除
    返信
    1. IISはUEXTから出ます。再生対象がWAVとFLACなので、DSDは出ません。
      3.3Vも出るので、これは繋いだ先のアイソレータ電源とかに使えます。

      USBにはハブも繋がるので、USBカードリーダ繋げばフルサイズSDHCもCFもメモステも使えます。
      USBとマイクロSDHCは排他利用で、両方刺すと動きません。

      将来はイーサも使ってNASにアクセスもやってみたいですけど、、、現状は封印してます。私の勉強不足ですみません。

      削除
  5. そうでした。フルーエンシーはPCM用ですからDSDが出ないのは当然でした。
    ただし、DSDはスルーできればより便利ですが。
    USBにはUSB-HDDは繋げますか?

    返信削除
    返信
    1. >USBにはUSB-HDDは繋げますか?
      これはMicrochipのライブラリが対応してなくてできません。残念。
      USB-CDROMでCDDA直接再生とか、CD-Rのファイル再生もやりたかったのですが、これも同様にダメです。

      組み込み用マイコンなので、できることはある程度制限受けます。
      でも、一応ハイスピード対応なので480Mbpsです。

      削除
    2. USB-HDDは残念。nasが繋がると最強ですね。
      了解しました。

      削除
    3. microchipのライブラリが、FAT16,FAT32対応なのです。
      FAT32だと最大32GBなので、USB-HDDも32GBまでならOKなのかもしれません。
      でも今の時代USBメモリとかSDHCで32GBの容量あって2千円ぐらいで売ってるから、繋がっても意味ないですね。

      今までテストトーンのチェックばかりやってたので、今日の日中はじっくり聴きこんでみました。
      スネアの裏側の金網の音に気が付いてハッとしました。
      ちゃんと記録されてるモノですねぇ。
      今までも出てたのかもしれませんけど、機材変えると新しい発見があって面白いです。
      タンデムのDSD512は、超ぶっ飛びサウンドって言ってましたが、
      今回のはごきげんサウンドって感じです。はい。私の主観です。

      削除
  6. 貴ブログを興味深く拝見しました。
    FN1242Aを使わずに、ソフトウエアだけでフルエンシー補完が可能とのこと。
    電子工作の出来ない者にも扱えるものであると嬉しいです。

    返信削除
    返信
    1. ご注目いただきありがとうございます。

      HDMIケーブルによる、I2Sバランス伝送アダプタを設計中です。
      電源はマイクロUSBケーブルで給電すればいいので、半田付けができなくとも
      I2Sバランス伝送入力なDACでご使用いただけるようになる予定です。

      削除
  7. 当方も興味があります。こちらは赤外線リモコンの対応は如何でしょうか?頒布はいつ頃を予定されていますか?

    返信削除
  8. お久しぶりです。komotanです。 いま、ここで予約してもいいでしょうか?おねがいします。

    返信削除
    返信
    1. komotan様
      ありがとうございます。
      ご予約賜りました。
      只今「外部クロック入力&HDMI送出基板」作成中です。
      これが出来たら1~2か月程で頒布開始します。

      削除
  9. PIC32-EMZ64は必需品ですか?先に手配した方がいいのでしょうか、それとも貴殿で配布品(基盤)と一緒に調達願えるのでしょうか?
    なお、再生装置としての構成図を参考までにアップしていただければ幸いです。

    返信削除
    返信
    1. クロック基板とPIC32-EMZ64ファーム書込み済みをセットで頒布します。

      取り急ぎ文章で示しますと、
      DACとして構成する為に最低限必要な機材は、、、

      USBメモリまたはマイクロSDHCカード(FAT32フォーマット)
      本基板+USB電源+給電用マイクロUSBケーブル(リニア5VDC電源を推奨)

      I2S入力なDAC基板+DAC用電源(DIYINHKの基板とかタンデム基板とか)
      I2S接続のためのケーブル(フラットとか、メスメスケーブルとか)
      或は
      PSオーディオ準拠なHDMI-I2S入力DAC(他社接続も検討中)
      HDMIケーブル

      といったところです。
      ネットワークからブラウザで操作とか、赤外線リモコンとかは無縁です。
      基板上の中央ボタン押せば停止、右押せば次の曲、左は前の曲って感じです。

      削除
  10. 他の用事で立ち寄ってみたら何やら始まったようですね。
    要は、SDカードを入れ物としてPCM音源を入れておいてフルエンシー的加工を
    してからI2S出力するというものですか?SDTrans 見たいな。

    >全角漢字やカナは避けた方がいいです。
    これは化けることもあるが、旨くいけば化けない時もあるという感じですか?
    SDTrans の最大の短所は日本語完バケと言うことなので少しでも前進すれば
    予約したいです。

    返信削除
    返信
    1. SDTransが競合品となりそうですが、、、こっちはUSBメモリも使えます。
      標準で赤外線リモコン使えて、HDMIからLVDSも出ます。
      DSDファイルは未対応なので、この点では負け。
      FLAC対応なので、これはこっちの勝ち。
      フルエンシーアップサンプリングで大勝利。

      色々研究したのですが、、、
      ディレクトリ名、ファイル名、共に先頭5文字半角必須、以降は全角可です。
      ファイル名の長さは.WAVとか.FLACとかサフィックスと、フォルダ名含めて半角64文字分が限界。フォルダ階層は64文字越えなければ何層でも制限無し。

      ファイル名は、ロングファイル名をチルダと数字を振った8+3形式に変換して表示します。
      結果として、全角日本語部分は表示しない事になります。
      組込マイコン用OSなので、LINUXやWindowsのようには扱えません。
      この点は残念ながらご希望に沿えないようです。
      再生順序がメモリカードへのコピー順なのも、SDTrans同様です。

      今、外付けクロック基板起こしてるので、出来たら出荷開始します。
      長納期部品が出ちゃったので、5月末以降になりそうです。
      気長にお待ちください。

      削除
    2. ドイツ語、フランス語、スペイン語はどうですか?
      ウムラウトとかアクサン記号とかはちゃんと処理出来ます?

      削除
    3. ASCIIコードの半角英数記号(記号は一部除外(ファイル名の話なので当然))にのみ対応って事でご了承ください。
      ASCII以外の半角独、半角仏、半角西は未対応です。
      FONTデータがありませぬ。

      意外な事に、半角スペースは使用可です。

      削除
  11. 残念、
    もうちょっと様子を見てから決めます。

    返信削除