Hello.
I'm having a problem with pykaraoke which the developer says must be
something to do with pygame. For certain .kar files, the wrong
instruments are selected, compared with playing back using timidity
(Linux), and this can make music either hard or impossible to listen to.
I'm using the command line
strace <command> <filename> 2>&1 | grep 'open.*\.pat' | grep -v 'No'
With "Boyzone - When The Going Gets Tough", for <command> = "timidity", I get
open("/usr/share/midi/eawpats/acpiano.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/percorg.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/cleangtr.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/odguitar.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/distgtr.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/synbass1.pat",
O_RDONLY) = 8
open("/usr/share/midi/eawpats/marcato.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/synstr1.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/doo.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/hitbrass.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/altosax.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/sqrwave.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/syntom.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/revcym.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/kick1.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/stickrim.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/snare1.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/claps.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/snare2.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/hihatcl.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/tomlo1.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/tommid2.pat",
O_RDONLY) = 8
open("/usr/share/midi/eawpats/hihatop.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/tommid1.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/tomhi2.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/cymcrsh1.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/tomhi1.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/tamborin.pat", O_RDONLY) = 8
open("/usr/share/midi/eawpats/cymcrsh2.pat", O_RDONLY) = 8
but for <command> = "pykaraoke" I get
open("/usr/share/midi/eawpats/acpiano.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/percorg.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/cleangtr.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/odguitar.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/distgtr.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/synbass1.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/marcato.pat", O_RDONLY) =
14
open("/usr/share/midi/eawpats/synstr1.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/doo.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/hitbrass.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/altosax.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/syntom.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/revcym.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/kick1.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/stickrim.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/snare1.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/claps.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/snare2.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/hihatcl.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/tomlo1.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/tommid2.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/hihatop.pat", O_RDONLY) =
14
open("/usr/share/midi/eawpats/tommid1.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/tomhi2.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/cymcrsh1.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/tomhi1.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/tamborin.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/cymcrsh2.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/congalo.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/timbalel.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/agogohi.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/cabasa.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/maracas.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/whistle1.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/guiro1.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/guiro2.pat", O_RDONLY) = 14
open("/usr/share/midi/eawpats/woodblk1.pat", O_RDONLY) =
14
open("/usr/share/midi/eawpats/cuica1.pat", O_RDONLY) = 14
Timidity
opens "sqrwave" which pykaraoke doesn't. Pykaraoke opens "congalo",
"timbale1", "agogohi", "cabasa", "maracas", "whistle1", "guiro1",
"guiro2", "woodblk1" and "cuica1" which timidity doesn't.
The
most obvious result is that the first swooshing percussive sound is a
machine gun, and the "vocal" is a piercing football whistle, which is
of the wrong pitch and doesn't stop, making the track unusable.
Any
ideas why? Or where I could look to find out? I first noticed this a couple
of years ago but since it
persists in a clean install of Ubuntu 9.10 I thought I'd ask again.
Many thanks.