I am using Debian 12 with its packaged Ardour 7.3 and PipeWire on a laptop. I was intending to use PipeWire-JACK as the audio support system because it does ‘more’ and is less buggy than ALSA in my limited experience. However, old information stresses that ALSA is strongly preferred for simple recording of a microphone (my use case with audio interface). I am supposing that advice is still good in late 2023.
To that end, I was compelled to address this error from the Ardour log to get Ardour + ALSA to work or at least to stop troubling me with a flashing red log light:
2023-11-13T11:35:11 [ERROR]: AlsaSeqMidiIO: Device initialization failed.
2023-11-13T11:35:11 [WARNING]: AlsaMidiOut: failed to open midi device '144:0'.
2023-11-13T11:35:11 [ERROR]: AlsaSeqMidiIO: Device initialization failed.
2023-11-13T11:35:11 [WARNING]: AlsaMidiIn: failed to open midi device '144:0'.
2023-11-13T11:35:11 [ERROR]: AlsaSeqMidiIO: Device initialization failed.
2023-11-13T11:35:11 [WARNING]: AlsaMidiOut: failed
After perhaps a few hours I determined that the error message refers to my ‘ALSA sequencer’, a subsystem of ALSA. There is no special Debian package for it (as far as I can tell). The AlsaSeqMidiIO error only occurs when Window → Audio/MIDI Setup → Audio System is set to ‘ALSA’ and subordinate setting MIDI System is set to ‘ALSA sequencer’. I don’t notice any errors related to setting MIDI System to the other two choices, which are ‘ALSA raw devices’ and ‘None’.
I have no way to know if my computer platform is deficient or if Ardour simple expects a MIDI device and makes a big deal out of it. I don’t have a MIDI instrument to plug in. I don’t know what MIDI functionality the built-in Intel High Definition Audio reports itself to have. During my research of this problem, I came across the idea that PipeWire provides a dummy MIDI interface in a certain situation, but I don’t think that would apply for my error using Ardour with ALSA.
I have no good reason to doubt that my ALSA sequencer is not working correctly. Debian is known for stability (not here to argue about PipeWire) and I am able to verify the ALSA sequencer is running on my laptop in the kernel as a module.
[abyss ~]$ lsmod | grep snd_seq
snd_seq_dummy 16384 0
snd_seq 90112 7 snd_seq_dummy
snd_seq_device 16384 1 snd_seq
snd_timer 49152 3 snd_seq,snd_hrtimer,snd_pcm
snd 126976 19 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_sof,snd_timer,snd_compress,snd_soc_core,snd_pcm
[abyss ~]$
[abyss ~]$ sudo modinfo snd_seq
filename: /lib/modules/6.1.0-13-amd64/kernel/sound/core/seq/snd-seq.ko
alias: devname:snd/seq
alias: char-major-116-1
license: GPL
description: Advanced Linux Sound Architecture sequencer.
author: Frank van de Pol <fvdpol@coil.demon.nl>, Jaroslav Kysela <perex@perex.cz>
depends: snd,snd-seq-device,snd-timer
retpoline: Y
intree: Y
name: snd_seq
vermagic: 6.1.0-13-amd64 SMP preempt mod_unload modversions
sig_id: PKCS#7
signer: Debian Secure Boot CA
sig_key: 32:A0:28:7F:84:1A:03:6F:A3:93:C1:E0:65:C4:3A:E6:B2:42:26:43
sig_hashalgo: sha256
signature: 9A:3A:E3:B3:BA:88:41:E9:A3:4A:3B:46:11:79:76:F2:04:E5:65:97:
62:81:D1:54:B0:80:4B:D7:B0:95:A5:F9:B3:9B:01:1D:5C:34:D3:F8:
E4:BB:44:52:AD:E9:88:EC:46:5B:74:99:D6:4B:91:8B:65:FE:55:AE:
F9:88:07:8E:66:68:91:71:9A:8C:72:F0:CF:AE:F4:CA:31:BC:9C:86:
E5:EE:C8:AF:E2:50:BB:8C:8A:8E:A7:F9:C7:18:7D:99:DD:1E:7D:73:
38:81:73:33:E4:3D:CF:C3:FD:E4:3F:1F:31:F4:81:1D:F1:01:14:63:
E2:9B:F0:9D:33:9D:AD:68:3E:47:00:3C:47:9C:A2:51:B5:8F:28:A2:
7C:0C:72:D0:AD:0D:7F:E3:03:2A:4E:69:A7:7D:BC:27:A8:D1:70:08:
FE:1F:90:02:DA:9F:4C:FE:AA:C5:B1:0E:1C:EC:B2:78:07:33:3F:81:
DF:87:33:60:39:AB:82:13:70:20:F2:46:BB:9F:B4:AB:50:C3:95:9D:
D4:51:A2:FB:AA:32:43:E2:57:18:EC:31:9B:8F:71:AB:02:5B:F8:6E:
25:70:11:20:9E:5E:B0:CF:96:5B:58:DB:27:A7:A2:E5:7B:40:93:C1:
FD:45:C9:FC:F6:51:B2:06:A6:56:EF:75:C6:54:9F:89
parm: seq_client_load:The numbers of global (system) clients to load through kmod. (array of int)
parm: seq_default_timer_class:The default timer class. (int)
parm: seq_default_timer_sclass:The default timer slave class. (int)
parm: seq_default_timer_card:The default timer card number. (int)
parm: seq_default_timer_device:The default timer device number. (int)
parm: seq_default_timer_subdevice:The default timer subdevice number. (int)
parm: seq_default_timer_resolution:The default timer resolution in Hz. (int)
[abyss ~]$
[abyss ~]$ sudo modinfo snd_seq_dummy
filename: /lib/modules/6.1.0-13-amd64/kernel/sound/core/seq/snd-seq-dummy.ko
alias: snd-seq-client-14
license: GPL
description: ALSA sequencer MIDI-through client
author: Takashi Iwai <tiwai@suse.de>
depends: snd-seq
retpoline: Y
intree: Y
name: snd_seq_dummy
vermagic: 6.1.0-13-amd64 SMP preempt mod_unload modversions
sig_id: PKCS#7
signer: Debian Secure Boot CA
sig_key: 32:A0:28:7F:84:1A:03:6F:A3:93:C1:E0:65:C4:3A:E6:B2:42:26:43
sig_hashalgo: sha256
signature: 36:C8:C9:16:A0:96:E5:22:0D:F8:DA:E9:A3:DA:4A:C3:B2:D5:94:DB:
A8:F1:15:F5:D1:48:B1:E6:F2:49:1A:B2:01:24:55:12:8F:97:01:87:
54:35:93:CA:AE:E6:09:B4:43:EF:BF:BB:56:A2:E5:E1:7C:07:53:71:
AC:58:85:91:A9:51:DA:A1:B2:8C:54:43:5F:E5:40:EC:22:5A:39:E1:
A6:D9:70:A6:28:6E:94:CE:D1:47:03:2C:4D:13:07:59:2C:0D:A5:73:
44:D9:08:6C:91:05:75:30:AA:0E:7C:F4:7F:F3:CF:7B:E1:E0:DA:11:
B4:E3:B4:99:37:E7:69:57:CB:76:AD:C8:BE:41:A0:59:5D:7C:CE:8B:
BE:7D:DB:C0:50:AD:1C:99:D3:64:37:F5:3E:80:E1:2E:4E:7B:62:9F:
6B:B2:72:5A:A1:4F:D6:A3:99:5F:0A:E8:23:53:FE:08:38:D8:A9:23:
73:B9:1B:0A:B9:58:8F:76:93:50:32:31:90:08:96:BE:49:69:E1:1A:
1E:AF:7B:4F:54:A8:FE:BF:B9:23:B8:0C:17:2E:4A:A3:48:4D:6C:92:
8F:CE:48:BF:33:83:34:4A:1D:69:F5:66:BA:16:05:DF:C7:31:83:81:
11:9B:36:68:B2:20:46:C8:33:AA:47:07:DA:82:84:B2
parm: ports:number of ports to be created (int)
parm: duplex:create DUPLEX ports (bool)
Does this error message suggest some special risk to using Ardour with ALSA instead of ‘JACK’ to record a microphone through an audio interface and USB connection?
Should I aspire to directly use ALSA directly rather than PipeWire-JACK (which does not trigger any log errors)?
What does Ardour 7.3 expect that I am not providing when I select ‘ALSA sequencer’?
—Abyss