マルチチャンネル4chのI2Sデータの変換


マルチ チャンネル 4ch のI2Sデータから 2ch分だけ 取り出して ステレオ出力に変換する回路を考えてみた。
ここで扱う デジタルオーディオデータフォーマットは、BCK 64fs データ長さ24ビットのI2S想定している。
25ビットから32ビット目のデータは零(データ信号がLOW状態)を仮定している。



① 4chの multi channel (ステレオ2個分)から、それぞれステレオ分のLchとRchを抜きとる回路

simple LR mix




② 4chの multi channel (ステレオ2個分)から、それぞれステレオ分のRchとRchを抜きとる回路
  32ビットのシフトレジスタ回路を使って DATA2側の信号を 32 BCK分 遅らせている。
Shifted LR mix 01

だんだん、構成が複雑になって行き、ロジックICの組み合わせで工作するのは難しくなっていった。 FPGA等が必要そうだ。





ソフト 

S24_LE S16_LEからS32_LE 4chへの変換ソフト

多チャンネルのWAVファイルを生成できるPCアプリは以外と少ない。
そこで、試しに、ステレオ(2ch)のWAVファイルから4chのWAVファイルを作るPCソフトを作ってみた。
サラウンド合成ではなく、単純にステレオ信号(又はモノ信号)を3chと4chをコピーしただけのものである。
Linuxのaplayでは、24bitデータでは動作してくれないケースもあるので、ついでに、下位ビットに零を追加してS32_LE(32ビットデータ)にフォーマット変換するようにした。



参考になる資料



警告
この回路は実際に動作確認されたものではありません。

免責
(1)回路図やプログラムやデータの使用により、使用者に損失が生じたとしても、その責任 を負いません。
(2)回路図やプログラムやデータにバグや欠陥があったとしても、修正や改良の義務を負い ません。