Error message

  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6609 of /home1/tylerfra/public_html/includes/common.inc).
  • Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /home1/tylerfra/public_html/includes/common.inc).

TuxGuitar with Better Sound in Ubuntu

Category: 

TuxGuitar is amazing, and its open source! However, in Ubuntu the default soundbank doesn't sound as good as what is available out there. Let's make it sound better with more realistic sound (a.k.a. Real Sound Engine)...

In a terminal window, use these two commands to install the Fluid Soundfonts:

sudo apt-get install fluid-soundfont-gm
sudo apt-get install fluid-soundfont-gs

If these terminal commands don't work, then you can use the Synaptic Package Manager to install them.

Next, we need to open the timidity config file (use 'ubuntu software center' to install 'Timidity++ Midi sequencer' if you haven't already):

sudo vim /etc/timidity/timidity.cfg

Comment out this line by placing a # at the front of the line, like so:

#source /etc/timidity/freepats.cfg

Then uncomment (or add this new line) to the timidity config file:

source /etc/timidity/fluidr3_gm.cfg

Save the changes to the config file, then restart timidity with this terminal command:

sudo /etc/init.d/timidity restart

Next up, let's setup the TuxGuitar Sound...

  1. Open TuxGuitar
  2. Go to "Tools -> Settings -> Sounds"
  3. Select "TuxGuitar Sequencer" for the "MIDI Sequencer"
  4. Select "TiMidity port 0 [128:0]" for the "MIDI Port"
  5. Click "OK"
  6. Click "Yes" to apply the changes now

With TuxGuitar still open, let's setup the new sound font to be used...

  1. Go to "Tools -> Plugins"
  2. Highlight "Java Sound Api plugin"
  3. Click "Configure"
  4. Select "Use custom soundbank"
  5. Click the Folder icon to locate the .sf2 file (e.g. /usr/share/sounds/sf2/FluidR3_GM.sf2)
  6. Click "OK"
  7. Restart TuxGuitar
  8. Rock and Roll!

If all goes well, the sound will be considerably better. If not, you may throw your instrument and/or keyboard against the wall.

Comments

Hey, 

After putting sudo vim /etc/timidity/timidity.cfg

I m getting sudo :vim: command not found.

 

Can you help ?

tyler's picture

That just means you don't have VIM (a simple text editor) installed. You should be able to install it with this terminal command:

sudo apt-get install vim

Then you can re-run:

sudo vim /etc/timidity/timidity.cfg

Or you can probably just use VI, which is most likely already installed:

sudo vi /etc/timidity/timidity.cfg

Try:

sudo nano /etc/timidity/timidity.cfg

Use ctrl + o to save

Use ctrl + x to exit

Hi there, when I get to this point: TiMidity port 0 [128:0]" for the "MIDI Port"

I only have the option for Gervill, nothing else. Any hints? :)

tyler's picture

Use the Synaptic Package Manager (or Ubuntu Software Center) to install: Timidity++ Midi Sequencer

Hey Tyler, this comment was quite old, but i know followed your instructions and have the same problem, or say i can select Gervill or "Midi Through Port-0 [14:0]"
Also, for the Java Sound Api Plugin, in my folder user/local/share/sounds there is nothing there.

I don't know if they updated Timidity++ e.g., but maybe you can figure out what the problem is. That would be super great.
Thanks alot in advance!

tyler's picture

This tutorial didn't work for me anymore either, so I actually broke down and just bought a refurbished macbook air to do music stuff, and it just works. Best of luck on your Ubuntu music ventures!

Hey,

that was really good, the sound is som uch better but there's a problem:
I just hear the sound through right part of the headphone, the other is mute.
the headphone is fine, it works fine in other apps.

any help would be appreciated :)

tyler's picture

I'm guessing it is some setting in TuxGuitar that is forcing the sound to be fed to only one channel. Not entirely sure though, it's been a long time since I've had time to pretend to be a rock star ;)

just go to the show mixer, turn the balance control to the left end and you hear the sound through the right and the left speaker.

Thanks, it worked for me except for one think that i don't understand. From mmy point of view the "Java Sound Api plugin" configuration has nothing to do with timidity, in fact using any custom sf2 sound font does not change the sound i dont know why. But just changing from freepats to fluidr3_GM is enough for improving the sound quality.

tyler's picture

That is definitely possible. I don't have a firm understanding of the whole process, and some steps may be optional and having nothing to do with one another ;) Either way, I'm glad it worked for you, rock onward!

VLC,Banshee and other media player cannot play song when tuxguitar opened with custom soundfont.

Can you help me fix this?

tyler's picture

Nope, I am not able to fix something of that nature. I've had similar problems and just deal with it as a limitation of the technologies, or better yet my knowledge :P

Hi, I was going through your tutorial, and got stuck here:

sudo /etc/init.d/timidity restart

Answers with

sudo: /etc/init.d/timidity: command not found

I have googled a bit, but at the moment cannot find the clue. Any ideas?

Thank you in advance.

tyler's picture

It means that timidity is either not installed, or not located in /etc/init.d, try using "locate timidity" to verify the program is on your system, if it's not consult their documentation, because I really know very little about timidity.

Hi there !
I got through all the terminal steps with no problem but when I got to MIDI Port in tuxguitar, even though I've installed timidity, I can't see it :/

tyler's picture

Yes, last time I tried this myself with ubuntu 14.04 it didn't work for me either. This was originally written for 12.04 I think, so perhaps times have changed. I still love Ubuntu for development, but I went ahead and got a refurbished Macbook Air for music creation stuff (guitar pro 6, addictive drums). I would've liked to see TuxGuitar evolve, but I believe the project is in limbo.