Installing PyKaraoke
Pykaraoke is a Python application to play karaoke files (.kar) which encompass midi background music, lyrics and the actual lyrics progress while the song is playing on the screen.
I have tested it personally on the N810 though I assume it would run just as well on the 770/N800, please update this article if you have verified it works with either/both of them, thanks in advance.
Contents |
[edit] Dependencies
- python2.5 python2.5-pygame
- timidity
- freepats
- pykaraoke (obviously)
[edit] Installation
[edit] Python
Either from the GUI's Application Manager or from a root shell you should install the two packages: python2.5 and python2.5-pygame (from the root shell: apt-get install python2.5 python2.5-pygame)
[edit] Timidity
You should grab the timidity
and timidity-data
debs from the Garage page and install them on your tablet.
[edit] Configuration
Create the directory /etc/timidity, create a new file called timidity.conf and add:
source /etc/timidity/freepats.cfg
Create a new file called freepats.conf (also in /etc/timidity) and add:
dir /usr/share/midi/freepats
# Automatically generated on Sun Feb 19 19:22:39 EST 2006 # by http://freepats.opensrc.org/mkcfg.sh.txt drumset 0
25 Drum_000/025_Snare_Roll.pat 26 Drum_000/026_Snap.pat 27 Drum_000/027_High_Q.pat 31 Drum_000/031_Sticks.pat 32 Drum_000/032_Square_Click.pat 33 Drum_000/033_Metronome_Click.pat 34 Drum_000/034_Metronome_Bell.pat 35 Drum_000/035_Kick_1.pat amp=100 36 Drum_000/036_Kick_2.pat amp=100 37 Drum_000/037_Stick_Rim.pat 38 Drum_000/038_Snare_1.pat 39 Drum_000/039_Clap_Hand.pat amp=100 40 Drum_000/040_Snare_2.pat 41 Drum_000/041_Tom_Low_2.pat amp=100 42 Drum_000/042_Hi-Hat_Closed.pat 43 Drum_000/043_Tom_Low_1.pat amp=100 44 Drum_000/044_Hi-Hat_Pedal.pat 45 Drum_000/045_Tom_Mid_2.pat amp=100 46 Drum_000/046_Hi-Hat_Open.pat 47 Drum_000/047_Tom_Mid_1.pat amp=100 48 Drum_000/048_Tom_High_2.pat amp=100 49 Drum_000/049_Cymbal_Crash_1.pat 50 Drum_000/050_Tom_High_1.pat amp=100 51 Drum_000/051_Cymbal_Ride_1.pat 52 Drum_000/052_Cymbal_Chinese.pat 53 Drum_000/053_Cymbal_Ride_Bell.pat amp=100 54 Drum_000/054_Tombourine.pat 55 Drum_000/055_Cymbal_Splash.pat 56 Drum_000/056_Cow_Bell.pat 57 Drum_000/057_Cymbal_Crash_2.pat 58 Drum_000/058_Vibra-Slap.pat 59 Drum_000/059_Cymbal_Ride_2.pat 60 Drum_000/060_Bongo_High.pat 61 Drum_000/061_Bongo_Low.pat 62 Drum_000/062_Conga_High_1_Mute.pat 63 Drum_000/063_Conga_High_2_Open.pat 64 Drum_000/064_Conga_Low.pat 65 Drum_000/065_Timbale_High.pat 66 Drum_000/066_Timbale_Low.pat 67 Drum_000/067_Agogo_High.pat 68 Drum_000/068_Agogo_Low.pat 69 Drum_000/069_Cabasa.pat amp=100 70 Drum_000/070_Maracas.pat 71 Drum_000/071_Whistle_1_High_Short.pat 72 Drum_000/072_Whistle_2_Low_Long.pat
73 Drum_000/073_Guiro_1_Short.pat 74 Drum_000/074_Guiro_2_Long.pat 75 Drum_000/075_Claves.pat amp=100 76 Drum_000/076_Wood_Block_1_High.pat 77 Drum_000/077_Wood_Block_2_Low.pat 78 Drum_000/078_Cuica_1_Mute.pat amp=100 79 Drum_000/079_Cuica_2_Open.pat amp=100 80 Drum_000/080_Triangle_1_Mute.pat 81 Drum_000/081_Triangle_2_Open.pat 82 Drum_000/082_Shaker.pat 84 Drum_000/084_Belltree.pat
bank 0
0 Tone_000/000_Acoustic_Grand_Piano.pat amp=120 pan=center 1 Tone_000/001_Acoustic_Brite_Piano.pat 2 Tone_000/002_Electric_Grand_Piano.pat 4 Tone_000/004_Electric_Piano_1_Rhodes.pat 5 Tone_000/005_Electric_Piano_2_Chorused_Yamaha_DX.pat 6 Tone_000/006_Harpsichord.pat 7 Tone_000/007_Clavinet.pat 8 Tone_000/008_Celesta.pat 9 Tone_000/009_Glockenspiel.pat 13 Tone_000/013_Xylophone.pat 14 Tone_000/014_Tubular_Bells.pat 15 Tone_000/015_Dulcimer.pat 16 Tone_000/016_Hammond_Organ.pat 19 Tone_000/019_Church_Organ.pat 21 Tone_000/021_Accordion.pat 23 Tone_000/023_Tango_Accordion.pat 24 Tone_000/024_Nylon_Guitar.pat 25 Tone_000/025_Steel_Guitar.pat 26 Tone_000/026_Jazz_Guitar.pat 27 Tone_000/027_Clean_Electric_Guitar.pat 28 Tone_000/028_Muted_Electric_Guitar.pat 29 Tone_000/029_Overdriven_Guitar.pat 30 Tone_000/030_Distortion_Guitar.pat 32 Tone_000/032_Acoustic_Bass.pat 33 Tone_000/033_Finger_Bass.pat 34 Tone_000/034_Pick_Bass.pat 35 Tone_000/035_Fretless_Bass.pat 36 Tone_000/036_Slap_Bass_1.pat 37 Tone_000/037_Slap_Bass_2.pat 38 Tone_000/038_Synth_Bass_1.pat 40 Tone_000/040_Violin.pat 42 Tone_000/042_Cello.pat 44 Tone_000/044_Tremolo_Strings.pat 45 Tone_000/045_Pizzicato_Strings.pat 46 Tone_000/046_Harp.pat 47 Tone_000/047_Timpani.pat 48 Tone_000/048_String_Ensemble_1_Marcato.pat 53 Tone_000/053_Voice_Oohs.pat 56 Tone_000/056_Trumpet.pat 57 Tone_000/057_Trombone.pat 58 Tone_000/058_Tuba.pat 59 Tone_000/059_Muted_Trumpet.pat 60 Tone_000/060_French_Horn.pat 61 Tone_000/061_Brass_Section.pat 64 Tone_000/064_Soprano_Sax.pat 65 Tone_000/065_Alto_Sax.pat 66 Tone_000/066_Tenor_Sax.pat 67 Tone_000/067_Baritone_Sax.pat 68 Tone_000/068_Oboe.pat 69 Tone_000/069_English_Horn.pat 70 Tone_000/070_Bassoon.pat 71 Tone_000/071_Clarinet.pat 72 Tone_000/072_Piccolo.pat 73 Tone_000/073_Flute.pat 74 Tone_000/074_Recorder.pat 75 Tone_000/075_Pan_Flute.pat 76 Tone_000/076_Bottle_Blow.pat 79 Tone_000/079_Ocarina.pat 80 Tone_000/080_Square_Wave.pat 84 Tone_000/084_Charang.pat 88 Tone_000/088_New_Age.pat 94 Tone_000/094_Halo_Pad.pat 95 Tone_000/095_Sweep_Pad.pat 98 Tone_000/098_Crystal.pat 101 Tone_000/101_Goblins--Unicorn.pat 102 Tone_000/102_Echo_Voice.pat 104 Tone_000/104_Sitar.pat 114 Tone_000/114_Steel_Drums.pat 115 Tone_000/115_Wood_Block.pat 120 Tone_000/120_Guitar_Fret_Noise.pat 122 Tone_000/122_Seashore.pat 125 Tone_000/125_Helicopter.pat
What's that freepats thing you ask? Well it's a bunch of MIDI patch sets. It is available as a debian package to get on an i386 under the name 'freepats' although it hasn't been packaged to the tablets so 2 things you can do (one or the other):
- Get the .pat files from the original website: http://freepats.opensrc.org/freepats/ if you do that, you need to create a directory called /usr/share/midi/freepats on the tablet and download from that website address the 2 directories Drum_000 and Tone_000 into /usr/share/midi
- Get the freepats debian package and unpack it to get the directories Drum_000 and Tone_000 and make sure both of them are in /usr/share/midi/freepats
[edit] PyKaraoke
Get the PyVaraoke zip archive (current version is pykaraoke-0.6.zip) and unzip it to whatever directory you'd like in your tablet, then inside the pykaraoke directory create the link:
ln -s /etc/timidity/timidity.cfg timidity.cfg
[edit] Usage
We will be using the pykaraoke_mini.py program. It is a .kar player which stores your kar files entries in a database of it's own so the first time we start it we need to tell it to scan the directory where you keep your .kar files so:
./pykaraoke_mini.py --scan --add-scan-dir=/whereever/you/keep/your/kar/files
It will then start and scan that directory for available .kar files and display them in a list. In the next time you can start the pykaraoke_mini.py program by itself without appending any arguments.
- This page was last modified on 8 April 2010, at 12:15.
- This page has been accessed 18,255 times.