Tux Guitar


Subject ICE1724, no sound

Author Message
Post: Nov 30th 2008 at 9:40 PM

I am attempting to use Tuxguitar with an M-Audio Audiophile 192 sound card. Tuxguitar is installed with the ALSA plugin.

xavier@xavier:~$ aconnect -o
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 16: 'M Audio Audiophile192' [type=kernel]
0 'ICE1724 MIDI '

xavier@xavier:~$ lsmod | grep snd
snd_ice1724 119912 5
snd_ice17xx_ak4xxx 12416 1 snd_ice1724
snd_ac97_codec 133080 1 snd_ice1724
ac97_bus 10368 1 snd_ac97_codec
snd_ak4xxx_adda 17792 2 snd_ice1724,snd_ice17xx_ak4xxx
snd_ak4114 19328 1 snd_ice1724
snd_pt2258 12800 1 snd_ice1724
snd_i2c 14720 2 snd_ice1724,snd_pt2258
snd_pcm_oss 52608 0
snd_usb_audio 107776 0
snd_usb_lib 27264 1 snd_usb_audio
snd_pcm 99208 6 snd_ice1724,snd_ac97_codec,snd_ak4114,snd_pcm_oss,snd_usb_audio
snd_page_alloc 17680 1 snd_pcm
snd_mixer_oss 25088 1 snd_pcm_oss
snd_seq_dummy 11524 0
snd_seq_oss 42368 2
snd_seq_midi 15872 1
snd_seq_midi_event 16768 2 snd_seq_oss,snd_seq_midi
snd_seq 67168 7 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_rawmidi 34176 3 snd_ice1724,snd_usb_lib,snd_seq_midi
snd_timer 34320 3 snd_pcm,snd_seq
snd_seq_device 16404 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq,snd_rawmidi
snd_hwdep 16904 1 snd_usb_audio
snd 79432 23 snd_ice1724,snd_ac97_codec,snd_ak4xxx_adda,snd_ak4114,snd_pt2258,snd_i2c,snd_pcm_oss,snd_usb_audio,snd_pcm,snd_mixer_oss,snd_seq_oss,snd_seq,snd_rawmidi,snd_timer,snd_seq_device,snd_hwdep
soundcore 16800 2 snd
usbcore 175888 8 snd_usb_audio,snd_usb_lib,rtl8187,pwc,usbhid,ehci_hcd,uhci_hcd

There are some things I am wondering here..

When I load Tuxguitar, I have the ICE1724 option. Yet there is no sound being produced. Is it because there is no soundfont loaded within it? If yes, does someone know a good general soundfont which could be used with Tuxguitar, and also what is the command to load it within ICE1724?

Also, with the modules command, I do not see a snd_seq with an ALSA mention on it. I am saying this because I see one with OSS, but not with ALSA. Is this normal?

Thanks for the help.

Back to Top
Post: Dec 1st 2008 at 10:58 AM

"ICE1724 MIDI" seems to be a hardware port provided by your sound card driver.
Unfortunatly, i don't know if you can and/or how to configure it to have play sounds.
i know that there are commands like "sfxload, asfxload" to load soundfonts on some cards, but don't have idea if it works with your sound card.

Then you have the "Midi Through Port-0".
this port never play sounds as default. i don't know an exactly definition of it, but it's a kind of "wrapper" port.
where you can connect other ports to it (to this port will be the default)

So you can do 2 things.
1_ the best option is search how to configure your midi by hardware for your card.
2_ if you can't configure it by hardware, you you need to install a software synthesizer like timidity or fluidsynth.

> I do not see a snd_seq with an ALSA mention on it
There is nothing wrong on your modules.
i can see "snd_seq", first mod at line 19

Back to Top
Post: Dec 1st 2008 at 1:44 PM

Here is the module page on ALSA : http://www.alsa-project.org/main/index.php/Matrix:Module-ice1724 . I don't see anything about midi, which is quite weird. On my former Hardy installation I was using an Audigy2 with the 8MBGMSFX.sf2 soundfont; worked wonders. When I try to load the soundfont, I get this message.

xavier@xavier:~/Desktop$ asfxload 8MBGMSFX.SF2
No Emux synth hwdep device is found

