Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^3: Tk-Karoake Player-w-timidity

by renegadex (Beadle)
on Aug 03, 2010 at 07:19 UTC ( [id://852615]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Tk-Karoake Player-w-timidity
in thread Tk-Karoake Player-w-timidity

just wanna contribute something in your karaoke project.. this code requires perl-MIDI-Perl to run. I got it from cpan, its not available on the standard fedora13 repo. anyway here is a code to be able to extract lyrics of a midi file...
sub send_to_shell { my ($widget,$file) = @_; my $string; my $opus = MIDI::Opus->new({ 'from_file' => $file, 'exclusive_event_callback' => sub{ my $temp = $_[2]; chomp $temp; if($_[0] eq 'text_event'){ if($_[1] == 0){ }else{ $string = $string . $_[2]; push @arr_lyr, $_[2]; } }elsif($_[0] eq 'track_name'){ $marker = $_[2]; } }, 'include' => \@MIDI::Event::All_events, 'exclude' => \@MIDI::Event::MIDI_events, }); @line_lyrics = split(/\/|\\/,$string); shift @line_lyrics; print "Marker: $marker\n"; print "_____START_____\n"; $start = 0; # start song my $cmd = "timidity '$file'"; print $wfh "$cmd\n"; }
enjoy! you can use this to replace the same sub routine on my previous post.
Mabuhay Civil Engineers! :D

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://852615]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2024-04-20 02:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found