Subject: MAX Digest - 28 Nov 1999 to 29 Nov 1999 (#1999-341)
Date: Tue, 30 Nov 1999 00:00:06 -0500
From:
Automatic digest processor <LISTSERV@LISTS.MCGILL.CA>
Reply-To: MAX - Interactive Music/Multimedia Standard Environments <MAX@LISTS.MCGILL.CA>
To: Recipients of MAX digests <MAX@LISTS.MCGILL.CA>


There are 12 messages totalling 582 lines in this issue.

Topics of the day:

  1. audiowerk8 survival guide
  2. Apple to buy OMS?
  3. subdividing an integer? (2)
  4. Multislider's right outlet
  5. PB noisy sound out
  6. Power Book Noise
  7. [linux-audio-dev] [Fwd: Fw:Save OMS! Sauvez OMS! [ot]]
  8. timing...
  9. correct timing
  10. complexity
  11. NYC Max group

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

Date:Mon, 29 Nov 1999 03:09:53 -0500
From:Louis Klepner <lou@EXPRESSIVEIMAGING.COM>
Subject: audiowerk8 survival guide

Hey-

Sorry to hear about your AW8 problems. I've been able to get mine
working. B&W G3/400 I've got some beta ASIO drivers, supplied by someone on
the list (emagic drivers work for sound manager output, but never with
MSP/AISO) which work faithfully for up to 3 hours continous DSP. After 3.5
hours pass, the audio completely distorts. This can be solved with a simple
DSP turn off/on.
Another wierd bug: If you have the sound manager drivers on the same
hard disk as the AISO drivers, they will cause a problem. Sounds wierd, but
true.
Keep up the faith, if you want the drivers email me.
-Lou

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

Date:Mon, 29 Nov 1999 05:11:38 -0500
From:Christopher Murtagh <chris@MUSIC.MCGILL.CA>
Subject: Apple to buy OMS?

On Sun, 28 Nov 1999, Nicholas Longo wrote:
> Apple has been trying to work something out with Gibson regarding
> OMS for some time, but if they're having success, that would be
> news.

More on this at:

http://www.maccentral.com/news/9911/27.lieshman.shtml

Still pretty much rumor though.

Cheers,

Chris

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


Date:Sun, 28 Nov 1999 16:13:31 -0500
From:mbase@EPIX.NET
Subject: subdividing an integer?

<fontfamily><param>Geneva</param>Hello all, I have a programming
question.


How would I make a simple routine that will allow me make all the
possible subdivisions of an integer where I specify the number of
elements in the subdivisions? I want to give the routine two integers,
the number of elements in each of the subdivisions and the integer to
be subdivided. For example lets say I wanted to subdivide any integer
into 3 element subdivisions as follows (I believe what is below is
correct):


The number 5 would be subdivided into three parts as follows:


311

221


The number 6 would be subdivided into three parts as follows:


411

312

222


The number 7 would be subdivided into three parts as follows:


511

421

331

322


The number 8 would be subdivided into three parts as follows:


611

521

431

422

332


The number 9 would be subdivided into three parts as follows:


711


621

522

531

423

441

333


The number 10 would be subdivided into three parts as follows:


811

721

631

622

541

532

442

433


Of course repeated numbers can be used (as in these examples) and the
order does not make a difference. In other words if I use 433I
cannot then use 343.


I need this for a routine that I am writing. Any help would be greatly
appreciated.


Steve Coleman </fontfamily>

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

Date:Mon, 29 Nov 1999 03:23:56 +0100
From:tom thiel <sune@BBTT.COM>
Subject: Multislider's right outlet

Can somebody please tell me how the RIGHT outlet of multislider is supposed
to work?
can't find any information on it.
muchas gracias

Sun Electric GEC
http://www.bbtt.com/sunelectric

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

Date:Mon, 29 Nov 1999 09:03:24 -0500
From:Neal Farwell <nfarwell@FAS.HARVARD.EDU>
Subject: PB noisy sound out

I haven't used Powerbooks much, but have come across mains-born noise before...
My guess is the PB power supply is so small it doesn't have room for decent


filtering/regulation of noise on the incoming juice. Try plugging it in in
different buildings or turning your fridge on and off. If that makes
audible difference, try a filtered outlet strip or an inline mains filter
(or best, a studio power conditioner, but not exactly portable). Also, if
the PB is grounded on the audio side, lift its ground on the supply side;
or use one of those unbalanced-to-balanced (not common ground) fixes into a
balanced mixer.

Also, some desktop macs had a problem with internal ground integrity, down
to contact of metal case parts. Might be something similar inside some
Powerbooks?

Neal

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

Date:Mon, 29 Nov 1999 15:50:32 +0100
From:Sukandar Kartadinata <sk@ZKM.DE>
Subject: Re: subdividing an integer?

hi steve,
this should work, have checked it up to 20
lemme know if there's bugs
also curious if there's more elegant solutions
cheers,
sk

max v2;
#N vpatcher 155 78 785 736;
#P newex 214 87 40 196617 t i i i;
#P newex 215 369 26 196617 t i i;
#P newex 101 457 52 196617 t i i;
#P newex 101 478 141 196617 expr $i3-$i2-$i1;
#P newex 101 415 23 196617 Uzi;
#P newex 101 436 67 196617 counter;
#P newex 101 369 94 196617 t i i b i;
#P message 137 416 14 196617 1;
#P newex 101 394 131 196617 expr $i1-($i2-$i1+1)/2+1;
#P newex 101 500 95 196617 pack 0 0 0;
#P message 101 521 50 196617 \$3 \$2 \$1;
#P newex 101 243 21 196617 Uzi;
#P newex 101 264 86 196617 counter;
#P message 120 193 14 196617 1;
#P number 214 66 35 9 0 0 68 3;
#P message 214 45 20 196617 20;
#P newex 101 166 126 196617 t i i b i;
#P newex 139 193 70 196617 expr $i1/2-1;
#P newex 101 222 109 196617 expr $i2-($i1+2)/3+1;
#P newex 297 456 27 196617 t i i;
#P message 325 414 14 196617 1;
#P newex 297 352 82 196617 t i i;
#P newex 314 477 65 196617 expr $i2-$i1;
#P newex 297 373 27 196617 / 2;
#P newex 297 311 90 196617 t i i;
#P message 297 522 50 196617 \$3 \$2 \$1;
#P newex 297 502 90 196617 pack 0 0 0;
#P newex 297 414 23 196617 Uzi;
#P newex 297 435 66 196617 counter;
#P newex 297 394 39 196617 t i i;
#P newex 297 331 100 196617 expr $i2-$i1;
#P newex 327 206 27 196617 - 2;
#P newex 297 185 90 196617 expr $i1-1-$i1/2;
#P message 357 206 14 196617 1;
#P newex 297 164 101 196617 t i i b i;
#P newex 297 243 72 196617 counter;
#P newex 244 603 30 196617 print;
#P newex 297 206 23 196617 Uzi;


#P comment 322 133 110 196617 from two below to half;
#P comment 62 110 100 196617 from half to third;
#P connect 2 0 4 0;
#P connect 4 0 15 0;
#P connect 8 0 4 2;
#P connect 8 0 4 4;
#P connect 5 0 7 0;
#P connect 5 1 8 0;
#P connect 5 2 6 0;
#P connect 5 3 9 1;
#P connect 6 0 4 1;
#P connect 7 0 2 0;
#P connect 25 0 39 0;
#P connect 9 0 18 0;
#P connect 10 0 12 0;
#P connect 10 1 19 0;
#P connect 12 0 11 0;
#P connect 11 0 20 0;
#P connect 24 0 25 0;
#P connect 19 0 11 2;
#P connect 14 0 3 0;
#P connect 13 0 14 0;
#P connect 16 0 10 0;
#P connect 39 0 23 0;
#P connect 39 2 3 0;
#P connect 39 1 5 0;
#P connect 15 0 9 0;
#P connect 15 1 13 2;
#P connect 17 0 13 1;
#P connect 18 0 16 0;
#P connect 18 1 17 1;
#P connect 20 0 13 0;
#P connect 20 1 17 0;
#P connect 21 0 28 0;
#P connect 22 0 27 2;
#P connect 22 0 27 4;
#P connect 22 0 21 1;
#P connect 23 0 21 0;
#P connect 23 2 26 0;
#P connect 23 1 22 0;
#P connect 23 3 38 0;
#P connect 28 0 27 0;
#P connect 27 0 33 0;
#P connect 26 0 27 1;
#P connect 30 0 29 0;
#P connect 29 0 3 0;
#P connect 35 0 34 0;
#P connect 34 0 37 0;
#P connect 33 0 31 0;
#P connect 33 1 34 2;
#P connect 33 2 32 0;
#P connect 33 1 34 4;
#P connect 33 3 36 1;
#P connect 33 3 30 2;
#P connect 32 0 34 1;
#P connect 31 0 35 0;
#P connect 36 0 30 0;
#P connect 37 0 36 0;
#P connect 37 1 30 1;
#P connect 38 0 31 1;
#P connect 38 1 36 2;
#P pop;


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Sukandar Kartadinata
Custom Technology for the Arts
Hagenauerstr. 6, 10435 Berlin, +49-30-44051219
http://members.xoom.com/Sukandar/
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

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

Date:Mon, 29 Nov 1999 15:18:02 +0000
From:lawrence casserley <leo@CHILTERN.DEMON.CO.UK>
Subject: Power Book Noise

>From: Automatic digest processor <LISTSERV@LISTS.MCGILL.CA>
>To: Recipients of MAX digests <MAX@LISTS.MCGILL.CA>
>Subject: MAX Digest - 26 Nov 1999 to 27 Nov 1999 (#1999-339)
>Date: Sun, Nov 28, 1999, 5:00
>

> I guess by noise people mean hum,

In my case definitely not. The noise is a fairly complex modulated sound. It
may well have a hum component, but this is difficult to detect. It sounds a
lot more like some form of RF interference. It also pulses between two
levels in an irregular but repeating pattern. I wondered whether some
circuitry dealing with allocating power between computer and battery
charging (or some such) might be at fault. Sometimes these things can be
exacerbated by ground loops, though.

> and someone already mentioned their
> success in using a direct input box between the board and the
> powerbook. You'll probably tend to get hum from ground loops if you
> plug directly into the board in any slightly complicated sound system
> with different power sources etc, so a direct input box, or really
> any kind of isolation is what you need.

Yes, this is of course true - although generally I find this is only rarely
necessary unless long lines are being used. Well-designed mixer circuitry
should deal with most things. I find only certain bits of equipment tend to
give problems. Occasionally DIs seem to make problems worse! One of the
problems is the great variety of grounding (or not!) strategies used on
equipment. and sometimes isolating grounds makes things worse!!! :-(>

But all this is getting a long way from MAX!

Meanwhile, can anyone explain to me why switching from 44K1 to 48K (I had to
do it at the weekend to accommodate a 48K ADAT which was also synced to the
02R) would _lower_ the cpu time? Maybe it is just an anomaly in the way the
time is measured - I well remember the ISPW telling me I had 130% of CPU
time available!! Now wouldn't that be nice! :-)>

Best to all

Lawrence

--
Lawrence CasserleyLawrence Electronic Operations
leo@chiltern.demon.co.ukTel: +44 1494 481381FAX: +44 1494 481454
www.chiltern.demon.co.uk

----------

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

Date:Tue, 30 Nov 1999 06:16:08 +1000
From:David Rodger <auricle@ALPHALINK.COM.AU>
Subject: Re: [linux-audio-dev] [Fwd: Fw:Save OMS! Sauvez OMS! [ot]]


Francois Dechelle <Francois.Dechelle@IRCAM.FR> wrote:

>However, MidiShare simply cannot replace OMS and vice/versa,
>mainly because of applications that are build using the OMS
>API.
>
>But there may be a good joke to do: building an emulation
>of the OMS API using MidiShare (or another free MIDI
>framework). This way, applications do not have to be modified
>(which will anyway not happen because they are proprietary),
>we don't care about Gibson and the MIDI framework is free.

OTOH, if OMS goes belly-up and MidiShare is the only viable alternative,
might those other companies be persuaded to adopt it?

Regards, David

David Rodger: auricle@alphalink.com.au
Audio Engineer, RLSS Trainer, Writing & Research
http://www.alphalink.com.au/~auriclehttp://www.alphalink.com.au/~adzohu
=========================================================================
Keep e-mail simple: just say NO to styled text, HTML, ms-tnef, .vcf, .url

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

Date:Mon, 29 Nov 1999 12:00:21 -0800
From:Peter Elsea <elsea@CATS.UCSC.EDU>
Subject: timing...

> I'd be curious to know if there
>are appreciable differences between the MIDI output of Max and
>other types of software. That would tend to point the finger
>at Max wouldn't it?

A quick check of the Cakewalk version of Overture (which seems to use OMS
timing (but won't share)) is dead on over 3 minutes. That is an error of
+/- 1 sample (48khz) for each event, which is below the screen resolution
of the editor I'm using to check.

I've tested MIDI delays for some instruments- that is the time from the end
of the MIDI message (which eats 1 ms) to the onset of a note. 4 ms is
typical, although I've heard that some run to 20ms or so. Adding MIDI
routers, mergers and so forth will further delay the signal. (As will some
interface boxes). Your perception of the onset of sound will depend on the
envelope, of course...

To put this into perspective, if you have an orchestra with the brass in
the back row 15 feet behind the concertmaster, and eveyone plays exactly on
downbeat, you will hear strings 14 ms sooner than brass. The delay across
the strings of a grand piano is on the order of 4 ms. MIDI is a serial
protocol, and chords are spread with about a1ms interval, but unless you
are trying to blend timbre on different instruments, you won't notice.

The best reason to save OMS is the OMS time manager, which does not seem to
have an equivalent in freeMIDI. (But maybe Doug would be willing to
oblige?) The name manageris a pain in the butt to me (my students are
always getting messed up by the huge menus) but there is nothing out there
that provides time deprived developers like me with the sync solutions that
OMS gives me.
Peter Elsea
Director, Electronic Music Studios
University of California, Santa Cruz
http://arts.ucsc.edu/EMS/Music/index.html
elsea@cats.ucsc.edu

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


Date:Mon, 29 Nov 1999 12:02:22 -0800
From:Peter Elsea <elsea@CATS.UCSC.EDU>
Subject: correct timing

>The best reason to save OMS is the OMS time manager, which does not seem
>to have an equivalent in freeMIDI.
I meant MIDIshare of course. (See what I mean by time deprived?)
Peter Elsea
Director, Electronic Music Studios
University of California, Santa Cruz
http://arts.ucsc.edu/EMS/Music/index.html
elsea@cats.ucsc.edu

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

Date:Mon, 29 Nov 1999 13:59:43 -0800
From:Peter Elsea <elsea@CATS.UCSC.EDU>
Subject: complexity

>would it be correct to say,
>as a rule of thumb, that more interactive patches are less stable than
>less interactive ones? Would my patches become more stable if I
>streamlined the amount of input they accepted?

It is a good rule of thumb to say that the more complex a patch is for any
reason, the more likely it is to crash. Max is not immune to the general
laws of programming.

It's not that Max gets tired, its just that there's more to debug, and
probably more dependencies on unreliable effects like right to left
precedence.

I've got a tutorial on the subject at ftp://arts.ucsc.edu/pub/ems/maxtutors
called Max&Problems.

Aside from the excellent advice given recently about using modules and
reducing the number of __in objects, the following comments about
reliability have appeared in the past-

Before you start, write down what the patch is supposed to do.
Don't count on right to left, use trigger.
There is no defined order for multiple receive objects. Use distinct
send-receive pairs when order counts. (There's no defined order for
multiple __in objects either)
Send note offs before note ons, not at the same time. (Metro 300 feeding
makenote 90 300 is a prime example of this no-no.)
Watch out for mutiplicative effects- such as when a single note in produces
a chord. If a single control in produces a slew of control outs, things
will jam up quickly.

Don't repeat calculations with the same input (recently mentioned for
constants)- if you have a slow line but do not adjust its time grain,
values will be repeated with all consequent actions.

Think *between* the beats. Patches tend to execute in bursts with a lot of
dead time. Although there's probably a lot that must happen immediately as
a result of note input, there are activities that are really preparing for
the next note. Put these off these a bit with a pipe.

Use as few metros as possible.
Keep the Max granularity at 5 unless you really need finer distinctions.

Watch object count- never use three objects where one will do. (I try to
keep my patches to less than a screen ful.)
Use speedlim and Lqueue when things get hairy. (Speedlim throws data away
when there's too much, Lqueue defers it.)


Beware feedback. (Almost all stack overflows can be traced to feedback,
which occurs when data from an outlet somehow finds its way back to the
left inlet of the same object.) Feedback is particularly sensitive to order
of execution, so absolutely use triggers when feedback is involved. If you
really must have loops, look at my Loop Lobject.

Watch list length. Although most list objects are rated for 256 members
(and the Lobjects check length) the message box will blow up if there are
more than 128. Some other objects are similarly limited.

Always range limit input-if you don't expect negative numbers, set the
lower bounds on user available number boxes to 0.
Explicitly test output of counter when you need to detect end of count. The
eoc outltets are unreliable and occur before you want them.

Testing
Test small chunks first- includecontrols inside of subpatchers to try
varioius inputs before adding it into the main patch.
Always test twice- start it stop it, start it stop it.
Then save it, open it and test it two more times.
Before you put it away, write a set of instructions on how to use it. Check
everything you write against what the patch actually does.

Peter Elsea
Director, Electronic Music Studios
University of California, Santa Cruz
http://arts.ucsc.edu/EMS/Music/index.html
elsea@cats.ucsc.edu

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

Date:Mon, 29 Nov 1999 21:17:35 -0400
From:Ed Hartley <e-hartley@WORLDNET.ATT.NET>
Subject: NYC Max group

A schedule change means I can attend the NYC Max meeting on Wednesday but
alas, I deleted the recent announcement. Can someone please send me the
details? Where & When & stuff. Do I need to sign up or anything?

Thanks,

Ed Hartley

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

End of MAX Digest - 28 Nov 1999 to 29 Nov 1999 (#1999-341)
**********************************************************