A short investigation pointed me in the direction of the Audigy 2 ZS sound card. A Creative product with interesting specifications:
- 24bit 96kHz sampling (in and out)
- 108dB signal noise ratio
- EMU10K1/2 processor
- Hardware wavetable synthesizer (4x 16 channel polyphony)
- Firewire interface (which became the best feature of this card)
Creative SoundBlaster Audigy 2 ZS |
The mixer options look great:
Alsamixer for Audigy 2 ZS |
Reality
While a quick scan suggested that this card is supported under linux is the reality rather disappointing. The Alsa page gives some information.
It looks that this card is in practice only supported for 44.1kHz or 48kHz sample rate. And the playback and capturing is mainly 16bits with some support for 24bits. This is an alsa limitation and in that sense is the card not really an upgrade from the "crapy" audio of a normal main-board.
This forces me to look a further for a new solution that does deliver 24bit at a high 96kHz or 192kHz sample rate.
Wavetable synthesizer
This part has some hardware limitations. According to alsa information page is the address bus only 31bits, which gives problems with a 64bit operating system and more than 4 Gigabyte memory. When this card was released was this probably a none issue, but now with only 64bit Operating systems and 16Gbyte of memory is this a bit of pity.
A work arround is saving some bigger memory block by using the following kernel parameter within the grub2 boot menu:
memmap=2048M\$6144MIt can be unfortunately necessary to play a bit with single (\), double (\\) or triple (\\\) to escape the $ sign within grub2 config file to make this work correctly automatically on boot time.
Furthermore can it be necessary to increase the normal 128MByte memory for the wave table to 200MByte to make the FluidR3_GM.sf2 sound font fit. This can be done by using the following kernel module parameter:
options snd-emu10k1 max_buffer_size=<size_in_MB>This parameter can be put in the /etc/modprobe.d/alsa-base.conf file.
If this is correctly working can be checked with the following commands:
hansan@Desk-computer:~/Music/mid$ cat /proc/asound/cards 0 [FW ]: BeBoB - PHASE 24 FW TerraTec Electronic Gmb PHASE 24 FW (id:4, rev:1), GUID 000aac0400239b18 at fw2 1 [PCH ]: HDA-Intel - HDA Intel PCH HDA Intel PCH at 0xef410000 irq 30 2 [HDMI ]: HDA-Intel - HDA ATI HDMI HDA ATI HDMI at 0xef360000 irq 31 3 [Audigy2 ]: Audigy2 - SB Audigy 2 ZS [SB0350] SB Audigy 2 ZS [SB0350] (rev.4, serial:0x20021102) at 0xc000, irq 16 4 [U0x46d0x9a2 ]: USB-Audio - USB Device 0x46d:0x9a2 USB Device 0x46d:0x9a2 at usb-0000:00:14.0-3, high speedAnd to check the status of the synthesizer:
hansan@Desk-computer:~/Music/mid$ cat /proc/asound/card3/wavetableD1 Device: Emu10k1 Ports: 4 Addresses: 29:0 29:1 29:2 29:3 Use Counter: 0 Max Voices: 64 Allocated Voices: 0 Memory Size: 134217728 Memory Available: 103062476 Allocated Blocks: 866 SoundFonts: 1 Instruments: 14491 Samples: 864 Locked Instruments: 14491 Locked Samples: 864A new sound font can be loaded with:
hansan@Desk-computer:~/work/sf2$ asfxload "GeneralUser GS Live-Audigy v1.44.sf2" hansan@Desk-computer:~/work/sf2$ asfxload -M DRAM memory left = 100714 kBAnd a midi file can be played with:
hansan@Desk-computer:~/work/sf2$ aplaymidi -l Port Client name Port name 14:0 Midi Through Midi Through Port-0 16:0 PHASE 24 FW PHASE 24 FW MIDI 1 28:0 SB Audigy 2 ZS [SB0350] Audigy MPU-401 (UART) 28:32 SB Audigy 2 ZS [SB0350] Audigy MPU-401 #2 29:0 Emu10k1 WaveTable Emu10k1 Port 0 29:1 Emu10k1 WaveTable Emu10k1 Port 1 29:2 Emu10k1 WaveTable Emu10k1 Port 2 29:3 Emu10k1 WaveTable Emu10k1 Port 3 hansan@Desk-computer:~/work/sf2$ aplaymidi -p 29.0 test.midThis does works at least.... But I have say that fluidsynth is maybe an even better solution, given the performance of modern processors.
Conclusion
All with all this was not really a good very invested 10.50 Euro. The selling features like the high bit rate and resolution are not really delivered on the linux platform.
The only good item is a firewire interface, which enables me to look into a different class of audio cards.
(updated and corrected a few items on 3/11/2018)