Will I have to use Timidity then? If yes, do you know what command I must input to load the 8MBGMSFX.SF2 soundfont? Timidity has the "braindead musician syndrome" when I use it in Tuxguitar, hence I would like to use a soundfont which sounds good and which is also tight!

Back to Top
Post: Dec 1st 2008 at 2:01 PM

If you want to load a soundfont, maybe fluidsynth may be better than timidity.
just run
fluidsynth /path_to_soundfont

the only problem is that fluidsynth don't support some "control change" midi events used by tuxguitar.
It have the options, but not as a control change :).

If you want to use it with timidity, it's not a command line issue.
timidity uses a configuration file.
on allmost GNU/Linux distributions, it came configured with "freepats" as default (that is not a soundfont).
so you may need to edit the configuration file, and run timidity again.

The option 3, is install tuxguitar-fluidsynth plugin,
it uses fluidsynth libraries ( not alsa -> fluidsynth )
and you can configure soundfonts from tuxguitar.
the problem is that as it's plugin is very new, there is no a official compiled version. (yes on some distributions packages)

Back to Top
Post: Dec 1st 2008 at 2:42 PM

I successfully managed to load the soundfont with the Fluidsynth plugin. The sound quality is excellent, but it is still not tight; the music does not follow the rhythm which the tablature is indicating. With the EMU10k1 table from the Audigy2, I had no lag problems with my former install. With the configuration I have, it should not be doing that. I doubt that this is an issue related to TuxGuitar, but do you have an idea how I can solve this? In this thread(http://www.tuxguitar.com.ar/forum/5/880/timidity-sounds-like-a-3-yr-old-playing-guitar/), people speak about using Java sound synthesizer. Is it possible to input a soundfont in there?

Ubuntu 8.10 X64

Back to Top
Post: Dec 1st 2008 at 3:57 PM

it's strange, i never had latency with fluidsynth.

What MIDI Sequencer do you have selected ?
if you don't have "Real Time Sequencer" try to select it ( from tuxguitar-jsa plugin ).

Java Sound Synth don't have soundfont support..
it's light because use soundbanks of 1 to 4 MG :).

what java version do you have installed ?
try exec "tuxguitar -i" and paste here the log please.

Back to Top
Post: Dec 1st 2008 at 4:36 PM

I cannot select RealTime sequencer. Is it because I do not have a realtime kernel installed?

As requested

xavier@xavier:~$ tuxguitar -i
System Info:
-> OS-Name: Linux
-> OS-Arch: amd64
-> OS-Version: 2.6.27-10-generic
-> JVM-Name: Java HotSpot(TM) 64-Bit Server VM
-> JVM-Version: 11.0-b15
-> JVM-Vendor: Sun Microsystems Inc.
-> Java-Version: 1.6.0_10
-> Java-Vendor: Sun Microsystems Inc.
-> Java-Home: /usr/lib/jvm/java-6-sun-
-> Java-Class-Path: :/usr/share/tuxguitar/:/usr/share/tuxguitar//tuxguitar.jar:/usr/share/java/itext.jar:
-> Java-Library-Path: /usr/lib/jni

Back to Top
Post: Dec 1st 2008 at 4:48 PM

It's because you don't have tuxguitar-jsa (Java Sound Api) installed.
it provices Real Time Sequencer, and Java Sound Synthesizer
and other native raw ports if you have

Back to Top
Post: Dec 1st 2008 at 5:15 PM

I selected RealTime sequencer, and I don't feel that the latency issue is resolved. It happens mostly in odd measures (an 11/8 for example), and let's say you have 11 1/8 notes to play at 200 bpm, it really feels that there is latency. It is not major, yet it is annoying when you are playing a fast song. The question is however, what component causes that. At slower paces, you barely feel the latency.

Back to Top
Post: Dec 2nd 2008 at 10:19 PM

What about using Jack, does it give more or lesser latency ?

Back to Top
Post: Dec 6th 2008 at 12:43 AM

I have never used JACK before. I have installed it and ran it according to this little tutorial : http://lau.linuxaudio.org/jack/ with the command jackd -d alsa -d hw:0. Might just be me being a n00b, but now I get no sound. Some extra help with the software might be necessary.

Back to Top
Post: Dec 6th 2008 at 2:49 PM

well, but it's not only about install Jack.
you need also tell the synthesizer that it should use it as output.

You can for example run timidity as:
timidity -iA -Oj

-Oj means that it will use Jack (j) as output (-O).
After run timidity, it will show you the opened ports.
i think it may open ports 129:* (128 is already open with Alsa output as default)

Then, you need to select it on tuxguitar

If you have not experience with Jack, i suggest you install qjackctl, that is a graphic interface for manage jack server.

The tuxguitar-fluidsynth plugin, allows jack, but only on development version.. so you'll no able to use it with repository version (of tg 1.0 )

Back to Top
Post: Dec 8th 2008 at 4:38 AM

Still no luck. I hope that this is not because of a lack of support..

JACK Messages output

23:35:17.637 Patchbay deactivated.
23:35:17.638 Statistics reset.
23:35:17.672 ALSA connection graph change.
23:35:17.880 ALSA connection change.
23:35:19.125 Startup script...
23:35:19.126 artsshell -q terminate
23:35:19.540 Startup script terminated with exit status=256.
23:35:19.540 JACK is starting...
23:35:19.540 /usr/bin/jackd -dalsa -dhw:0 -r44100 -p1024 -n2 -Xraw
23:35:19.542 JACK was started with PID=16432.
jackd 0.109.2
Copyright 2001-2005 Paul Davis and others.
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
loading driver ..
SSE2 detected
apparent rate = 44100
creating alsa driver ... hw:0|hw:0|1024|2|44100|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 44100Hz, period = 1024 frames (23.2 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit little-endian
ALSA: use 2 periods for playback
scan: added port hw:0,0,0 in-hw-0-0-0-ICE1724-MIDI
scan: added port hw:0,0,0 out-hw-0-0-0-ICE1724-MIDI
scan: opened port hw:0,0,0 in-hw-0-0-0-ICE1724-MIDI
scan: opened port hw:0,0,0 out-hw-0-0-0-ICE1724-MIDI
23:35:21.782 Server configuration saved to "/home/xavier/.jackdrc".
23:35:21.783 Statistics reset.
23:35:21.784 Client activated.
23:35:21.787 JACK connection change.
23:35:21.791 JACK connection graph change.
SSE2 detected
**** alsa_pcm: xrun of at least 1228539827322.880 msecs
23:35:25.221 XRUN callback (1).
23:35:30.001 ALSA connection graph change.
**** alsa_pcm: xrun of at least 1228539827322.880 msecs
23:35:33.320 XRUN callback (2).
**** alsa_pcm: xrun of at least 1228539827322.880 msecs
23:35:34.040 XRUN callback (1 skipped).
23:35:34.909 ALSA connection graph change.
**** alsa_pcm: xrun of at least 1228539827322.880 msecs
23:35:44.676 XRUN callback (4).

In Tuxguitar sound is set to Realtime Sequencer / qjackctl 128:0.

Do you see anything that looks wrong in there?

Back to Top
Post: Dec 8th 2008 at 11:57 AM

I forgot to say about this..
I'm not sure why, alsa list qjackctl on MIDI Ports.
but it isn't a MIDI Synthesizer..
so "qjackctl" isn't what you need to select on tuxguitar.

if you have running qjackctl, and clicked "play".

then run on another terminarl:
timidity -iA -Oj.

See on log, the opened ports of this timidity instance
and then select one of them.

Back to Top
Post: Dec 8th 2008 at 5:10 PM

My MIDI synthetizer is Fluidsynth. Can I use the same command but for Fluidsynth; eg. fluidsynth -iA -Oj , or I imperatively need Timidity. If yes, do you know how I can load my soundfont in Timidity?

Back to Top
Post: Dec 8th 2008 at 5:24 PM

No, fluidsynth is not timidity, so arguments are different.
you need run:
fluidsynth [options] /where_is_your_soundfont.sf2

i don't exactly remember now what was the option to use jack as output..
i think it was "-a jack"
fluidsynth -a jack /mysoundfont.sf2

try fluidsynth --help to see if -a jack is right..

Warning, fluidsynth creates jack output, but it "DON'T AUTOCONNECT".
see on qjackctl, there should be a button "Connections".
you'll need connect fluidsynth output to system input to get sounds.

Back to Top