1/23/97 12:00 AM
Subject: MAX Digest - 21 Jan 1997 to 22 Jan
1997To: Recipients of MAX digests 

There are 8 messages totalling 233 lines in this issue.

Topics of the day:

  1. Max3.5 size, OMS?, older objects FAT? (3)
  2. QT movies
  3. video disc player
  4. chord recognition
  5. Identifying chords (2)


Date:    Wed, 22 Jan 1997 00:17:09 -0500
From:    Stephen Kay <70714.1356@COMPUSERVE.COM>
Subject: Max3.5 size, OMS?, older objects FAT?

>So how exactly does backward compatability work?  For instance, Steve
>Ellison's _sense object.  In 3.5 can it be used in a Fat standalone?

You can't use 68k objects in a Fat standalone.  Or maybe you can, but then
it won't work on a PPC, and you'll get errors among other things.

You'll have to wait for Steve Ellison to port his objects, I guess.  I
asked him to send me the code and offered to do a few of them for him, but
never got the code.  I use "sense" myself, and will probably just write my

Steve, the offer still stands...  I don't have time to do all of yours, but
I will do the ones I use:


Stephen Kay


Date:    Wed, 22 Jan 1997 11:03:57 +0100
From:    Jeffrey Burns 
Subject: Re: QT movies

Jeff Krieger asked about the resolution of QT movies.

At 800 x 600 pixels the resolution is fine. The only impediment to picture
fidelity comes in at the stage of compression. "The QuickTime FAQ"
( deals with the pros and cons of various
compressors, called "codecs". The 800 x 600 pixel resolution, in comparison
to 640 x 480, minimizes the loss due to compression and also minimizes the
unpleasant black grid effect seen on most middle-priced data projectors.

Jeff Burns


Date:    Wed, 22 Jan 1997 09:23:50 -0300
From:    Alex Noyes 
Subject: video disc player

> Has anyone had any success with the video disc player object in MAX?

I've been working on a project with Toni Dove for a while that involves
interactive control of 2 Video Disc players and a switcher as part of an
installation. Is there a specific problem you are experiencing?


Date:    Wed, 22 Jan 1997 16:31:40 +0100
From:    dudas 
Subject: chord recognition

Amanda Pehlke  writes:

>This may be too small-time for jaded Max'ers, but I made a
>utility in Max (to plug into a larger endeavor, and because I need it!),
>I'm looking to compare it with any others that people have done.  This one
>reports the root and type if it finds any of 30 civilized possibilities,
>right now it's finicky about the order in which it considers pitch classes,
>on SOME chords.  At the moment it's considering them in the order
>which is how I'd like to keep it.  I still have to determine systematically
>what it doesn't like, but in the meantime, if anyone is interested picking
>and whipping swiftly into shape ;-) a mostly-there treatment of the
>please let me know and I'll make it ftp-able.

I made a chord recogniser last spring.  'Twould be indeed interesting to
compare it with yours.  My version is admittedly a little bit twisted, and
comes in 2 or 3 yummy flavours.  Well, none of these flavours is very
tasty, perhaps, but somewhat open-ended (hopefully) and user-adaptable
(with any luck).  I'll try to locate the patches, update them, and post
them to the max list in the usual text-saved, cut-and-pasted "max v2; #N
vpatcher... #P pop;" fashion.  Please prod me with a very sharp virtual
stick if you don't see it on this list before February...


P.S.: Rule no. 1: NOTHING is ever too small-time for truly jaded
P.P.S.: For a while Ircam was not accepting any sort of "courrier
electronique" from AOL due to some kind of nasty anonymous email
bombardement originating from said server.  (No joke.) Don't know if this
is still true, however.  In any event, just thought I'd mention it since I
noticed you have an AOL account, and NOT in any way because I suspected you
might be the instigator of the assault.


Date:    Wed, 22 Jan 1997 10:14:35 -0800
From:    Peter Elsea 
Subject: Identifying chords

Amanda Pehlke says:
>I made a chord-recognition
>utility in Max (to plug into a larger endeavor, and because I need it!),
>I'm looking to compare it with any others that people have done.

I've found a method for identifying chords that seems pretty robust- and it
is independent of the order in which the pitches are played. It of course
uses Lobjects, but the technique can used without them. (The reason I wrote
the Lobjects was to simplify explanations like this- it's a lot easier to
say "pass the list through Lrem 12" than "iter the list into a % 12 object
and use a thresh to rebuild the list". In particular, it takes up a lot
less space on a blackboard.)

