perl.midi http://www.nntp.perl.org/group/perl.midi/ ... Copyright 1998-2008 perl.org Mon, 06 Oct 2008 23:15:52 +0000 ask@perl.org Determing and setting "actual" performance tempo by Rick Bolen Thought I&#39;d query if this need had already been coded by someone.<br/><br/>Issue:<br/><br/>Old paper player piano rolls are scanned and recorded into MIDI files. The<br/>recorded &quot;events&quot; are placed onto a somewhat arbitrary MIDI tempo &quot;grid&quot;,<br/>such that the timing resolution (PPQN Clock?) is sufficient to capture the<br/>piano roll performance relatively accurately, but the tempo is not<br/>consistent with the &quot;real&quot; time value of quarter notes (BPM 120 default, FF<br/>51 03 tt tt tt = 0x07A120). Thus, when loaded into a sequencer app, beats<br/>don&#39;t start at the top of measures, and measures start in the middle of<br/>phrases, and the whole piece progressively &quot;drifts&quot; into other measures.<br/>However, sonically, the file plays fine, you just can&#39;t use the sequencer<br/>editing tools to manipulate the data using any conventional musical standard<br/>(bars, measures, etc.).<br/><br/>I&#39;ve tried making tempo maps using sequencer tools designed to accomodate<br/>this need, but I can&#39;t manage to get them to work.<br/><br/>Resolution?<br/><br/>Some of the lower octave piano notes hammer out quarter note beats regularly<br/>throughout the composition. Has anyone written a &quot;filter&quot; to &quot;statistically<br/>analyze&quot; or extract the apparent tempo timing to more accurately define a<br/>Tempo Event (FF 51 03 tt tt tt, in MTrk)?<br/><br/>Thanks,<br/><br/>Rick<br/><br/><br/><br/><br/> http://www.nntp.perl.org/group/perl.midi/2008/03/msg349.html Wed, 19 Mar 2008 07:57:47 +0000 Re: MIDI to for track sequencers by Sigmund Rothschild Cmix, which is a variant on Csound and part of the Music 5 family of audio <br/>programming languages/environments, will allow you to pass Perl code to, or <br/>allow you to work directly in Perl. http://music.columbia.edu/cmc/RTcmix/<br/><br/>Also, Sony&#39;s Acid is a popular GUI software that combines MIDI and audio <br/>quite well if your not sure about the really steep learning curve of <br/>Csound/Cmix.<br/><br/>-Sig<br/><br/><br/>----- Original Message ----- <br/>From: &quot;Sean M. Burke&quot; &lt;sburke@cpan.org&gt;<br/>To: &lt;midi@perl.org&gt;<br/>Cc: &lt;djrondon@gmail.com&gt;<br/>Sent: Saturday, November 24, 2007 7:00 PM<br/>Subject: MIDI to for track sequencers<br/><br/><br/>&gt;I figured I&#39;d blow the cobwebs off of this list and see if anyone can help <br/>&gt;out this guy below. He&#39;s asking about something further into the practical <br/>&gt;domain than I would ever know about.<br/>&gt;<br/>&gt; -------- Original Message --------<br/>&gt; Date: Thu, 22 Nov 2007 10:30:11 -0200<br/>&gt; From: djrondon@gmail.com<br/>&gt; To: sburke@cpan.org<br/>&gt;<br/>&gt; Hi Sean,<br/>&gt;<br/>&gt; Sorry to disturb you, I know you&#39;re very busy.<br/>&gt; I&#39;m using your module MIDI-Perl-0.81<br/>&gt; &lt;http://search.cpan.org/%7Esburke/MIDI-Perl-0.81/&gt;. Congratulations,<br/>&gt; it&#39;s a very good module.<br/>&gt; I&#39;d like to combine to play midi notes with wave loops. you know.<br/>&gt; Is there any way that I can do it?<br/>&gt; Or taking a simple vision, a track sequencer, where I can put mid tracks<br/>&gt; and wav tracks. synchronizing them.<br/>&gt;<br/>&gt; Well, I don&#39;t to bother you.<br/>&gt; Thanks for your attention.<br/>&gt; Best Regards,<br/>&gt;<br/>&gt; --DJ Rondon<br/>&gt;<br/>&gt; ~~~<br/>&gt;<br/>&gt; <br/><br/><br/> http://www.nntp.perl.org/group/perl.midi/2007/11/msg348.html Sun, 25 Nov 2007 09:19:48 +0000 Re: MIDI to for track sequencers by noel lairson I second the &#39;check out CSound&#39; suggestion.<br/><br/>It&#39;s got a pretty steep learning curve, but probably much less so <br/>than trying to create a sequencer &amp; sampler from scratch in perl...<br/><br/>Noel<br/><br/><br/><br/>On Nov 24, 2007, at 6:34 PM, Jeff Harrington wrote:<br/><br/>&gt; Hey DJ,<br/>&gt;<br/>&gt; Since you&#39;re already using Perl might I suggest Csound as a good <br/>&gt; combiner of MIDI and audio data with programming involved. (Not a <br/>&gt; GUI/FruityLoops/Reason type of thing).<br/>&gt; http://csounds.com<br/>&gt;<br/>&gt; There&#39;s a mailing list. If you were to post a question about a <br/>&gt; specific plan you&#39;d get some attention.<br/>&gt;<br/>&gt; http://www.csounds.com/list/index.html<br/>&gt;<br/>&gt; Jeff<br/>&gt; http://jeffharrington.org<br/>&gt;<br/>&gt;<br/>&gt; Sean M. Burke wrote:<br/>&gt;&gt; I figured I&#39;d blow the cobwebs off of this list and see if anyone <br/>&gt;&gt; can help out this guy below. He&#39;s asking about something further <br/>&gt;&gt; into the practical domain than I would ever know about.<br/>&gt;&gt;<br/>&gt;&gt; -------- Original Message --------<br/>&gt;&gt; Date: Thu, 22 Nov 2007 10:30:11 -0200<br/>&gt;&gt; From: djrondon@gmail.com<br/>&gt;&gt; To: sburke@cpan.org<br/>&gt;&gt;<br/>&gt;&gt; Hi Sean,<br/>&gt;&gt;<br/>&gt;&gt; Sorry to disturb you, I know you&#39;re very busy.<br/>&gt;&gt; I&#39;m using your module MIDI-Perl-0.81<br/>&gt;&gt; &lt;http://search.cpan.org/%7Esburke/MIDI-Perl-0.81/&gt;. Congratulations,<br/>&gt;&gt; it&#39;s a very good module.<br/>&gt;&gt; I&#39;d like to combine to play midi notes with wave loops. you know.<br/>&gt;&gt; Is there any way that I can do it?<br/>&gt;&gt; Or taking a simple vision, a track sequencer, where I can put mid <br/>&gt;&gt; tracks<br/>&gt;&gt; and wav tracks. synchronizing them.<br/>&gt;&gt;<br/>&gt;&gt; Well, I don&#39;t to bother you.<br/>&gt;&gt; Thanks for your attention.<br/>&gt;&gt; Best Regards,<br/>&gt;&gt;<br/>&gt;&gt; --DJ Rondon<br/>&gt;&gt;<br/>&gt;&gt; ~~~<br/>&gt;&gt;<br/>&gt;&gt;<br/>&gt;<br/><br/> http://www.nntp.perl.org/group/perl.midi/2007/11/msg347.html Sun, 25 Nov 2007 08:25:47 +0000 Re: MIDI to for track sequencers by Jeff Harrington Hey DJ,<br/><br/>Since you&#39;re already using Perl might I suggest Csound as a good <br/>combiner of MIDI and audio data with programming involved. (Not a <br/>GUI/FruityLoops/Reason type of thing). <br/><br/>http://csounds.com<br/><br/>There&#39;s a mailing list. If you were to post a question about a specific <br/>plan you&#39;d get some attention.<br/><br/>http://www.csounds.com/list/index.html<br/><br/>Jeff<br/>http://jeffharrington.org<br/><br/><br/>Sean M. Burke wrote:<br/>&gt; I figured I&#39;d blow the cobwebs off of this list and see if anyone can <br/>&gt; help out this guy below. He&#39;s asking about something further into the <br/>&gt; practical domain than I would ever know about.<br/>&gt;<br/>&gt; -------- Original Message --------<br/>&gt; Date: Thu, 22 Nov 2007 10:30:11 -0200<br/>&gt; From: djrondon@gmail.com<br/>&gt; To: sburke@cpan.org<br/>&gt;<br/>&gt; Hi Sean,<br/>&gt;<br/>&gt; Sorry to disturb you, I know you&#39;re very busy.<br/>&gt; I&#39;m using your module MIDI-Perl-0.81<br/>&gt; &lt;http://search.cpan.org/%7Esburke/MIDI-Perl-0.81/&gt;. Congratulations,<br/>&gt; it&#39;s a very good module.<br/>&gt; I&#39;d like to combine to play midi notes with wave loops. you know.<br/>&gt; Is there any way that I can do it?<br/>&gt; Or taking a simple vision, a track sequencer, where I can put mid tracks<br/>&gt; and wav tracks. synchronizing them.<br/>&gt;<br/>&gt; Well, I don&#39;t to bother you.<br/>&gt; Thanks for your attention.<br/>&gt; Best Regards,<br/>&gt;<br/>&gt; --DJ Rondon<br/>&gt;<br/>&gt; ~~~<br/>&gt;<br/>&gt;<br/><br/> http://www.nntp.perl.org/group/perl.midi/2007/11/msg346.html Sat, 24 Nov 2007 18:35:00 +0000 MIDI to for track sequencers by Sean M. Burke I figured I&#39;d blow the cobwebs off of this list and see if anyone can <br/>help out this guy below. He&#39;s asking about something further into the <br/>practical domain than I would ever know about.<br/><br/>-------- Original Message --------<br/>Date: Thu, 22 Nov 2007 10:30:11 -0200<br/>From: djrondon@gmail.com<br/>To: sburke@cpan.org<br/><br/>Hi Sean,<br/><br/>Sorry to disturb you, I know you&#39;re very busy.<br/>I&#39;m using your module MIDI-Perl-0.81<br/>&lt;http://search.cpan.org/%7Esburke/MIDI-Perl-0.81/&gt;. Congratulations,<br/>it&#39;s a very good module.<br/>I&#39;d like to combine to play midi notes with wave loops. you know.<br/>Is there any way that I can do it?<br/>Or taking a simple vision, a track sequencer, where I can put mid tracks<br/>and wav tracks. synchronizing them.<br/><br/>Well, I don&#39;t to bother you.<br/>Thanks for your attention.<br/>Best Regards,<br/><br/>--DJ Rondon<br/><br/>~~~<br/> http://www.nntp.perl.org/group/perl.midi/2007/11/msg345.html Sat, 24 Nov 2007 18:01:08 +0000 RE: accessing midisport 2x2 using ALSA & MIDI::Music... by Rick Bolen <br/>This is the heart of my challenge. The midisport 2x2 usb midi interface<br/>requires hotplug to upload firmware to it, which I am successfully doing.<br/><br/>When I attach the midisport, hotplug detects it and does its&#39; job, however,<br/>since I have a &quot;partial-alsa&quot; install, I don&#39;t think the system ever assigns<br/>a /dev/&lt;devicename&gt; filename alias to the hardware. I suppose the device is<br/>available to the system through IOCTLs or some type of low-level addressing,<br/>but I don&#39;t know how to: 1) find it; 2) talk to it. If I knew my way around<br/>lower-level linux hardware stuff, I could probably work around this and spit<br/>bytes out to the device, but I haven&#39;t been able to find info on how to<br/>accomplish this. Since installing alsa-base &amp; alas-utils requires removing<br/>linux-sound-base, which hangs during uninstall, I&#39;m stuck.<br/><br/><br/><br/>&gt; #!/usr/bin/perl<br/>&gt; use warnings;<br/>&gt; use strict;<br/>&gt; use diagnostics;<br/>&gt; use Fcntl;<br/>&gt; require &#39;sys/soundcard.ph&#39;;<br/>&gt;<br/>&gt; sysopen(SEQ_FH,&#39;/dev/sequencer&#39;,O_WRONLY) or die $!;<br/><br/> http://www.nntp.perl.org/group/perl.midi/2006/12/msg344.html Thu, 14 Dec 2006 05:47:27 +0000 Re: accessing midisport 2x2 using ALSA & MIDI::Music... by zentara On Tue, 12 Dec 2006 08:32:29 -0500, rbolen@carolina.rr.com (&quot;Rick<br/>Bolen&quot;) wrote:<br/><br/>&gt;My project was to use a perl script to generate random midi cc event values<br/>&gt;that would get sent out to a couple of midi light-dimmer strips (Light<br/>&gt;Master) I have (4 dimmers/strip) so I could have nice blinky Christmas<br/>&gt;lights. I was hoping to play around with different &quot;equations&quot; (fractal?) in<br/>&gt;calculating random intensity values to try and achieve visually interesting<br/>&gt;and &quot;organic randomness&quot;.<br/>&gt;<br/>&gt;... maybe by Mardi Gras!<br/>&gt;Thanks for all the help,<br/>&gt;Rick<br/><br/>Sounds like a coll project.<br/>Since you already have learned to generate soundcard.ph,<br/>here is a routine to send out midi signals, which you might try,<br/>they require no modules. You can experiment with the<br/>while(1) loop to change sounds, and the $device number<br/>to get your usb midi out.<br/><br/>I hope it helps you beat the Christmas deadline. :-)<br/><br/>#!/usr/bin/perl<br/>use warnings;<br/>use strict;<br/>use diagnostics;<br/>use Fcntl;<br/>require &#39;sys/soundcard.ph&#39;;<br/><br/>sysopen(SEQ_FH,&#39;/dev/sequencer&#39;,O_WRONLY) or die $!;<br/><br/>#send_midi_bytes(0xc0,20);<br/>#my $patchbytes = send_midi_bytes(0xc0, 2);<br/>#print &quot;patchbytes-&gt;$patchbytes\n&quot;;<br/><br/>#song change ???<br/>#send_midi_bytes(0xf3,6);<br/><br/>#send note<br/>#send_midi_bytes(0x90 + $channel - 1, $note_no, $velocity); <br/><br/>while(1){<br/> for my $note (40..50){ <br/> send_midi_bytes(0xc0,123); #cool patch sound<br/> send_midi_bytes(0x90,$note,100);<br/> select(undef,undef,undef,.1);<br/> }<br/>}<br/><br/><br/>sub send_midi_bytes {<br/> print &quot;@_\n&quot;;<br/> my $device = 1;<br/> my $stuff = pack(&#39;C*&#39;, <br/> (map {&amp;SEQ_MIDIPUTC(), $_, $device,0 } @_ ) );<br/> <br/> my $bytes = syswrite(SEQ_FH, $stuff) or die $!;<br/><br/> if (not $bytes) {<br/> die(&quot;Couldn&#39;t write to /dev/sequencer $!&quot;<br/> );<br/> }<br/>}<br/><br/>__END__<br/><br/><br/><br/>-- <br/>I&#39;m not really a human, but I play one on earth.<br/>http://zentara.net/japh.html<br/> http://www.nntp.perl.org/group/perl.midi/2006/12/msg343.html Thu, 14 Dec 2006 04:41:01 +0000 RE: accessing midisport 2x2 using ALSA & MIDI::Music... by Rick Bolen Yes, you&#39;re correct, I should take this to a Debian forum. Debian&#39;s is<br/>nearing the next release, and I was holding out for that, because I&#39;m using<br/>somewhat unusual hardware.<br/><br/>Just for documentation purposes (in case some poor soul wanders a similar<br/>path), I have an Openbrick computer (via epia 533Mhz, lex mobo) running off<br/>a compact flash card using hacom&#39;s cf images. They changed Debian around<br/>abit to write less often to the cf among other things. They&#39;ve tweaked the<br/>kernel for their hardware and I haven&#39;t looked to see if they left a .config<br/>laying around, so upgrading this to the newest may be more of a challenge<br/>than usual.<br/><br/>My project was to use a perl script to generate random midi cc event values<br/>that would get sent out to a couple of midi light-dimmer strips (Light<br/>Master) I have (4 dimmers/strip) so I could have nice blinky Christmas<br/>lights. I was hoping to play around with different &quot;equations&quot; (fractal?) in<br/>calculating random intensity values to try and achieve visually interesting<br/>and &quot;organic randomness&quot;.<br/><br/>... maybe by Mardi Gras!<br/><br/>Thanks for all the help,<br/><br/>Rick<br/><br/><br/>&gt; -----Original Message-----<br/>&gt; From: Linux@lists.develooper.com [mailto:Linux@lists.develooper.com]On<br/>&gt; Behalf Of zentara<br/>&gt; Sent: Tuesday, December 12, 2006 6:52 AM<br/>&gt; To: midi@perl.org<br/>&gt; Subject: Re: accessing midisport 2x2 using ALSA &amp; MIDI::Music...<br/>&gt;<br/>&gt;<br/>&gt; On Sun, 10 Dec 2006 08:41:02 -0500, rbolen@carolina.rr.com (&quot;Rick<br/>&gt; Bolen&quot;) wrote:<br/>&gt;<br/>&gt; &gt;I was on my way to doing just that when the next snag caught me.<br/>&gt; &gt;<br/>&gt; &gt;When I apt-get (debian) alsa-base, it wants to install the<br/>&gt; alsa-utils which<br/>&gt; &gt;contains most if not all the utils you mention. However, apt-get<br/>&gt; also wants<br/>&gt; &gt;to remove linux-sound-base.<br/>&gt; &gt;<br/>&gt; &gt;That&#39;s fine with me I guess, but then apt-get hangs on &quot;Removing<br/>&gt; &gt;linux-sound-base...&quot;.<br/>&gt; &gt;<br/>&gt; &gt;Arrrgggggg! Any thoughts on how to tshoot an &quot;apt-get --purge remove xxx&quot;<br/>&gt; &gt;hang?<br/>&gt; &gt;<br/>&gt; &gt;Perhaps dpkg offers more ruthless shovel?<br/>&gt; &gt;<br/>&gt; &gt;Thanks for the ideas. I feel like I&#39;m very close (... well, kinda),<br/>&gt; &gt;Rick<br/>&gt;<br/>&gt; I see 2 choices ( and I always build from source, so my package<br/>&gt; manager experience is limited)<br/>&gt;<br/>&gt; 1. Look at the options for apt-get, and see if there is a &#39;force&#39;<br/>&gt; or &#39;no dependency checks&#39; option.<br/>&gt; Rpm has this for the case you descibe, where it overrides<br/>&gt; the package manager.<br/>&gt;<br/>&gt; 2. Best bet. Just get the tar ball source, and build them yourself.<br/>&gt; http://www.alsa-project.org/alsa/ftp/utils/<br/>&gt;<br/>&gt; Your problem will be to find the version which matches your<br/>&gt; old debian kernel level. The newest version will probably<br/>&gt; not be compatible with the older debian kernel.<br/>&gt; Of course you could always, get the latest kernel, which has<br/>&gt; alsa built-in, then get the latest alsa-utils source package.<br/>&gt;<br/>&gt; Maybe you should ask this on a debian saavy forum?<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; --<br/>&gt; I&#39;m not really a human, but I play one on earth.<br/>&gt; http://zentara.net/japh.html<br/><br/> http://www.nntp.perl.org/group/perl.midi/2006/12/msg342.html Tue, 12 Dec 2006 05:35:04 +0000 Re: accessing midisport 2x2 using ALSA & MIDI::Music... by zentara On Sun, 10 Dec 2006 08:41:02 -0500, rbolen@carolina.rr.com (&quot;Rick<br/>Bolen&quot;) wrote:<br/><br/>&gt;I was on my way to doing just that when the next snag caught me.<br/>&gt;<br/>&gt;When I apt-get (debian) alsa-base, it wants to install the alsa-utils which<br/>&gt;contains most if not all the utils you mention. However, apt-get also wants<br/>&gt;to remove linux-sound-base.<br/>&gt;<br/>&gt;That&#39;s fine with me I guess, but then apt-get hangs on &quot;Removing<br/>&gt;linux-sound-base...&quot;.<br/>&gt;<br/>&gt;Arrrgggggg! Any thoughts on how to tshoot an &quot;apt-get --purge remove xxx&quot;<br/>&gt;hang?<br/>&gt;<br/>&gt;Perhaps dpkg offers more ruthless shovel?<br/>&gt;<br/>&gt;Thanks for the ideas. I feel like I&#39;m very close (... well, kinda),<br/>&gt;Rick<br/><br/>I see 2 choices ( and I always build from source, so my package<br/>manager experience is limited)<br/><br/>1. Look at the options for apt-get, and see if there is a &#39;force&#39;<br/>or &#39;no dependency checks&#39; option. <br/>Rpm has this for the case you descibe, where it overrides<br/>the package manager.<br/><br/>2. Best bet. Just get the tar ball source, and build them yourself.<br/>http://www.alsa-project.org/alsa/ftp/utils/<br/><br/>Your problem will be to find the version which matches your<br/>old debian kernel level. The newest version will probably<br/>not be compatible with the older debian kernel.<br/>Of course you could always, get the latest kernel, which has<br/>alsa built-in, then get the latest alsa-utils source package.<br/><br/>Maybe you should ask this on a debian saavy forum?<br/><br/><br/><br/>-- <br/>I&#39;m not really a human, but I play one on earth.<br/>http://zentara.net/japh.html<br/> http://www.nntp.perl.org/group/perl.midi/2006/12/msg341.html Tue, 12 Dec 2006 03:55:35 +0000 RE: accessing midisport 2x2 using ALSA & MIDI::Music... by Rick Bolen Thanks for the advice.<br/><br/>I was on my way to doing just that when the next snag caught me.<br/><br/>When I apt-get (debian) alsa-base, it wants to install the alsa-utils which<br/>contains most if not all the utils you mention. However, apt-get also wants<br/>to remove linux-sound-base.<br/><br/>That&#39;s fine with me I guess, but then apt-get hangs on &quot;Removing<br/>linux-sound-base...&quot;.<br/><br/>Arrrgggggg! Any thoughts on how to tshoot an &quot;apt-get --purge remove xxx&quot;<br/>hang?<br/><br/>Perhaps dpkg offers more ruthless shovel?<br/><br/>Thanks for the ideas. I feel like I&#39;m very close (... well, kinda),<br/><br/>Rick<br/><br/><br/>&gt; -----Original Message-----<br/>&gt; From: Linux@lists.develooper.com [mailto:Linux@lists.develooper.com]On<br/>&gt; Behalf Of zentara<br/>&gt; Sent: Sunday, December 10, 2006 8:02 AM<br/>&gt; To: midi@perl.org<br/>&gt; Subject: Re: accessing midisport 2x2 using ALSA &amp; MIDI::Music...<br/>&gt;<br/>&gt;<br/>&gt; On Sat, 9 Dec 2006 21:54:16 -0500, rbolen@carolina.rr.com (&quot;Rick Bolen&quot;)<br/>&gt; wrote:<br/>&gt;<br/>&gt;<br/>&gt; &gt;When I connect the Midisport 2x2 to the usb port, how do I determine what<br/>&gt; &gt;device name and midi_dev number it is assigned by the system? Nothing is<br/>&gt; &gt;reported in logs except the usb assignments.<br/>&gt; &gt;Thanks,<br/>&gt;<br/>&gt; Use the alsa midi ultilities<br/>&gt; amidi<br/>&gt; aplaymidi<br/>&gt; arecordmidi<br/>&gt; aconnect<br/>&gt;<br/>&gt; run them with the -h option to get a list<br/>&gt; of options.<br/>&gt;<br/>&gt; amidi -h<br/>&gt;<br/>&gt; amidi -l will list all your ports, then use those<br/>&gt; in the -p option of the other utilities.<br/>&gt;<br/>&gt; P.S. Keep notes on what you find successful, because<br/>&gt; you will probably forget after awhile. :-)<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; --<br/>&gt; I&#39;m not really a human, but I play one on earth.<br/>&gt; http://zentara.net/japh.html<br/><br/> http://www.nntp.perl.org/group/perl.midi/2006/12/msg340.html Sun, 10 Dec 2006 05:43:15 +0000 Re: accessing midisport 2x2 using ALSA & MIDI::Music... by zentara On Sat, 9 Dec 2006 21:54:16 -0500, rbolen@carolina.rr.com (&quot;Rick Bolen&quot;)<br/>wrote:<br/><br/><br/>&gt;When I connect the Midisport 2x2 to the usb port, how do I determine what<br/>&gt;device name and midi_dev number it is assigned by the system? Nothing is<br/>&gt;reported in logs except the usb assignments.<br/>&gt;Thanks,<br/><br/>Use the alsa midi ultilities<br/>amidi<br/>aplaymidi<br/>arecordmidi<br/>aconnect<br/><br/>run them with the -h option to get a list<br/>of options.<br/><br/>amidi -h<br/><br/>amidi -l will list all your ports, then use those<br/>in the -p option of the other utilities.<br/><br/>P.S. Keep notes on what you find successful, because<br/>you will probably forget after awhile. :-)<br/><br/><br/><br/>-- <br/>I&#39;m not really a human, but I play one on earth.<br/>http://zentara.net/japh.html<br/> http://www.nntp.perl.org/group/perl.midi/2006/12/msg339.html Sun, 10 Dec 2006 05:05:06 +0000 RE: accessing midisport 2x2 using ALSA & MIDI::Music... by Rick Bolen Can&#39;t let this die... even though it&#39;s killing me!<br/><br/>Midisport firmware is loading (via hotplug) and the 2x2&#39;s led pulses<br/>seductively.<br/><br/>I resolved ::Realtime&#39;s last problems by running h2ph.<br/><br/>Now the test script runs, but it reports:<br/><br/>syswrite() on a closed file handle SEQ_FH at ...Realtime.pm line 198.<br/>...<br/>Uncaught exception at user code:<br/> Couldn&#39;t write to /dev/sequencer: Bad file descriptor at ...Realtime.pm<br/>line 201.<br/><br/>This all happens because unchecked sysopen() in ::Realtime.pm fails on the<br/>whatever I pass as dev (default = /dev/sequencer). I added a &quot;die&quot; statement<br/>there, and now that&#39;s where I fail.<br/><br/>cat /proc/asound/cards &amp; /devices lists info on the M2x2.<br/><br/>When I connect the Midisport 2x2 to the usb port, how do I determine what<br/>device name and midi_dev number it is assigned by the system? Nothing is<br/>reported in logs except the usb assignments.<br/><br/>Thanks,<br/><br/>Rick<br/><br/><br/>&gt; -----Original Message-----<br/>&gt; From: Rick Bolen [mailto:rbolen@carolina.rr.com]<br/>&gt; Sent: Saturday, December 09, 2006 6:16 PM<br/>&gt; To: midi@perl.org<br/>&gt; Subject: RE: accessing midisport 2x2 using ALSA &amp; MIDI::Music...<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; Both MIDI::Music and MIDI::Realtime CPAN packages are broken. ::Music<br/>&gt; requires OSS as you said, and it has a dependency on a soundcard file.<br/>&gt;<br/>&gt; ::Realtime says it requires OSS, but its&#39; package install is broken as<br/>&gt; &quot;make&quot; and followers fail.<br/>&gt;<br/>&gt; I&#39;ve tried it on Debian Sarge, Debian Testing and Suse 9.1. I<br/>&gt; haven;t looked<br/>&gt; into why the package is broken... it&#39;s been a long time since I understood<br/>&gt; all perl module install stuff at a sufficiently granular level to<br/>&gt; tshoot it.<br/>&gt;<br/>&gt; This part of linux (midi) is a mess and getting worse (with mixed<br/>&gt; dependencies on OSS vs ALSA vs whatever). Maybe I&#39;ll get back to this one<br/>&gt; day...<br/>&gt;<br/>&gt; Thanks for the suggestions,<br/>&gt;<br/>&gt; Rick<br/>&gt;<br/>&gt; &gt; -----Original Message-----<br/>&gt; &gt; From: Linux@lists.develooper.com [mailto:Linux@lists.develooper.com]On<br/>&gt; &gt; Behalf Of zentara<br/>&gt; &gt; Sent: Friday, December 08, 2006 10:04 AM<br/>&gt; &gt; To: midi@perl.org<br/>&gt; &gt; Subject: Re: accessing midisport 2x2 using ALSA &amp; MIDI::Music...<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt; On Thu, 7 Dec 2006 22:31:38 -0500, rbolen@carolina.rr.com (&quot;Rick Bolen&quot;)<br/>&gt; &gt; wrote:<br/>&gt; &gt;<br/>&gt; &gt; &gt;I&#39;m trying to get MIDI::Music to send midi data out to the USB<br/>&gt; connected<br/>&gt; &gt; &gt;Midisport 2x2. Ifinally got the Midisport initialized via hotplug and<br/>&gt; &gt; &gt;firmware dowloading, but...<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt;I&#39;m using alsa on Debian testing, and MIDI::Music wants to write to<br/>&gt; &gt;<br/>&gt; &gt; MIDI::Musis says it needs OSS, not alsa.<br/>&gt; &gt;<br/>&gt; &gt; &gt;/dev/music (which doesn&#39;t exist). I tried creating symlinks from<br/>&gt; &gt; /dev/music<br/>&gt; &gt; &gt;to /dev/midi[0-3] but MIDI::Music still can&#39;t find the port.<br/>&gt; &gt; &gt;<br/>&gt; &gt; &gt;Any way to get the data moving?<br/>&gt; &gt; &gt;Rick<br/>&gt; &gt; This is from testing a few years ago, I don&#39;t have a setup right now<br/>&gt; &gt; to test, but..............<br/>&gt; &gt;<br/>&gt; &gt; If you just want to test the USB connection, it usually is device 5.<br/>&gt; &gt; This script uses MIDI::Realtime to play keys from the computer<br/>&gt; &gt; keyboard, but you can assign midi_device = 5 and maybe modify the<br/>&gt; &gt; loop, to get input from the midi keyboard.<br/>&gt; &gt;<br/>&gt; &gt; Also do &quot;amidi -h&quot; and google for amidi, to see how to do it<br/>&gt; &gt; with amidi.<br/>&gt; &gt;<br/>&gt; &gt; #!/usr/bin/perl<br/>&gt; &gt; use warnings;<br/>&gt; &gt; use strict;<br/>&gt; &gt; use MIDI::Realtime;<br/>&gt; &gt; use Term::ReadKey;<br/>&gt; &gt;<br/>&gt; &gt; ReadMode(&#39;cbreak&#39;);<br/>&gt; &gt;<br/>&gt; &gt; #this works on linux with an SBlive, Alsa 1.0.4, kernel 2.4.22<br/>&gt; &gt; # on my system, it has a bug when usb-hotplug and usb-midi are used<br/>&gt; &gt; # and the hotplug-blacklist is not setup properly<br/>&gt; &gt;<br/>&gt; &gt; my $midi = MIDI::Realtime-&gt;new(dev=&gt;&#39;/dev/sequencer&#39;,<br/>&gt; &gt; midi_device=&gt; 5); #1,2,3,4<br/>&gt; &gt; #5 for external keyboard<br/>&gt; &gt; #thru USB UM-1 connector<br/>&gt; &gt;<br/>&gt; &gt; while(1){<br/>&gt; &gt; my $char;<br/>&gt; &gt; if (defined ($char = ReadKey(0)) ) {<br/>&gt; &gt; print ord($char),&quot;\n&quot;; # input was waiting and it was $char<br/>&gt; &gt;<br/>&gt; &gt; $midi-&gt;patch(ord($char)); #change instrument, 127 gives<br/>&gt; &gt; &quot;exploding keyboard&quot; :-)<br/>&gt; &gt; $midi-&gt;note(50,1,127); #play note<br/>&gt; &gt;<br/>&gt; &gt; } else {<br/>&gt; &gt; # no input was waiting<br/>&gt; &gt; }<br/>&gt; &gt; }<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt; ReadMode(&#39;normal&#39;); # restore normal tty settings<br/>&gt; &gt;<br/>&gt; &gt; __END__<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt; to send to the keyboard<br/>&gt; &gt;<br/>&gt; &gt; #!/usr/bin/perl<br/>&gt; &gt; use warnings;<br/>&gt; &gt; use strict;<br/>&gt; &gt; use MIDI::Realtime;<br/>&gt; &gt; use diagnostics;<br/>&gt; &gt;<br/>&gt; &gt; #works<br/>&gt; &gt; my $midi = MIDI::Realtime-&gt;new(dev=&gt;&#39;/dev/sequencer&#39;,<br/>&gt; &gt; midi_device=&gt; 5); #1,2,3,4<br/>&gt; &gt; #5 is USB midi<br/>&gt; &gt; # Play note 47 with maximum velocity on channel 1<br/>&gt; &gt; $midi-&gt;note(47,1,127);<br/>&gt; &gt;<br/>&gt; &gt; # Now have some fun with randomness<br/>&gt; &gt;<br/>&gt; &gt; my @notes = (37 .. 50);<br/>&gt; &gt; # use all the channels (with extra drums)<br/>&gt; &gt; my @channels = (1 .. 16, 10, 10, 10);<br/>&gt; &gt; my @velocities = (70 .. 100);<br/>&gt; &gt;<br/>&gt; &gt; for (0 .. 127) {<br/>&gt; &gt; $midi-&gt;note($notes[rand(@notes)],<br/>&gt; &gt; $channels[rand(@channels)],<br/>&gt; &gt; $velocities[rand(@velocities)]<br/>&gt; &gt; );<br/>&gt; &gt;<br/>&gt; &gt; # Wait for a tenth of a second<br/>&gt; &gt; select(undef,undef,undef, 0.10);<br/>&gt; &gt; }<br/>&gt; &gt; __END__<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt; --<br/>&gt; &gt; I&#39;m not really a human, but I play one on earth.<br/>&gt; &gt; http://zentara.net/japh.html<br/><br/> http://www.nntp.perl.org/group/perl.midi/2006/12/msg338.html Sat, 09 Dec 2006 18:56:24 +0000 RE: accessing midisport 2x2 using ALSA & MIDI::Music... by Rick Bolen <br/>Both MIDI::Music and MIDI::Realtime CPAN packages are broken. ::Music<br/>requires OSS as you said, and it has a dependency on a soundcard file.<br/><br/>::Realtime says it requires OSS, but its&#39; package install is broken as<br/>&quot;make&quot; and followers fail.<br/><br/>I&#39;ve tried it on Debian Sarge, Debian Testing and Suse 9.1. I haven;t looked<br/>into why the package is broken... it&#39;s been a long time since I understood<br/>all perl module install stuff at a sufficiently granular level to tshoot it.<br/><br/>This part of linux (midi) is a mess and getting worse (with mixed<br/>dependencies on OSS vs ALSA vs whatever). Maybe I&#39;ll get back to this one<br/>day...<br/><br/>Thanks for the suggestions,<br/><br/>Rick<br/><br/>&gt; -----Original Message-----<br/>&gt; From: Linux@lists.develooper.com [mailto:Linux@lists.develooper.com]On<br/>&gt; Behalf Of zentara<br/>&gt; Sent: Friday, December 08, 2006 10:04 AM<br/>&gt; To: midi@perl.org<br/>&gt; Subject: Re: accessing midisport 2x2 using ALSA &amp; MIDI::Music...<br/>&gt;<br/>&gt;<br/>&gt; On Thu, 7 Dec 2006 22:31:38 -0500, rbolen@carolina.rr.com (&quot;Rick Bolen&quot;)<br/>&gt; wrote:<br/>&gt;<br/>&gt; &gt;I&#39;m trying to get MIDI::Music to send midi data out to the USB connected<br/>&gt; &gt;Midisport 2x2. Ifinally got the Midisport initialized via hotplug and<br/>&gt; &gt;firmware dowloading, but...<br/>&gt; &gt;<br/>&gt; &gt;I&#39;m using alsa on Debian testing, and MIDI::Music wants to write to<br/>&gt;<br/>&gt; MIDI::Musis says it needs OSS, not alsa.<br/>&gt;<br/>&gt; &gt;/dev/music (which doesn&#39;t exist). I tried creating symlinks from<br/>&gt; /dev/music<br/>&gt; &gt;to /dev/midi[0-3] but MIDI::Music still can&#39;t find the port.<br/>&gt; &gt;<br/>&gt; &gt;Any way to get the data moving?<br/>&gt; &gt;Rick<br/>&gt; This is from testing a few years ago, I don&#39;t have a setup right now<br/>&gt; to test, but..............<br/>&gt;<br/>&gt; If you just want to test the USB connection, it usually is device 5.<br/>&gt; This script uses MIDI::Realtime to play keys from the computer<br/>&gt; keyboard, but you can assign midi_device = 5 and maybe modify the<br/>&gt; loop, to get input from the midi keyboard.<br/>&gt;<br/>&gt; Also do &quot;amidi -h&quot; and google for amidi, to see how to do it<br/>&gt; with amidi.<br/>&gt;<br/>&gt; #!/usr/bin/perl<br/>&gt; use warnings;<br/>&gt; use strict;<br/>&gt; use MIDI::Realtime;<br/>&gt; use Term::ReadKey;<br/>&gt;<br/>&gt; ReadMode(&#39;cbreak&#39;);<br/>&gt;<br/>&gt; #this works on linux with an SBlive, Alsa 1.0.4, kernel 2.4.22<br/>&gt; # on my system, it has a bug when usb-hotplug and usb-midi are used<br/>&gt; # and the hotplug-blacklist is not setup properly<br/>&gt;<br/>&gt; my $midi = MIDI::Realtime-&gt;new(dev=&gt;&#39;/dev/sequencer&#39;,<br/>&gt; midi_device=&gt; 5); #1,2,3,4<br/>&gt; #5 for external keyboard<br/>&gt; #thru USB UM-1 connector<br/>&gt;<br/>&gt; while(1){<br/>&gt; my $char;<br/>&gt; if (defined ($char = ReadKey(0)) ) {<br/>&gt; print ord($char),&quot;\n&quot;; # input was waiting and it was $char<br/>&gt;<br/>&gt; $midi-&gt;patch(ord($char)); #change instrument, 127 gives<br/>&gt; &quot;exploding keyboard&quot; :-)<br/>&gt; $midi-&gt;note(50,1,127); #play note<br/>&gt;<br/>&gt; } else {<br/>&gt; # no input was waiting<br/>&gt; }<br/>&gt; }<br/>&gt;<br/>&gt;<br/>&gt; ReadMode(&#39;normal&#39;); # restore normal tty settings<br/>&gt;<br/>&gt; __END__<br/>&gt;<br/>&gt;<br/>&gt; to send to the keyboard<br/>&gt;<br/>&gt; #!/usr/bin/perl<br/>&gt; use warnings;<br/>&gt; use strict;<br/>&gt; use MIDI::Realtime;<br/>&gt; use diagnostics;<br/>&gt;<br/>&gt; #works<br/>&gt; my $midi = MIDI::Realtime-&gt;new(dev=&gt;&#39;/dev/sequencer&#39;,<br/>&gt; midi_device=&gt; 5); #1,2,3,4<br/>&gt; #5 is USB midi<br/>&gt; # Play note 47 with maximum velocity on channel 1<br/>&gt; $midi-&gt;note(47,1,127);<br/>&gt;<br/>&gt; # Now have some fun with randomness<br/>&gt;<br/>&gt; my @notes = (37 .. 50);<br/>&gt; # use all the channels (with extra drums)<br/>&gt; my @channels = (1 .. 16, 10, 10, 10);<br/>&gt; my @velocities = (70 .. 100);<br/>&gt;<br/>&gt; for (0 .. 127) {<br/>&gt; $midi-&gt;note($notes[rand(@notes)],<br/>&gt; $channels[rand(@channels)],<br/>&gt; $velocities[rand(@velocities)]<br/>&gt; );<br/>&gt;<br/>&gt; # Wait for a tenth of a second<br/>&gt; select(undef,undef,undef, 0.10);<br/>&gt; }<br/>&gt; __END__<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; --<br/>&gt; I&#39;m not really a human, but I play one on earth.<br/>&gt; http://zentara.net/japh.html<br/><br/> http://www.nntp.perl.org/group/perl.midi/2006/12/msg337.html Sat, 09 Dec 2006 15:18:22 +0000 RE: accessing midisport 2x2 using ALSA & MIDI::Music... by Rick Bolen Thanks zentara. I&#39;ll try your suggestion.<br/><br/>I had read your posts on experimenting with MIDI::Realtime previously.<br/>Ultimately I need to send CC events out the port, which I don&#39;t know if<br/>MIDI::Realtime supports, but for testing I can use note events.<br/><br/>I tried installing OSS-Compat (alsa &lt;-&gt; oss), but it didn&#39;&#39;t change anything<br/>(although I didn&#39;t config anything in it either).<br/><br/>Regards,<br/><br/><br/>Rick<br/><br/><br/>&gt; -----Original Message-----<br/>&gt; From: Linux@lists.develooper.com [mailto:Linux@lists.develooper.com]On<br/>&gt; Behalf Of zentara<br/>&gt; Sent: Friday, December 08, 2006 10:04 AM<br/>&gt; To: midi@perl.org<br/>&gt; Subject: Re: accessing midisport 2x2 using ALSA &amp; MIDI::Music...<br/>&gt;<br/>&gt;<br/>&gt; On Thu, 7 Dec 2006 22:31:38 -0500, rbolen@carolina.rr.com (&quot;Rick Bolen&quot;)<br/>&gt; wrote:<br/>&gt;<br/>&gt; &gt;I&#39;m trying to get MIDI::Music to send midi data out to the USB connected<br/>&gt; &gt;Midisport 2x2. Ifinally got the Midisport initialized via hotplug and<br/>&gt; &gt;firmware dowloading, but...<br/>&gt; &gt;<br/>&gt; &gt;I&#39;m using alsa on Debian testing, and MIDI::Music wants to write to<br/>&gt;<br/>&gt; MIDI::Musis says it needs OSS, not alsa.<br/>&gt;<br/>&gt; &gt;/dev/music (which doesn&#39;t exist). I tried creating symlinks from<br/>&gt; /dev/music<br/>&gt; &gt;to /dev/midi[0-3] but MIDI::Music still can&#39;t find the port.<br/>&gt; &gt;<br/>&gt; &gt;Any way to get the data moving?<br/>&gt; &gt;Rick<br/>&gt; This is from testing a few years ago, I don&#39;t have a setup right now<br/>&gt; to test, but..............<br/>&gt;<br/>&gt; If you just want to test the USB connection, it usually is device 5.<br/>&gt; This script uses MIDI::Realtime to play keys from the computer<br/>&gt; keyboard, but you can assign midi_device = 5 and maybe modify the<br/>&gt; loop, to get input from the midi keyboard.<br/>&gt;<br/>&gt; Also do &quot;amidi -h&quot; and google for amidi, to see how to do it<br/>&gt; with amidi.<br/>&gt;<br/>&gt; #!/usr/bin/perl<br/>&gt; use warnings;<br/>&gt; use strict;<br/>&gt; use MIDI::Realtime;<br/>&gt; use Term::ReadKey;<br/>&gt;<br/>&gt; ReadMode(&#39;cbreak&#39;);<br/>&gt;<br/>&gt; #this works on linux with an SBlive, Alsa 1.0.4, kernel 2.4.22<br/>&gt; # on my system, it has a bug when usb-hotplug and usb-midi are used<br/>&gt; # and the hotplug-blacklist is not setup properly<br/>&gt;<br/>&gt; my $midi = MIDI::Realtime-&gt;new(dev=&gt;&#39;/dev/sequencer&#39;,<br/>&gt; midi_device=&gt; 5); #1,2,3,4<br/>&gt; #5 for external keyboard<br/>&gt; #thru USB UM-1 connector<br/>&gt;<br/>&gt; while(1){<br/>&gt; my $char;<br/>&gt; if (defined ($char = ReadKey(0)) ) {<br/>&gt; print ord($char),&quot;\n&quot;; # input was waiting and it was $char<br/>&gt;<br/>&gt; $midi-&gt;patch(ord($char)); #change instrument, 127 gives<br/>&gt; &quot;exploding keyboard&quot; :-)<br/>&gt; $midi-&gt;note(50,1,127); #play note<br/>&gt;<br/>&gt; } else {<br/>&gt; # no input was waiting<br/>&gt; }<br/>&gt; }<br/>&gt;<br/>&gt;<br/>&gt; ReadMode(&#39;normal&#39;); # restore normal tty settings<br/>&gt;<br/>&gt; __END__<br/>&gt;<br/>&gt;<br/>&gt; to send to the keyboard<br/>&gt;<br/>&gt; #!/usr/bin/perl<br/>&gt; use warnings;<br/>&gt; use strict;<br/>&gt; use MIDI::Realtime;<br/>&gt; use diagnostics;<br/>&gt;<br/>&gt; #works<br/>&gt; my $midi = MIDI::Realtime-&gt;new(dev=&gt;&#39;/dev/sequencer&#39;,<br/>&gt; midi_device=&gt; 5); #1,2,3,4<br/>&gt; #5 is USB midi<br/>&gt; # Play note 47 with maximum velocity on channel 1<br/>&gt; $midi-&gt;note(47,1,127);<br/>&gt;<br/>&gt; # Now have some fun with randomness<br/>&gt;<br/>&gt; my @notes = (37 .. 50);<br/>&gt; # use all the channels (with extra drums)<br/>&gt; my @channels = (1 .. 16, 10, 10, 10);<br/>&gt; my @velocities = (70 .. 100);<br/>&gt;<br/>&gt; for (0 .. 127) {<br/>&gt; $midi-&gt;note($notes[rand(@notes)],<br/>&gt; $channels[rand(@channels)],<br/>&gt; $velocities[rand(@velocities)]<br/>&gt; );<br/>&gt;<br/>&gt; # Wait for a tenth of a second<br/>&gt; select(undef,undef,undef, 0.10);<br/>&gt; }<br/>&gt; __END__<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt;<br/>&gt; --<br/>&gt; I&#39;m not really a human, but I play one on earth.<br/>&gt; http://zentara.net/japh.html<br/><br/> http://www.nntp.perl.org/group/perl.midi/2006/12/msg336.html Fri, 08 Dec 2006 07:42:17 +0000 Re: accessing midisport 2x2 using ALSA & MIDI::Music... by zentara On Thu, 7 Dec 2006 22:31:38 -0500, rbolen@carolina.rr.com (&quot;Rick Bolen&quot;)<br/>wrote:<br/><br/>&gt;I&#39;m trying to get MIDI::Music to send midi data out to the USB connected<br/>&gt;Midisport 2x2. Ifinally got the Midisport initialized via hotplug and<br/>&gt;firmware dowloading, but...<br/>&gt;<br/>&gt;I&#39;m using alsa on Debian testing, and MIDI::Music wants to write to<br/><br/>MIDI::Musis says it needs OSS, not alsa.<br/><br/>&gt;/dev/music (which doesn&#39;t exist). I tried creating symlinks from /dev/music<br/>&gt;to /dev/midi[0-3] but MIDI::Music still can&#39;t find the port.<br/>&gt;<br/>&gt;Any way to get the data moving?<br/>&gt;Rick<br/>This is from testing a few years ago, I don&#39;t have a setup right now<br/>to test, but..............<br/><br/>If you just want to test the USB connection, it usually is device 5.<br/>This script uses MIDI::Realtime to play keys from the computer<br/>keyboard, but you can assign midi_device = 5 and maybe modify the<br/>loop, to get input from the midi keyboard.<br/><br/>Also do &quot;amidi -h&quot; and google for amidi, to see how to do it<br/>with amidi.<br/><br/>#!/usr/bin/perl<br/>use warnings;<br/>use strict;<br/>use MIDI::Realtime;<br/>use Term::ReadKey;<br/><br/>ReadMode(&#39;cbreak&#39;);<br/><br/>#this works on linux with an SBlive, Alsa 1.0.4, kernel 2.4.22<br/># on my system, it has a bug when usb-hotplug and usb-midi are used<br/># and the hotplug-blacklist is not setup properly<br/><br/>my $midi = MIDI::Realtime-&gt;new(dev=&gt;&#39;/dev/sequencer&#39;,<br/> midi_device=&gt; 5); #1,2,3,4<br/> #5 for external keyboard <br/> #thru USB UM-1 connector<br/><br/>while(1){<br/>my $char;<br/>if (defined ($char = ReadKey(0)) ) {<br/> print ord($char),&quot;\n&quot;; # input was waiting and it was $char<br/> <br/> $midi-&gt;patch(ord($char)); #change instrument, 127 gives<br/>&quot;exploding keyboard&quot; :-)<br/> $midi-&gt;note(50,1,127); #play note<br/><br/>} else {<br/> # no input was waiting<br/> }<br/>}<br/><br/><br/>ReadMode(&#39;normal&#39;); # restore normal tty settings<br/><br/>__END__<br/><br/><br/>to send to the keyboard<br/><br/>#!/usr/bin/perl<br/>use warnings;<br/>use strict;<br/>use MIDI::Realtime;<br/>use diagnostics;<br/><br/>#works <br/>my $midi = MIDI::Realtime-&gt;new(dev=&gt;&#39;/dev/sequencer&#39;,<br/> midi_device=&gt; 5); #1,2,3,4<br/> #5 is USB midi<br/># Play note 47 with maximum velocity on channel 1<br/>$midi-&gt;note(47,1,127);<br/><br/># Now have some fun with randomness<br/><br/>my @notes = (37 .. 50);<br/># use all the channels (with extra drums)<br/>my @channels = (1 .. 16, 10, 10, 10);<br/>my @velocities = (70 .. 100);<br/><br/>for (0 .. 127) {<br/> $midi-&gt;note($notes[rand(@notes)],<br/> $channels[rand(@channels)],<br/> $velocities[rand(@velocities)]<br/>);<br/><br/># Wait for a tenth of a second<br/>select(undef,undef,undef, 0.10);<br/>}<br/>__END__<br/><br/><br/><br/><br/><br/><br/><br/>-- <br/>I&#39;m not really a human, but I play one on earth.<br/>http://zentara.net/japh.html<br/> http://www.nntp.perl.org/group/perl.midi/2006/12/msg335.html Fri, 08 Dec 2006 07:07:09 +0000 accessing midisport 2x2 using ALSA & MIDI::Music... by Rick Bolen Hello,<br/><br/>I&#39;m trying to get MIDI::Music to send midi data out to the USB connected<br/>Midisport 2x2. Ifinally got the Midisport initialized via hotplug and<br/>firmware dowloading, but...<br/><br/>I&#39;m using alsa on Debian testing, and MIDI::Music wants to write to<br/>/dev/music (which doesn&#39;t exist). I tried creating symlinks from /dev/music<br/>to /dev/midi[0-3] but MIDI::Music still can&#39;t find the port.<br/><br/>Any way to get the data moving?<br/><br/>Thanks,<br/><br/>Rick<br/><br/><br/> http://www.nntp.perl.org/group/perl.midi/2006/12/msg334.html Thu, 07 Dec 2006 19:33:47 +0000 Re: Transforming midi note numbers by Marcus Thanks to Christian and Paul. They answered my question....<br/><br/>Marcus<br/><br/> <br/>---------------------------------<br/>How low will we go? Check out Yahoo! Messenger&#146;s low PC-to-Phone call rates.<br/> http://www.nntp.perl.org/group/perl.midi/2006/10/msg333.html Mon, 09 Oct 2006 15:45:17 +0000 Re: Transforming midi note numbers by peter.billam Marcus wrote:<br/><br/>&gt; I need a perl script that given an input midi file writes a new file<br/>&gt; with notes transformed (for example, transposed by +3 note numbers).<br/><br/>One possibilty (not much tested) follows after .sig, usage:<br/> miditranspose -3 fn.mid &gt; fn_low.mid # transposes down 3 semtiones<br/> miditranspose +5 fn.mid &gt; fn_high.mid # transposes up 3 semtiones<br/><br/>Regards, Peter<br/><br/>AUS/TAS/DPIW/CIT/Servers hbt/lnd/l8 6233 3061 http://www.pjb.com.au<br/>Pasar&eacute;, pasar&eacute;mos dice el agua y canta la verdad contra la piedra<br/> -- Pablo Neruda<br/>------------------------------------------------------------------<br/><br/>#! /usr/bin/perl<br/><br/>eval &#39;require MIDI&#39;; if ($@) {<br/> die &quot;you&#39;ll need to install the MIDI::Perl module from www.cpan.org\n&quot;;<br/>}<br/>import MIDI;<br/>my $Version = &#39;1.0&#39;;<br/><br/># check format of options args...<br/>$amount = shift;<br/>if ($amount !~ /[+-]?\d+/ || $amount &lt; -25 || $amount &gt; +25) {<br/> die &quot;improbable transposition by $amount semitones\n&quot;;<br/>}<br/>$amount = 0 + $amount;<br/><br/>my $opus = MIDI::Opus-&gt;new({ &#39;from_file&#39; =&gt; $ARGV[$[] || &#39;-&#39;});<br/><br/>foreach my $track ($opus-&gt;tracks()) { # there will usually be only one<br/> my $events_r = $track-&gt;events_r();<br/><br/> foreach my $event (@{$events_r}) {<br/> # varnames are only accurate for note_on and note_off events:<br/> my ($evtype, $dticks, $cha, $note, $vol) = @$event;<br/> if ($evtype eq &#39;note_on&#39; | $evtype eq &#39;note_off&#39;) {<br/> if ($cha != 9) { ${$event}[$[+3] += $amount; }<br/> }<br/> }<br/>}<br/>$opus-&gt;write_to_file( &#39;&gt;-&#39; );<br/><br/>__END__<br/><br/>=pod<br/><br/>=head1 NAME<br/><br/>miditranspose - Simulates the old tape-loop delay transpose on MIDI files<br/><br/>=head1 SYNOPSIS<br/><br/> miditranspose -3 fn.mid &gt; fn_low.mid # transposes down 3 semtiones<br/> miditranspose +5 fn.mid &gt; fn_high.mid # transposes up 3 semtiones<br/><br/>=head1 DESCRIPTION<br/><br/>By default, MIDI channel 9 (or 10, if you&#39;re counting 1..16)<br/>is left unchanged as, in General MIDI, it&#39;s the percussion channel.<br/><br/>=head1 OPTIONS<br/><br/>These options are currently unimplemented :-)<br/><br/>=over 3<br/><br/>=item I&lt;-a&gt;<br/><br/>All channels are transposed, i.e. including channel 9.<br/><br/>=item I&lt;-n 3,4,6,9,12&gt;<br/><br/>Channels 3,4,6,9 and 12 will Not be transposed.<br/>The default is I&lt;-n 9&gt;<br/><br/>=back<br/><br/>=head1 AUTHOR<br/><br/>Peter J Billam http://www.pjb.com.au/comp/contact.html<br/><br/>=head1 CREDITS<br/><br/>Based on Sean Burke&#39;s MIDI::Perl CPAN module.<br/><br/>=head1 SEE ALSO<br/><br/> http://search.cpan.org/~sburke<br/> http://www.pjb.com.au/muscript<br/> http://www.pjb.com.au/midi<br/><br/>=cut<br/><br/> http://www.nntp.perl.org/group/perl.midi/2006/10/msg332.html Mon, 09 Oct 2006 04:25:44 +0000 Re: Transforming midi note numbers by Christian Renz Hi Marcus,<br/><br/>you could take a look at my modules MIDI::Tools and Music::Gestalt:<br/><br/>http://search.cpan.org/~crenz/MIDI-Tools-0.02/<br/>http://search.cpan.org/~crenz/Music-Gestalt-0.06/<br/><br/>You might also have a use for MIDI::Pitch:<br/><br/>http://search.cpan.org/~crenz/MIDI-Pitch-0.7/lib/MIDI/Pitch.pm<br/><br/>Regards,<br/> Christian<br/><br/>-- <br/>crenz@web42.com - http://christian.web42.com - http://www.web42.com/crenz/ <br/><br/>&quot;A man who gives in to temptation after five minutes simply does not<br/>know what it would have been like an hour later. That is why bad<br/>people, in one sense, know very little about badness. They have lived<br/>a sheltered life by always giving in.&quot; -- C.S. Lewis<br/> http://www.nntp.perl.org/group/perl.midi/2006/10/msg331.html Mon, 09 Oct 2006 04:25:38 +0000 Transforming midi note numbers by Marcus Hi everybody,<br/><br/>I&#39;m new to the list. I don&#39;t yet know how to search the archives.<br/><br/>I need a perl script that given an input midi file writes out a new file with notes transformed (for example, transposed by +3 note numbers).<br/><br/>Has such a script been published to this list? If so, could a kind generous soul point it out to me?<br/><br/>Thanks so much!<br/>Marcus<br/><br/><br/># Perfect Buzz Music Podcast<br/>http://web.mac.com/marcushobbs/iWeb/PerfectBuzzMusic/Perfect%20Buzz%20Music%20Podcast/Perfect%20Buzz%20Music%20Podcast.html<br/><br/># Perfect Buzz Music Home<br/>http://www.perfectbuzzmusic.com<br/> <br/>---------------------------------<br/> All-new Yahoo! Mail - Fire up a more powerful email and get things done faster.<br/> http://www.nntp.perl.org/group/perl.midi/2006/10/msg330.html Sun, 08 Oct 2006 16:45:58 +0000 Re: John Stump Overdrive by zentara On Sun, 21 May 2006 19:38:42 -0800, sburke@cpan.org (&quot;Sean M. Burke&quot;)<br/>wrote:<br/><br/>&gt;John Stump Overdrive:<br/>&gt; http://substitute.livejournal.com/1394474.html<br/><br/>So where can we get the midi? :-)<br/><br/><br/>-- <br/>I&#39;m not really a human, but I play one on earth.<br/>http://zentara.net/japh.html<br/> http://www.nntp.perl.org/group/perl.midi/2006/05/msg329.html Mon, 22 May 2006 06:53:13 +0000 John Stump Overdrive by Sean M. Burke John Stump Overdrive:<br/> http://substitute.livejournal.com/1394474.html<br/><br/><br/><br/>-- <br/>Sean M. Burke http://search.cpan.org/~sburke/<br/>*** You have been kicked off channel #music_typesetting_britney420<br/> http://www.nntp.perl.org/group/perl.midi/2006/05/msg328.html Sun, 21 May 2006 20:39:43 +0000 Re: MIDI Simple Help, Read @Notes? by zentara On Wed, 30 Nov 2005 14:46:33 -0700, rsj6@qwest.net (Sigmund Rothschild)<br/>wrote:<br/><br/>&gt;I&#39;m hoping to write a Perl program with MIDI::Simple that would:<br/>&gt;<br/>&gt;1. Read a pre-existing MIDI file. <br/>&gt;2. Insert new MIDI note number values (pitch, 0-127) from an array into the pre-existing MIDI file&#39;s note on and off events.<br/>&gt;3. Write the result to a new MIDI file. <br/><br/>&gt;#How do I access the note values from read_score and assign them the new note numbers?<br/><br/>Hi, I&#39;ve been using this script to modify lyrics in midi-karaoke<br/>files, maybe it can be applied to notes?<br/>It dumps each track, and if you figure out the meaning of the various<br/>midi control characters, you might be able to change the note played<br/>at any one point.<br/>It writes a file that is in the form of a regenerator script, to<br/>reproduce the new midi file.<br/><br/>For text events, each text fragment is prefixed by a hex value of it&#39;s<br/>length, so when you change text, you must change that preceding number<br/>too. I&#39;m not familiar enough with the midi specs to say what is needed<br/>to change individual note events, but if you find out, please post it.<br/>:-)<br/>#######################################################<br/>#!/usr/bin/perl -w<br/>#Mr. Muskrat of perlmonks.org<br/>use strict;<br/>use MIDI;<br/>for my $midi (@ARGV) {<br/>open(*STDOUT, &quot;&gt;&quot;, &quot;$midi.pl&quot;);<br/>print &lt;&lt;&#39;EOP&#39;;<br/>#!/usr/bin/perl -w<br/>use MIDI;<br/>my $opus =<br/>EOP<br/>my $opus = MIDI::Opus-&gt;new({ &#39;from_file&#39; =&gt; $midi, &#39;no_parse&#39; =&gt; 1 });<br/>$opus-&gt;dump( { dump_tracks =&gt; 1 } );<br/>print &quot;\$opus-&gt;write_to_file(&#39;$midi&#39;);\n&quot;;<br/>}<br/>__END__<br/><br/><br/><br/><br/><br/><br/>-- <br/>I&#39;m not really a human, but I play one on earth.<br/>http://zentara.net/japh.html<br/> http://www.nntp.perl.org/group/perl.midi/2006/01/msg327.html Sat, 14 Jan 2006 08:37:04 +0000 papers on MIDI things by Sean M. Burke Of interest:<br/> http://www.langston.com/Papers/<br/><br/>-- <br/>Sean M. Burke http://search.cpan.org/~sburke/<br/> http://www.nntp.perl.org/group/perl.midi/2006/01/msg326.html Sat, 14 Jan 2006 00:35:19 +0000 Re: MIDI Simple Help, Read @Notes? by \js hi<br/><br/>On 11/30/05, Sigmund Rothschild &lt;rsj6@qwest.net&gt; wrote:<br/>&gt; Mainly, I don&#39;t understand how to write the new values to the array or hash<br/>&gt; that is holding the MIDI note events, @Notes, as I can&#39;t access them.<br/><br/>use Data::Dumper;<br/>print Dumper ( $obj );<br/><br/>this will dump your data structure as a text string. if you don&#39;t know<br/>about references i&#39;d suggest this:<br/><br/>perldoc perlreftut<br/>perldoc perlref<br/><br/>good luck!<br/><br/>--<br/>\js [ http://or8.net/~johns/ ]<br/> http://www.nntp.perl.org/group/perl.midi/2005/11/msg325.html Wed, 30 Nov 2005 14:07:27 +0000 MIDI Simple Help, Read @Notes? by Sigmund Rothschild I&#39;m hoping to write a Perl program with MIDI::Simple that would:<br/><br/>1. Read a pre-existing MIDI file. <br/>2. Insert new MIDI note number values (pitch, 0-127) from an array into the pre-existing MIDI file&#39;s note on and off events.<br/>3. Write the result to a new MIDI file. <br/><br/>I completed another project with the MIDI module and have found it to be really great. I read Sean Burke&#39;s paper &quot;Perl and MIDI: Simple Languages, Easy Music&quot; online, went through the archive at http://www.nntp.perl.org/group/perl.midi, and looked at the the PODs on the Cpan, and I&#39;m stumped. There are critical pieces of information that I am missing, as I am new to Perl and OOP. I have tried three different approaches and have not been able to make any of them work. Mainly, I don&#39;t understand how to write the new values to the array or hash that is holding the MIDI note events, @Notes, as I can&#39;t access them. <br/><br/>Any help to get the snippet below to work would be greatly appreciated.<br/><br/>-Sig<br/><br/><br/>#!/System/Library/Perl<br/>#try_MIDI_simple_write-1.plx<br/>use warnings;<br/>use strict;<br/>use MIDI::Simple;<br/><br/><br/>new_score;<br/>my $obj = read_score($ARGV[0]);<br/><br/>#How do I access the note values from read_score and assign them the new note numbers?<br/><br/>my $notes_r;<br/>my @old_notes;<br/><br/>$notes_r = $obj-&gt;Notes_r; ##From Cpan MIDI::Simple POD<br/># to read:<br/>@old_notes = @$notes_r;<br/># to write:<br/>@$notes_r = (13,17,22);<br/><br/>$notes_r = $obj-&gt;Notes_r; ##To Set?<br/>@$notes_r = ();<br/><br/>write_score &#39;Changed_Notes.mid&#39;;<br/> http://www.nntp.perl.org/group/perl.midi/2005/11/msg324.html Wed, 30 Nov 2005 13:46:49 +0000 MIDI-Perl module maintainership by Sean M. Burke I&#39;ve been thinking lately that it&#39;s been years and years and years since <br/>I thought to add anything to MIDI-Perl in general, or MIDI::Simple <br/>specifically. I figure the modules might benefit from my passing them <br/>on to a new maintainer or group of maintainers.<br/>Would anyone here be interested?<br/> http://www.nntp.perl.org/group/perl.midi/2005/10/msg323.html Mon, 31 Oct 2005 17:56:35 +0000 mailing list archives non-existenct? by Terrence Brannon The perl.org page for this mailing list:<br/><br/> http://lists.cpan.org/showlist.cgi?name=midi<br/><br/>Lists the following as the archive for this list:<br/><br/> http://www.mail-archive.com/midi@perl.org/<br/><br/>However, that list does not exist.<br/> http://www.nntp.perl.org/group/perl.midi/2005/10/msg322.html Tue, 11 Oct 2005 07:01:12 +0000 midi2chord project on sourceforge by Markus Kollmar Hi,<br/><br/>I have registered a project called &quot;midi2chord&quot; on sourceforge <br/>(&quot;http://sourceforge.net/projects/midi2chord/&quot;). The <br/>programming-language is perl and I use the very helpful MIDI <br/>perl-module. midi2chord takes midifiles and prints chords as result (ok, <br/>at least it should ;-)).<br/><br/>There is now a new release online. The development status is not stable <br/>and the code may not be very good. But it should show the way the <br/>project wants to go.<br/><br/>If you are interested: Help or comments are welcome!<br/><br/><br/>Regards<br/><br/>Markus Kollmar<br/><br/> http://www.nntp.perl.org/group/perl.midi/2005/08/msg321.html Tue, 02 Aug 2005 16:00:48 +0000 vexations in perl by john saylor hi<br/><br/>i gave a presentation at the most recent YAPC about a project i did<br/>using MIDI::Simple. you can see the slides here:<br/>http://or8.net/~johns/vex/<br/><br/>there are links in the presentation to download the source, grab a<br/>midi file, or generate your own vexations.<br/><br/>comments are encouraged.<br/><br/>-- <br/>\js [ http://or8.net/~johns/ ]<br/> http://www.nntp.perl.org/group/perl.midi/2005/07/msg320.html Sun, 10 Jul 2005 09:32:34 +0000 Re: MIDI OO interface? by Christian Renz Sorry; I was a bit unclear in my message. The MIDI modules have an OO<br/>interface already, but I meant an extension of this interface to<br/>include event lists and scores.<br/><br/>Greetings,<br/> Christian<br/><br/>-- <br/>crenz@web42.com - http://www.web42.com/crenz/ - http://www.web42.com/<br/><br/>&quot;What we call Man&#39;s power over Nature turns out to be a power exercised<br/>by some men over other men with Nature as its instrument.&quot;<br/> -- C.S. Lewis, The Abolition of Man<br/> http://www.nntp.perl.org/group/perl.midi/2005/06/msg319.html Sat, 04 Jun 2005 16:11:16 +0000 MIDI OO interface? by Christian Renz Hi all,<br/><br/>I currently do a lot of Perl MIDI stuff for a university project. I<br/>work mostly on modifying and transitioning between small snippets of<br/>MIDI (MIDI::Morph will do that satisfactorily one day). For that, I<br/>need quite a lot of helper functions. I&#39;ll probably update my<br/>MIDI::Tools soon with stuff like append_scores(), quantize_pitch() (to<br/>scales), quantize_durations() etc.<br/><br/>This has led me to the following question: Is it planned to have an<br/>object-oriented version of the MIDI modules? I&#39;d like to do stuff like<br/><br/>my $m = MIDI::Score-&gt;new(...)<br/>$m-&gt;Append(...);<br/>$n = $m-&gt;Copy();<br/>$m-&gt;Quantize(...);<br/>$e = $m-&gt;AsEvents(); # $e is now an MIDI::Events object<br/><br/>and so on. I think that could have the potential of providing quite a<br/>nice interface. I&#39;d definitely be willing to help out with an OO<br/>wrapper for the existing modules.<br/><br/>Greetings,<br/> Christian<br/><br/>-- <br/>crenz@web42.com - http://www.web42.com/crenz/ - http://www.web42.com/<br/><br/>&quot;I&#39;m reminded of the day my daughter came in, looked over my shoulder<br/>at some Perl 4 code, and said, &#39;What is that, swearing?&#39;&quot; -- Larry Wall<br/> http://www.nntp.perl.org/group/perl.midi/2005/06/msg318.html Sat, 04 Jun 2005 16:10:33 +0000 MIDI-Perl 0.81 out (more cowbell) by Sean M. Burke Recently stumbled on the fact that the current version of MIDI-Perl in CPAN <br/>had old-style tests -- a test.pl file, instead of a t/whatever.t file. So <br/>I started spiffing up the dist today, and ended up also spellchecking the <br/>docs, fixing some stale URLs, and adding more tests, just for kicks.<br/>There were no substantive changes to the Perl code tho.<br/><br/>But if you do install this version, you will have the joy of seeing this <br/>fly by at the &quot;make test&quot; stage:<br/>t/20_cowbell....ok<br/><br/>Also, I got ambitious and spiffed up the MIDI-Perl homepage a bit:<br/> http://interglacial.com/~sburke/midi-perl/<br/><br/><br/>--<br/>Sean M. Burke http://search.cpan.org/~sburke/ <br/><br/> http://www.nntp.perl.org/group/perl.midi/2005/01/msg317.html Sun, 30 Jan 2005 02:03:56 +0000 Re: Mac::CoreMIDI by Christian Renz &gt;This is pretty neat!<br/>&gt; http://search.cpan.org/~crenz/Mac-CoreMIDI/<br/><br/>Thanks for the flowers :-). It is pretty much a work in progress,<br/>though. Right now, the only thing you can do is to query devices. I<br/>plan to implement reading MIDI data soon, but I am facing the problem<br/>of how to exchange data between threads, as Mac OS X runs your<br/>callback in another (high priority) thread. As soon as I figure out<br/>how to deal with that, the module will be much more useful :-).<br/><br/>In the end, I hope to be able to play (and record) MIDI-Perl-style data<br/>directly. _That_ would be neat :-).<br/><br/>Greetings,<br/> Christian Renz<br/><br/>-- <br/>crenz@web42.com - http://www.web42.com/crenz/ - http://www.web42.com/<br/><br/>&quot;The real job of every moral teacher is to keep on bringing us back,<br/>time after time, to the old simple principles which we are all so<br/>anxious not to see.&quot; -- C.S. Lewis, Mere Christianity<br/> http://www.nntp.perl.org/group/perl.midi/2005/01/msg316.html Wed, 26 Jan 2005 02:13:08 +0000 Mac::CoreMIDI by Sean M. Burke This is pretty neat!<br/> http://search.cpan.org/~crenz/Mac-CoreMIDI/<br/><br/><br/>--<br/>Sean M. Burke http://search.cpan.org/~sburke/ <br/><br/> http://www.nntp.perl.org/group/perl.midi/2005/01/msg315.html Tue, 25 Jan 2005 17:53:34 +0000 Re: where is the archive? by Jean-Pierre Vidal Le mardi 18 Janvier 2005 01:59, Noel Lairson a &eacute;crit&nbsp;:<br/>&gt; Hey! I found it!<br/>&gt; I was doing some ego-googling and found:<br/>&gt; http://computingnews.com/group/nntp.perl.org/perl.midi<br/>&gt; Noel<br/><br/>fine!<br/>JPV<br/><br/>&gt; <br/>&gt; <br/>&gt; <br/>&gt; On Wed, 05 Jan 2005 15:36:37 -0900, Sean M. Burke &lt;sburke@cpan.org&gt; wrote:<br/>&gt; <br/>&gt; &gt;<br/>&gt; &gt;&gt; ... link &quot;midi&quot; (http://lists.cpan.org/showlist.cgi?name=midi)...<br/>&gt; &gt;&gt; ...<br/>&gt; &gt;&gt; I am unable to join the archive <br/>&quot;http://www.mail-archive.com/midi@perl.org/&quot;<br/>&gt; &gt;<br/>&gt; &gt; That&#39;s all very strange. I&#39;ll look into it and will get it fixed. Thanks<br/>&gt; &gt; for noticing this!<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; &gt; --<br/>&gt; &gt; Sean M. Burke http://search.cpan.org/~sburke/<br/>&gt; &gt;<br/>&gt; &gt;<br/>&gt; <br/>&gt; <br/>&gt; <br/>&gt; <br/> http://www.nntp.perl.org/group/perl.midi/2005/01/msg314.html Tue, 18 Jan 2005 11:54:07 +0000 Re: where is the archive? by Noel Lairson Hey! I found it!<br/>I was doing some ego-googling and found:<br/>http://computingnews.com/group/nntp.perl.org/perl.midi<br/>Noel<br/><br/><br/><br/>On Wed, 05 Jan 2005 15:36:37 -0900, Sean M. Burke &lt;sburke@cpan.org&gt; wrote:<br/><br/>&gt;<br/>&gt;&gt; ... link &quot;midi&quot; (http://lists.cpan.org/showlist.cgi?name=midi)...<br/>&gt;&gt; ...<br/>&gt;&gt; I am unable to join the archive &quot;http://www.mail-archive.com/midi@perl.org/&quot;<br/>&gt;<br/>&gt; That&#39;s all very strange. I&#39;ll look into it and will get it fixed. Thanks<br/>&gt; for noticing this!<br/>&gt;<br/>&gt;<br/>&gt; --<br/>&gt; Sean M. Burke http://search.cpan.org/~sburke/<br/>&gt;<br/>&gt;<br/><br/><br/> http://www.nntp.perl.org/group/perl.midi/2005/01/msg313.html Mon, 17 Jan 2005 18:06:22 +0000 Re: where is the archive? by Sean M. Burke <br/>&gt;... link &quot;midi&quot; (http://lists.cpan.org/showlist.cgi?name=midi)...<br/>&gt;...<br/>&gt;I am unable to join the archive &quot;http://www.mail-archive.com/midi@perl.org/&quot;<br/><br/>That&#39;s all very strange. I&#39;ll look into it and will get it fixed. Thanks <br/>for noticing this!<br/><br/><br/>--<br/>Sean M. Burke http://search.cpan.org/~sburke/ <br/><br/> http://www.nntp.perl.org/group/perl.midi/2005/01/msg312.html Wed, 05 Jan 2005 16:37:15 +0000 where is the archive? by Jean-Pierre Vidal Hello,<br/><br/>on CPAN (http://www.cpan.org/)...<br/>... link &quot;Perl Mailing Lists&quot; (http://www.cpan.org/)...<br/>... link &quot;midi&quot; (http://lists.cpan.org/showlist.cgi?name=midi)...<br/>...<br/>I am unable to join the archive &quot;http://www.mail-archive.com/midi@perl.org/&quot;<br/>(404)<br/>nor the NNTP Archive: &quot;http://nntp.perl.org/group/perl.midi&quot;<br/>(404)<br/>nor subscribe &quot;midi-subscribe@perl.org&quot; | unsuscribe <br/>&quot;midi-unsubscribe@perl.org&quot; | get help &quot;midi-help@perl.org&quot;<br/><br/>???<br/><br/>Jean-Pierre<br/> http://www.nntp.perl.org/group/perl.midi/2005/01/msg311.html Wed, 05 Jan 2005 13:50:04 +0000 Re: guitar chords by Joshua N Pritikin On Wed, 2004-12-22 at 21:25 +0000, Jean-Pierre Vidal wrote:<br/>&gt; Your original question was: &quot;mapping from stuff like &quot;Em C D B7 Em&quot; into <br/>&gt; notes?&quot;<br/>&gt; <br/>&gt; This is more music than MIDI, but in case this help:<br/><br/>Your explanation was very helpful, thank you.<br/><br/>Obviously I need to learn quite a bit more about music theory.<br/><br/>-- <br/>A new cognitive theory of emotion, http://openheartlogic.org<br/><br/><br/> http://www.nntp.perl.org/group/perl.midi/2004/12/msg310.html Mon, 27 Dec 2004 01:46:30 +0000