Subject: MAX Digest - 31 Jul 1998 to 1 Aug 1998
Date: Sun, 2 Aug 1998 00:00:01 -0400
From: Automatic digest processor 
Reply-To: MAX - Interactive Music/Multimedia Standard Environments
     
To: Recipients of MAX digests 

There are 6 messages totalling 226 lines in this issue.

Topics of the day:

  1. Wandering oscillators
  2. joysticks
  3. detonate and controller data from type 1 MIDI files
  4. getting the tempo from a smf
  5. rnmado = random
  6. reoctioncr = correction

McGill is running a new version of LISTSERV (1.8c on Windows NT).
Information is available on the WEB at http://www.mcgill.ca/cc/listserv

----------------------------------------------------------------------

Date:    Fri, 31 Jul 1998 16:21:49 +0200
From:    Matthew Ostrowski 
Subject: Wandering oscillators

A patcher object that generates wandering lines. I call it wline.  This
does use the unfortunate RanIJ object, but it has the advantage of being
able to type in arguments (which I don't seem to be able to get an expr
object to acccept) as well as change them dynamically. 1 starts it, 0 stops
it.

max v2;
#N vpatcher 165 198 439 506;
#N comlet line output;
#P outlet 33 270 15 0;
#P newex 134 245 50 14155785 delay 5;
#P newex 33 245 50 14155785 change;
#P newex 33 224 45 14155785 gate;
#P newex 68 153 50 14155785 pack;
#N comlet line maximum;
#P inlet 107 92 15 0;
#N comlet line minimum;
#P inlet 78 92 15 0;
#N comlet on/off (0 /1);
#P inlet 49 29 15 0;
#P newex 49 62 50 14155785 TogEdge;
#P newex 68 176 109 14155785 line 1 $4;
#P newex 49 123 69 14155785 RanIJ $1 $2;
#P comment 103 31 100 14155785 produces infinite wandering line segments;
#P newex 126 121 74 14155785 random $3;
#N comlet duration maximum;
#P inlet 190 92 14 0;
#P newex 134 224 50 14155785 gate;
#N comlet time grain;
#P inlet 233 92 14 0;
#P toggle 12 29 15 0;
#P fasten 15 0 4 0 139 275 221 275 221 110 131 110;
#P fasten 15 0 6 0 139 275 231 275 231 110 54 110;
#P connect 14 0 16 0;
#P connect 13 0 14 0;
#P connect 12 0 7 0;
#P connect 11 0 6 2;
#P connect 10 0 6 1;
#P fasten 9 0 13 0 54 51 38 51;
#P connect 9 0 8 0;
#P fasten 9 0 2 0 54 56 38 56 38 219 139 219;
#P connect 8 0 6 0;
#P fasten 8 0 4 0 54 89 131 89;
#P connect 7 0 13 1;
#P fasten 7 1 2 1 172 217 179 217;
#P connect 6 0 12 0;
#P fasten 4 0 12 1 131 147 113 147;
#P connect 3 0 4 1;
#P connect 2 0 15 0;
#P fasten 1 0 7 2 238 166 171 166;
#P connect 0 0 8 0;
#P pop;

------------------------------

Date:    Sat, 1 Aug 1998 11:11:21 +0100
From:    Jamie Bullock 
Subject: Re: joysticks

When using a 'PC' almost all joysticks are connected via a soundcard,
although I believe there are still some dedicated joystick cards. The M$
joystick driver seems to support almost anything these days including flight
yokes for simulators. The joysticks don't send MIDI, but there are a lot of
freeware apps emerging which will convert the data to MIDI. I find that
Hubi's joystick->MIDI convertor is the best as it supports two joysticks.

... and don't say it (Mac users) .... all the PC is good for is basic A/D
conversion ;-)

JamieB

>Date:    Sat, 1 Aug 1998 09:51:47 +1000
>From:    overlobe@OZEMAIL.COM.AU
>Subject: Re: joysticks
>
>I think that Microsoft...
>developed a joystick that uses midi to communicate through a pc soundcard..
>
>it seems to me that these could be hacked quite easily. and I bet they have
>lots of buttons too.
>although ive never seen one -)
>
>------------------------------

