bmo95 audio config
  • Shell 66.7%
  • Python 22.7%
  • Lua 10.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Luke Tidd 27ecc2f2e6
2x AudioFire -> 4x AudioFire
24 i/o -> 48 i/o

Card have now been physically labelled with the last four digits of their serial numbers
in four colors:

From top left to bottom right, here are the soundcards:

8525 green (clock order #3) (Left bay top)
94e8 yellow (clock order #4) (Left bay bottom)
9815 blue (clock order #2) (Center bay top)
fc79 red (clock source) (Center bay bottom)

The ports in the config are now named after these colors.

The zita-a2j services are now renamed to match as well.
2026-08-22 14:12:33 -04:00
common fix(udev): correct syntax errors in firewire-irq and usb-midi rules 2026-08-17 15:23:13 -04:00
profiles 2x AudioFire -> 4x AudioFire 2026-08-22 14:12:33 -04:00
apply-profile feat(audio): establish multi-profile audio config, JACK2 setup, and low-latency tuning 2026-08-16 12:33:25 -04:00
consume audio config! 2026-08-16 11:44:18 -04:00
filedata.json 2x AudioFire -> 4x AudioFire 2026-08-22 14:12:33 -04:00
LICENSE Initial commit 2026-08-16 11:40:48 -04:00
README.md 2x AudioFire -> 4x AudioFire 2026-08-22 14:12:33 -04:00

Studio Audio Configuration (Echo AudioFire 12 Quad Interface Setup)

This repository manages system configuration profiles, udev rules, real-time audio tuning, and systemd user services for the 48-channel Echo AudioFire 12 quad-interface setup on host bmo95.


1. Hardware Architecture & Color Coding

The studio uses 4 Echo AudioFire 12 interfaces connected across dual PCIe FireWire controllers to provide 48 analog inputs and 48 analog outputs at 48.0 kHz / 32-bit:

Color Code Physical Unit / Role ALSA Device Hardware GUID JACK Node / Aliases Word Clock Role
Red Card 1 (Master) hw:AudioFire12_3,0 0x00148602c583fc79 system (Red_01 .. Red_12) Clock Master (Internal 48.0 kHz)
Blue Card 2 (Slave 1) hw:AudioFire12_2,0 0x001486a296a59815 Blue / Blue_In (Blue_01 .. Blue_12) Word Clock Slave
Yellow Card 3 (Slave 2) hw:AudioFire12,0 0x001486f170a494e8 Yellow / Yellow_In (Yellow_01 .. Yellow_12) Word Clock Slave
Green Card 4 (Slave 3) hw:AudioFire12_1,0 0x001486c0722a8525 Green / Green_In (Green_01 .. Green_12) Word Clock Slave

2. PCIe Controller Topology

  • PCIe Card 0 (07:00.0): Texas Instruments XIO2213 (FireWire 800/400) \rightarrow Manages Yellow & Green (24 In / 24 Out).
  • PCIe Card 1 (0a:00.0): Texas Instruments TSB43AB23 (FireWire 400) \rightarrow Manages Red & Blue (24 In / 24 Out).

3. Profiles & Management

  • apply-profile <profile-name>: Creates symlinks and enables systemd user services listed in filedata.json.
  • Profile: jack-alsa:
    • firewire-ready.service: Waits for all 4 soundcards in ALSA and configures hardware clock sources by GUID via wait-for-firewire.sh.
    • jack.service: Launches JACK server on the Red master card (hw:AudioFire12_3,0).
    • zita-j2a-blue.service / zita-a2j-blue.service: Synchronous bridge for Blue card (hw:AudioFire12_2,0).
    • zita-j2a-yellow.service / zita-a2j-yellow.service: Synchronous bridge for Yellow card (hw:AudioFire12,0).
    • zita-j2a-green.service / zita-a2j-green.service: Synchronous bridge for Green card (hw:AudioFire12_1,0).
    • jack-aliases.service: Applies color-coded port aliases (Red_01..12, Blue_01..12, Yellow_01..12, Green_01..12).