====== Set Up Sound Blaster Live! 5.1 & Audigy Rx in Slackware====== This HOWTO is based on setup experience with following hardware: * Creative Labs Sound Blaster Live! 5.1 ( SB0060) * Creative Inspire T3100 2.1 Speakers * Intel DG965SS motherboard * Intel Core 2 Duo 2.2 GHz E4500 CPU * 3 Gb RAM, 500 Gb HDD, Slackware 14.0 32bit Full install, generic kernel. * 4 Gb RAM, 1 Tb HDD, Slackware64 14.1 - 64 bit Full install, default huge kernel. * Creative Labs Sound Blaster Audigy Rx ( SB1550 )PCIe on ASUS R8H61/i3 - 3220/ 16 Gb RAM / Slackware64 14.1 ===== Installation and Basic Configuration ===== * Shutdown the computer * Insert the Sound Blaster card into a free PCI slot ( Audigy - in PCIe slot) on your mothherboard. Try not to block the existing cards' ventilation. I usually try to put the sound card in the "lowest" slot, most distant from the CPU, and close to the bottom of the case. * When the Sound Blaster card has been installed and secured with a bracket screw, you may turn the computer on and log into Slackware. * After login, you will have working sound from your new sound card. * In order to obtain full control, do the following (in KDE): click on "**kmixer > mixer > settings > configure channels**...", and drag & drop all channels you need from the "**Available channels**" window to the "**Visible channels**". ===== WaveTable MIDI Configuration ===== Now it's time to set up the [[ http://alsa.opensrc.org/Emu10k1|WaveTable]] feature: * Download the latest awesfx package here: ftp://ftp.suse.com/pub/people/tiwai/awesfx/ (tested with 0.5.1d) * Extract the source tarball, and compile it (with the usual "''./configure && make && make install''" routine as root) * After that, you need a soundbank aka //soundfont// - examples of freely available soundfonts are: * http://www.alsa-project.org/~james/sound-fonts/8MBGMSFX.SF2 * http://www.systemshock.org/index.php?topic=3188.0 * http://www.alsa-project.org/~tiwai/awedrv.html#SoundFonts * Choose one of these soundfont (.sf2) files and copy it to a directory which you may have to create first: ''/usr/local/share/sounds/sf2/'' * Then edit ''/etc/rc.d/rc.local'' with a text editor ([[howtos:software:vi|vi]], [[howtos:software:nano|nano]]. or [[howtos:software:midnight_commander|midnight commander]]'s built-in editor) to initialize the WaveTable. An example: #!/bin/sh # # /etc/rc.d/rc.local: Local system initialization script. # # Put any local startup commands in here. Also, if you have # anything that needs to be run at shutdown time you can # make an /etc/rc.d/rc.local_shutdown script and put those # commands in there. echo "SB synth module load!" /sbin/modprobe snd_emu10k1_synth echo "sleep for LivE! appear" sleep 5 echo "Load 8 Mb midi patch set for SB Live! 5.1 soundcard!" #/usr/local/bin/asfxload /usr/local/share/sounds/sf2/8mbgmsfx.sf2 /usr/local/bin/asfxload /usr/local/share/sounds/sf2/WeedsGM3.sf2 echo "Pause ***** Sleep 10 ********" sleep 10 * You can comment the "''sleep''" command (using a ''#'' character at the beginning of the line) - it pauses the computer for N seconds. I added that "''sleep''" to get time to check whether the soundfont is being loaded without errors during startup. * The command "''modprobe snd_emu10k1_synth''" is needed here, because without it, I have experienced the error "//No Emux synth hwdep device is found//" when trying to load a soundfont at this stage of the boot. * When i try to load a soundfont after I login to KDE, it succeeds without requiring that "snd_emu10k1_synth" commandline in ''rc.local'', but as I want to load a soundfont automatically at startup, I load that module as shown in the example code) * After these preparations and a restart, everything should be working and you can use your MIDI WaveTable device. ===== Playing MIDI ===== For playing MIDI (.mid) files you can use the [[howtos:multimedia:audacious|Audacious]] program - in KDE that can be found under **Start > Multimedia > Audacious (Music Player)**. * Start Audacious, and choose **File > Preferences** * Choose **Plugins** tab, then **Input** tab, and choose **AMIDI-Plug (MIDI Player)** * In the **AMIDI-Plug Settings** window, choose **Preferences**, then **ALSA backend** * You will see **ALSA output Ports**. Choose (by ticking the checkbox) **17:0 Emu10k1 WaveTable Emu10k1 Port 0** * Press **Ok** and close all configuration dialogs. * Now you can play your MIDI files in Audacious. If you encounter any problems, or found an error in this HOWTO, please contact m e: john AT sten.lv. ===== Play files from CLI ===== For playing MIDI (.mid) files under Command Line Interface, you can use a **aplaymidi** command from slackware, or download and install pmidi from http://slackbuilds.org . The both programms is very similar in use and syntax. To play MIDI via aplaymidi: do aplaymidi -l you get something like this: aplaymidi -l Port Client name Port name 14:0 Midi Through Midi Through Port-0 16:0 SB Audigy 2 Value [Unknown] Audigy MPU-401 (UART) 16:32 SB Audigy 2 Value [Unknown] Audigy MPU-401 #2 17:0 Emu10k1 WaveTable Emu10k1 Port 0 17:1 Emu10k1 WaveTable Emu10k1 Port 1 17:2 Emu10k1 WaveTable Emu10k1 Port 2 17:3 Emu10k1 WaveTable Emu10k1 Port 3 now you must define hw wavetable port for programm and midi file to play: aplaymidi -p 17:0 BBEE.MID To play another types of files ( .wav .flac .mp3 and so on) you can use "play" command. in default it use default sound card for output. play loona.mp3 loona.mp3: File Size: 3.44M Bit Rate: 112k Encoding: MPEG audio Channels: 2 @ 16-bit Samplerate: 44100Hz Replaygain: off Artist: Loona Duration: 00:04:05.48 Title: Hijo de la La Luna You also can use mixer for change volume: alsamixer ===== TroubleShooting ===== ==== Diagnostic and information gathering ==== For first -try gathering some useful information about your situation: lspci Gives you info about hardware devices sits on PCI and PCIe bus of your computer cat /proc/asound/cards gives you information about cards found your sound system and its numerating. 0 card is be default card. there is also some another useful commands: aplay -l and aplay -L and even lsmod ==== Make a right soundcard as first (default) ==== Firstly, make a file called sound.conf under /etc/modprobe.d/ : ##alias char-major-116 snd options snd cards_limit=2 slots=snd-emu10k1,snd-hda-intel # LHB6.mOmgEN0gox0:SBLive! 5.1 Digital Model SB0220 alias snd-card-0 snd-emu10k1 alias sound-slot-0 snd-emu10k1 # W60f.x8s5HMdIibD:82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller alias snd-card-1 snd-hda-intel alias sound-slot-1 snd-hda-intel ##options snd-emu10k1 enable=1 index=0 max_buffer_size=756 options snd-emu10k1 enable=1 index=0 max_buffer_size=1750 options snd-hda-intel enable=1 index=1 ==== Problems with SoundFonts==== SB Live! And Audigy Rx use similar DSP - emu10k based, and looks like have similar problems. As i read, problem root is in that fact, a DSP use 31 bit in memory address instead of 32 bits - and it causes problem on linux x64 systems with more than 2 (3?) Gb RAM. I encounter that with 4 Gb RAM on Slackware64 14.1 - the symptoms is that, you cannot load soundfont larger than 16 Mb - asfxload on trying that writes: sfxload: no memory left while asfxload -M gives something like this: DRAM memory left = 115576 kB it means - about 100+ megabytes free ram. But you really cannot load even 30 Mb soundbank. Ok, what is workaround? There is two: decrease memory size used by system at boot stage to 2 Gb - use at lilo kernel parameter ''memmap=2048M\\$6144M'' Other is more usable - change kernel source files and recompile kernel: go to /usr/src/~linux - that is your linux source. arch/x86/include/asm/dma.h change in string: /* 4GB broken PCI/AGP hardware bus master zone */ #define MAX_DMA32_PFN ((4UL * 1024 * 1024 * 1024) >> PAGE_SHIFT) change 4UL to 2UL: /* 4GB broken PCI/AGP hardware bus master zone */ #define MAX_DMA32_PFN ((2UL * 1024 * 1024 * 1024) >> PAGE_SHIFT) after that need to recompile kernel. after that you get usable 1 Gb RAM for SB Live /Audigy Rx soundfonts. if you want more than 1 Gb for soundfonts - you need edit also: sound/pci/emu10k1/emu10k1.c err = snd_card_create(index[dev], id[dev], THIS_MODULE, 0, &card); if (err < 0) return err; if (max_buffer_size[dev] < 32) max_buffer_size[dev] = 32; // else if (max_buffer_size[dev] > 1024) // max_buffer_size[dev] = 1024; if ((err = snd_emu10k1_create(card, pci, extin[dev], extout[dev], (long)max_buffer_size[dev] * 1024 * 1024, enable_ir[dev], subsystem[dev], &emu)) < 0) goto error; you must comment that strings, as in upper block: else if (max_buffer_size[dev] > 1024) max_buffer_size[dev] = 1024; And then there is one else thing: default memory size for soundfonts is 128 Mb. If you want to increase it, you must create a sound.conf file in /etc/modprobe.d/ write in file /etc/modprobe.d/sound.conf : options snd-emu10k1 max_buffer_size=1750 where max_buffer_size reffers to amount of RAM dedicated to soundfonts, in megabytes. in that case its about 1.7 Gb. after that you can use up to 2 Gb RAM for soundfonts loading ( when define that in max_buffer_size, and do restart). ====== Useful Links: ====== * [[http://www.alsa-project.org/~tiwai/awedrv.html]] * [[http://alsa.opensrc.org/Emu10k1]] * [[http://www.systemshock.org/index.php?topic=3188.0]] * [[http://www.simpilot.net/~richnagel/#downloads]] * [[http://alsa.opensrc.org/Asfxload]] * [[http://vladimir-stupin.blogspot.com/2012/05/midi-debian-gnulinux.html]] (in russian) * [[https://bugs.launchpad.net/ubuntu/+source/awesfx/+bug/183456]] * [[https://github.com/koppi/renoise-refcards/wiki/HOWTO-setup-EMU10k-soundfont-DSP-on-Ubuntu-11.10]] * [[http://www.linuxquestions.org/questions/slackware-14/sound-problems-in-slackware64-14-1-xfce-4175497387/]] ====== Sources ====== Originally written by --- //[[wiki:user:wisedraco|John Ciemgals]] 2013/02/07 04:50// Rewrited with used materials from "Links" and LinuxQuestions.org Slackware forum, especially user Drakeo help --- //[[wiki:user:wisedraco|John Ciemgals]] 2014/03/19 01:15// Edited by --- //[[wiki:user:mfillpot|mfillpot]] {{tag>howtos soundblaster live Audigy Rx wavetable soundbank soundfont sfxload author_wisedraco}}