Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

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

by renegadex (Beadle)
on Aug 03, 2010 at 07:19 UTC ( #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? | Other CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2022-05-17 18:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you prefer to work remotely?



    Results (68 votes). Check out past polls.

    Notices?