Installing PyKaraoke
Pykaraoke Install
Pykaraoke is a python software to play karaoke files (.kar) which encompass midi background music, lyrics and the actual lyrics progress while the song is playing on the screen.
Pykaraoke official website: http://www.kibosh.org/pykaraoke/
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.
Dependencies
- python2.5 python2.5-pygame
- timidity
- freepats
- pykaraoke (obviously)
Install
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)
Timidity
From maemo's garage page you should grab the debs and install them on the tablet. The address is: https://garage.maemo.org/frs/?group_id=631&release_id=1602 You need to get 2 debian packages: timidity and timidity-data Once you've downloaded them and transferred to your tablet, install them.
Configuration
Create the directory /etc/timidity, and create a new file called timidity.conf and add to it:
source /etc/timidity/freepats.cfg
Create a new file called freepats.conf (also in /etc/timidity) and add to it:
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 set.
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):
1. 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
2. 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
Pykaraoke
Get the pykaraoke zip archive from the official website: http://www.kibosh.org/pykaraoke/downloads.php
(current version is pykaraoke-0.6.zip) and unzip it to whatever directory you'd like in your tablet,
inside the pykaraoke directory create the link:
ln -s /etc/timidity/timidity.cfg timidity.cfg
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.
Notice, I have tested this with the N810 and using the N810 you need to use the keyboard to
navigate through the karaoke files. Navigation is done using the hardware keyboard left menu
button (up/down) and choosing to play a karaoke file is done using the middle button of the
left menu.
Regards, Liran Tal <liran dot tal at gmail dot com>