====== 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}}