First, gather the played notes into a chord, using Lcatch or thresh. Then
convert all notes to pitch class by passing the list through Lrem 12. This
gives you a *pitch list*, a list in which the presence of a pitch is
indicated by a number. We are going to convert this into a *pitch set*, a
list that always has twelve numbers, which will be one if a pitch is
present and zero if it is not. The pitch set for a C major chord looks like
[1 0 0 0 1 0 0 1 0 0 0 0]
Position 0 (the first one) is one, representing the presence of a C. There
are also 1s on 4 and 7 for E and G. Notice the postition numbers corespond
to the pitch classes that came out of Lrem. If you play with this for a
while, sticking in different chords, you will see that the pattern of ones
and zeros is unique to all major chords, and the root of the chord is
always ths position of the one that is followed by 3 zeros. On many chords
the pattern wraps around (look at F for instance: [1 0 0 0 0 1 0 0 0 1 0
0]) but the rule holds.

For each type of chord there is a characteristic pattern:
[1 0 0 0 1 0 0 1 0 0 0 0] major
[1 0 0 1 0 0 0 1 0 0 0 0] minor
[1 0 0 1 0 0 1 0 0 0 0 0] diminished
[1 0 0 0 1 0 0 1 0 0 0 1] maj 7
and so forth.

Creating such a set is a bit fiddly with standard objects, but Ltoset does
the job in a single box. Now, we have to compare the set we built with the
characteristic sets. Lmatch was specifically written to do this. Feed the
mystery set into Lmatch right inlet, and then try the standard chords in
the left inlet. If there's a match, the root is output from the left
outlet. (Lmatch finds an occurance of the input list within the stored
list. If the first position doesn't match, it tries again, starting with
the second element of the stored list. If the search list goes past the
end, it wraps around.) You have to start with the complex chords, because
Lmatch will report the major chord that is part of maj 7.

I have placed an example of this at   as
chordcatcher. This folder is also the home of the Lobjects, which are
necessary to run chordcatcher. You might also want to look at the Fuzzy
Logic paper, which takes this set business a whole lot further.

Peter Elsea
Electronic Music Studios
University of California, Santa Cruz


Date:    Wed, 22 Jan 1997 10:59:54 -0800
From:    Bob Pritchard 
Subject: Re: Identifying chords

Peter, I'm curious to know if you have a way of identifying function --
that is, can you differentiate between a German sixth and a dominant
seventh? (I'm not sure how you would do this using MIDI input: possibly you
could somehow use a Clements table to define enharmonic relations, and then
send a flag via midi to indicate the note's enharmonicity... Not
important for performance, but interesting to think about.)

bob pritchard
 School of Music Multimedia Resource Centre, University of British Columbia
 Vancouver, B.C. Canada V6T 1Z2 (604) 822-3113    Fax (604) 822-4884


Date:    Wed, 22 Jan 1997 19:03:22 +0000
From:    Nick Rothwell 
Subject: Re: Max3.5 size, OMS?, older objects FAT?

>Max 3.0 = 885K
>MaxFat3.5 = 1125K

Hmm, another 300K down... It is getting VERY tight on my PowerBook 170. I
take it that the 68020 requirement rules out my PowerBook 100 as well?
(Actually, the broken copy protection does that already, but I can still
use MAXPlay on it.)

>"Does MAX 3.5 require OMS 2.x, or could I still use 1.2.3?"
>Don't know, but it does require either OMS or Apple MIDI Manager... no
>internal MIDI driver any more.

Fine, so long as OMS 1.2.3 and MIDI Manager are both still supported.

Just in case anyone's interested why I'm interested in upgrading: I'm not
really, but I only have a single key disk for 3.0 with one of the installs
buggered, and sooner or later I'm not going to be able to get a replacement
for it as newer versions come along. While sticking with old software is a
good philosophy a lot of the time, with MAX we don't have the option...

         Nick Rothwell, CASSIEL        contemporary dance projects        music synthesis and control

             years, passing by, VCO, VCF, and again, and again


Date:    Wed, 22 Jan 1997 17:31:00 EST
From:    Greg Kuhn <0003939581@MCIMAIL.COM>
Subject: Re: Max3.5 size, OMS?, older objects FAT?

>"Does MAX 3.5 require OMS 2.x, or could I still use 1.2.3?" >

>Don't know, but it does require either OMS or Apple MIDI Manager...
no >internal MIDI driver any more.

>>Fine, so long as OMS 1.2.3 and MIDI Manager are both still

Is OMS 1.2.3 truly more reliable or faster than later rev's?

Do you use both?!?

I've always stuck to AMMgr because I use the printer port with _serial
to do 57k baud and I despised the parasitic style of OMS' hegemony
over my ports.


End of MAX Digest - 21 Jan 1997 to 22 Jan 1997