------------------------------

Date:    Sat, 1 Aug 1998 17:59:07 +0100
From:    Adam Green 
Subject: detonate and controller data from type 1 MIDI files

Hello helpful people,
I am using MAX (for its' invaluable flexibility!) in an interactive sound
installation for our graduate show, and as part of my Masters' thesis.

My problem is in playing back type 1 Midifiles with the detonate object.
Can you dynamically parse the channel specific controller data from a
midifile in the same way that you can with the seq object? (The seq object
has the drawback of only reading single track Midifiles). I assume this is
what the X1 and X2 parameter outputs could be used for. I know the
controller information is there, but I cannot access it in the graphical
environment of detonate, or subsequently channel it to the outside.

Any hints?
Thanks in advance.              A.G.
_____________________________________
Adam Green
*********************************
Music and Media Technologies lab, 2nd floor
Aras an Phiarsaigh
University of Dublin
Trinity College
Dublin 2
*********************************
mailto:greena@tcd.ie
_____________________________________

------------------------------

Date:    Sat, 1 Aug 1998 14:06:16 -0400
From:    Stephen Kay 
Subject: getting the tempo from a smf

>Does anyone know of a Max object that can read the tempo (in beats per
>minute) of a Standard MIDI File (smf)? I'm looking for such an object.

Steve Ellison had an object called mfscan which would scan an entire
SMF for meta events, such as tempo and time signature.  It should be
available somewhere on the ircam ftp site.

I don't know if it's been converted to PowerPC or not - if not, I'd
be up for giving it a try...

Otherwise, by monitoring the time between incoming MIDI Clocks,
you can calculate the tempo on the fly, although it's not entirely
accurate, since a Max millisecond is not exactly a real-world
millisecond.  But if what you're after is some way to get the
tempo and then calculate delays or other timings in Max, then this
works fine (I've used it quite often).  Since the ms between clocks
will be rapidly fluctuating due to integer truncation, it's better
to accumulate a number of calculations (say 48) and then do an average
(to floating point) before converting to tempo.

The  'average' object in the MegaMAX Collection works quite
well for this.

60,000 / (ms_between_clocks * 24) =3D tempo_BPM

For example, say you've got a ms_between_clocks value fluctuating
between 17 and 18; after accumulating 48 of these you have something
like 844.  Divide by 48 (fp) yields 17.58333 ms; this * 24 produces
421.99999 ms per beat.  60,000 (ms per minute) divided by 421.99999
yields a tempo of 142.18 BPM.

Stephen Kay
---------------------- The MegaMAX Collection ----------------------
 Over 30 Max objects for the creation of more professional looking, =

         feeling, and functioning patchers and applications.
                     http://www.musikinetix.com
                         sk@musikinetix.com
--------------------------------------------------------------------

------------------------------

Date:    Sat, 1 Aug 1998 22:35:52 +0200
From:    dudas 
Subject: rnmado = random

some answers to current questions:

the new FAT Rand object that just got put on the server is indeed old Gary
Lee Nelson one recompiled for use with MaxFAT3.5.x.

for a more even random distribution of ones and zeros, try the "decode"
object (standard max object since vers 3.5.)

if you're looking for alternatives to the good ol' random object, try the
Carl Faia's lovingly programmed MaxALEA collection on the ircam ftp site.
in the .../FAT/chaos folder. it includes a wide variety of aleatoric
distributions.

as for the max ftp site, please be sure you type the full path name:
ftp://ftp.ircam.fr/pub/forumnet/max/

because the max directory is invisible from its parent directory. (this
means you can't find it by browsing around the ftp site.) I just tried it
and it seems to be up and running.  please try again and let me know.

-Richard

------------------------------

Date:    Sat, 1 Aug 1998 22:44:00 +0200
From:    dudas 
Subject: reoctioncr = correction

...sorry, I need to make a correction:

The random things are NOT in the FAT/chaos/ directory (there is no such
directory). The items are to be found in the FAT/chance/ directory.

(I have to admit this is my favorite directory name of all, and, after all
this time, I still laugh when I read it.)

-R

------------------------------

End of MAX Digest - 31 Jul 1998 to 1 Aug 1998
*********************************************