室長:今回は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日