Raspberry Pi

BCLK/LRCLK出力しかないRaspberry Piで旭化成のDAC IC(AK449xシリーズ)を鳴らす実験

Raspberry PiでDAI/ASRC/CPLDなどのクロック生成周辺回路を用いず、旭化成のDAC AK449Xシリーズを使用する方法についてメモ。 Raspberry PiのDACにAK449xシリーズの採用が少ない原因のひとつとして、AK449xの要求するMCLKをRaspberry Piから供給できない点が…

Linux向けAK449x Codec Driverの紹介

旭化成エレクトロニクス製 AK4490/AK4495/AK4497/AK4493向けLinux Driverの紹介です。NanoPi NEO2でAK449xシリーズを鳴らすために作成しました。 ALSA SoC Codecドライバとして実装しています。NanoPi NEO2/Raspberry Pi Zeroで動作確認済み。そのほかのSBC…

Raspberry Pi ZeroのI2Sオーディオドライバに非Codecドライバを追加登録する方法

概要 ALSA SoCドライバで電子ボリュームを利用する方法を調べてみた。 今回は電子ボリューム内蔵ヘッドフォンアンプIC TPA6130A2ドライバをhifiberry-dacドライバに登録してみる。 仕組み TPA6130A2のドライバはsound/soc/codecs/tpa6130a2.cを使用する TPA6…

Raspberry Pi ZeroのI2S DACとポップノイズの関係 その2 まっとうにMUTE制御

概要 NosPiDAC Zeroなどで音楽を楽しんでいるときに気になるポップノイズについて調べたこと・やったことをメモ。 その2はCodecドライバを修正し、外部MUTE制御との連動を試してみます。 外部MUTE制御用のサンプルコード付。 MUTE機能つきのHPA IC(MAX9722…

Raspberry Pi ZeroでRJフォーマットDACを鳴らす方法のメモ

概要 TDA1545AやTDA1543AなどRJフォーマットを採用しているDACをRaspberry Piで鳴らす方法のメモです。 NosPiDACでTDA1545Aを鳴らしたかったので、調査・検証してみました。 仕組み 通常ALSAのSoCドライバではdai linkを設定するdriverでPCMフォーマットを設…

Raspberry Pi ZeroのI2S DACとポップノイズの関係 その1 力技でポップノイズを抑制

概要 NosPiDAC Zeroなどで音楽を楽しんでいるときに気になるポップノイズについて調べたこと・やったことをメモ。 ポップノイズは再生・停止・曲間で発生します。 発生メカニズムが確定では無いですが、RPi ZeroのI2SドライバがI2Sのクロックを止めることか…

moode audioのカーネルをクロスビルドする手順メモ

moode audioで使用しているRaspbianのカーネルイメージをクロスビルドするにあたっていろいろハマったのでメモして置きます。 Ubuntu 18.04LTS AMD64環境で確認 ターゲットはRaspberry Pi Zero用。RPi3とか64bitの奴はツールチェインやビルドオプションが変…