Installing PyKaraoke
Contents |
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>