M-AUDIO Audiophile USBを買った

 本投稿を書いているのは間違いなく2021年の話ですが、AV Watchの記事によれば製品自体の発売開始は2002年12月~2003年1月だったようです。というわけで、20年近くも前のUSBオーディオインタフェースを入手したことになります。
M-Audio、24bit/96kHz対応のUSBオーディオインターフェイス
 
 古いながらも最大24bit/96kHzの2chオーディオ入出力と1系統のMIDI IN/OUTに対応しており、現在でも十分に活用できるスペックです。
 が、当然ながら既にサポート終了、しかも現行のプラットフォームで動作するドライバがないのでWindows10やMacOSでは使用できません。
 故に、壊れていなくても大多数の人にとっては使用不可能なので、ジャンク(そもそも動作確認もできない)として格安で出品されているのを見かけます。
 

Linuxで使う

 前述の通り、現代的なプラットフォームではドライバが無いので動作しないと書きましたが、Linuxの場合は違います。
 ALSAドライバでサポートされており、現在でも動作させることができます(もちろん無保証ですが)。
Matrix:Vendor-MAudio - AlsaProject

 つまり日常的にLinuxマシンを使ってる方や、RaspberryPiなどのLinuxで稼働するシングルボードコンピュータでオーディオを扱いたい方にとっては(ハードウェアが壊れてさえいなければ)まだまだ使えるのです。
 軽く試してみた限りでは、

  • AMD64環境のUbuntu18.04では特に何もしなくても繋げば普通に動作しました
  • RaspberryPiではオーディオ再生については問題は無さそうです
    • MIDI INの取りこぼしが発生します。ただし、他のUSB MIDIバイスも同様にMIDI INの取りこぼしが発生するため、Audiophile USB固有の問題ではないと考えられます*1
    • (このためRaspberryPiでシンセサイザーを作る場合に、USB MIDI INを使うと安定動作しません。NOTE OFFを取りこぼして音が鳴りっぱなしになったりします。)

 

 通常、以下のように認識されるはずです

dmesg抜粋
[ 1001.560732] usb 1-2: new full-speed USB device number 5 using xhci_hcd
[ 1001.760578] usb 1-2: config 1 interface 5 has no altsetting 3
[ 1001.764737] usb 1-2: New USB device found, idVendor=0763, idProduct=2003, bcdDevice= 1.01
[ 1001.764744] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1001.764748] usb 1-2: Product: Audiophile USB (tm)
[ 1001.764751] usb 1-2: Manufacturer: M-Audio
aplay抜粋
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 1: USBtm [Audiophile USB (tm)], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: USBtm [Audiophile USB (tm)], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: USBtm [Audiophile USB (tm)], device 2: USB Audio [USB Audio #2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

 device 0,1,2の3つが見えますが、それぞれ以下の出力に繋がるようです*2

device 出力先
hw:1,0 アナログ出力
hw:1,1 デジタル出力
hw:1,2 AC3/DTSパススルーモード
arecord抜粋
$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: USBtm [Audiophile USB (tm)], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: USBtm [Audiophile USB (tm)], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

 device 0,1の2つが見えますが、それぞれ以下の入力に繋がるようです(入/出力でデジタル/アナログのデバイス番号が入れ替わっている点に注意)。

device 入力先
hw:1,0 デジタル入力
hw:1,1 アナログ入力

アナログ入力

 Audiophile USBのアナログ入力には標準PhoneとRCAの2種類の端子が用意されていますが、切り替えスイッチのようなものはありません。
 この点についてマニュアルにはPhoneプラグを差すとRCA入力は無効になると書かれています

When plugs are inserted into these jacks, the RCA inputs are defeated.

 前作(というか4in/outなので上位モデル?)のQuattroには-10dBVと+4dBuのラインレベル切り替えスイッチがあったのですが、それもありません。
 マニュアルにはアナログ入力のピーク信号レベルは+2dBVとだけコネクタについては触れずに書かれています。

Peak Signal,Analog Input: +2dBV

 どちらの端子を使っても信号レベルは同じで+2dBVとして扱うという意味なのでしょうかね?
 良く判らなかったので試してみました。入力端子以外の条件を揃えて録音し、スペクトログラムにプロットしたのが以下になります。

Phone input(24bit 48kHz sampling) - source YAMAHA RY8
f:id:kachine:20210325012206p:plain
RCA input(24bit 48kHz sampling) - source YAMAHA RY8
f:id:kachine:20210325012226p:plain

 Phone・RCAいずれの場合でも信号強度に違いは確認できません。故にどちらも+2dBVとして扱われていると考えれば良さそうです。
 なお、上記スペクトログラムでは全域に弱いノイズ(紫系の色)が確認できますが、このノイズがAudiophile USB起因のものなのか、ソースのYAMAHA RY8起因のものかの切り分けは行なっていません。というか、私*3の実用上全く問題ないレベルだからです。
 ダイナミックレンジを24bitの-138dBFSではなく、16bit相当の90dBFSとしてプロットすると以下のようになります。

Phone input(plot as 16bit dynamic range) - source YAMAHA RY8
f:id:kachine:20210325013059p:plain
RCA input(plot as 16bit dynamic range) - source YAMAHA RY8
f:id:kachine:20210325013121p:plain

 このようにノイズは全く確認できなくなります。つまり、16bit相当のダイナミックレンジで満足できる人間にとっては何の問題も無いのです。
 

雑記

  • 製造元に見捨てられた古いオーディオインタフェースでも、今でもLinuxなら使用可能な製品が多々あります
    • ALSAのdevice listに載ってれば恐らく動作しますが、ただ繋いだだけでは動作しなかったり動作が安定しない製品もあります

 



以上。

*1:BroadcomのSoCに搭載されたホストコントローラまたはsnd-seq-midiモジュールいずれかのバグかこの組み合わせの相性問題のようなものではないかと思います。検索してみるとRaspberry PiシリーズでのUSB MIDI INの取りこぼし問題は他の方でも発生しているようです。

*2:hw:1,2は試してないのでAC3/DTSパススルーモードの詳細は不明

*3:CDクオリティの16bit 44.1kHzを超えるいわゆるハイレゾに有意差を感じません。