A11 BruteFirの3WAY設定

室長:今回はbrutefirを3way用に設定するぞ。3wayということは左右合わせて6chの出力が必要になる。今回はノートパソコンのHDMIからLPCMで出力してみよう。

助手:Linuxからサウンドデバイスを確認する方法の説明をお願いします。

室長:brutefirはいろんな出力先を設定できるが、当研究室ではALSAを使う。他の出力を使いたい人はbrutefirのサイトのマニュアルを読んでくれ。まずalsaの確認法だがコマンドラインで

aplay -l

これでlinuxが認識しているサウンドデバイスが表示できるはずだ。 次に

aplay -L

これで定義されているPCM出力がわかる

助手:対応しているサンプリングレートなどはどうやればわかりますか?

室長:ワシも詳しくは知らぬ。とりあえずは/proc/asound/下のデバイス名のサブフォルダ内を見てみる。codec#0とかcodec#2などのファイルを見ると中に対応サンプリングレートと対応ビットが書いてある。

助手:このノートパソコンではHDMIの出力はcard0、device3のようです。

室長:brutefirの設定ファイルはこうなる。

bruteconfig3.txt

float_bits: 64;
sampling_rate: 96000;
filter_length: 4096;

coeff "low" {
  filename: "./low96k300";
};

coeff "mid" {
  filename: "./mid96k300_2500";
};

coeff "high" {
  filename: "./high96k2500";
};

input "lin","rin" {
        device: "file" { path: "/dev/stdin"; };
};

output "h0","h1","h2","h3","h4","h5","h6","h7" {
  device: "alsa" { device: "hw:0,3"; };
  sample: "S24_4LE";
  channels: 8/0,1,2,3,4,5,6,7;
  dither: true;
};

filter "llow" {
        from_inputs: "lin";
        to_outputs: "h0";
        coeff: "low";
};

filter "rlow" {
        from_inputs: "rin";
        to_outputs: "h1";
        coeff: "low";
};

filter "lmid" {
        from_inputs: "lin";
        to_outputs: "h2";
        coeff: "mid";
};

filter "rmid" {
        from_inputs: "rin";
        to_outputs: "h3";
        coeff: "mid";
};

filter "lhigh" {
        from_inputs: "lin";
        to_outputs: "h6";
        coeff: "high";
};

filter "rhigh" {
        from_inputs: "rin";
        to_outputs: "h7";
        coeff: "high";
};

接続は

h0-L
h1-R
h2-SBL
h3-SBR
h4-C
h5-LFE
h6-SL
h7-SR

となっているようだ。できればフルレンジを繋いで確認してくれ。いきなりツィーターを繋いで壊さないようにな。

助手:この接続で大丈夫なようです。

室長:実は今回のHDMI出力はあまり自信がないのだ。Ubuntu12.04と東芝のcore2のノートパソコンでマランツのAVアンプに接続して試しているが、電源の順序や環境によって音が出たり出なかったりする。USB接続のインターフェースの方が分かり易いな。 ところで実際に音を聴いた感想はどうじゃ?

助手:えーと、このスピーカーを窓から投げ捨てても良いですか?

室長:まあ慌てるな。調整を何もしていなければこんなものじゃ。これから測定・調整をする前の準備としてoctaveのfir2関数を使って自由な特性のフィルタの設計していくぞ。

2012年12月15日