[PD] MOD Trackers (was Pd to CV for a Moog) (OT)

padawan12 padawan12 at obiwannabe.co.uk
Thu Sep 14 20:55:25 CEST 2006



> > Although Miller and others talk about Pd as a 'language', always with 
> > quote marks,
> 
> I don't use the quotemarks - I mean, not those that suppose some kind of 
> illegitimacy. In a wide meaning of the word, a language doesn't have to be 
> something verbal or written with letters. Though the etymology points back 
> to a part of the mouth, most would consider the phrase "written language" 
> to not be a contradiction of terms. Here I used quotemarks only as 
> delimiters of a phrase (like I usually do anyway), and not to belittle the 
> phrase.

Yeah, I'm with ya. For me those quotemarks say beware the usage of the word,
because it does imply some illegitimacy against the commonly understood meaning.
They say, if you were hoping to write a program in Pd using vi then you're in
for a shitty time. Not to denigrate that word though, since as a "powerful means
to express ideas" it's a language. I pretty much always call it a visual language
with care to prefix with the "visual", but of course it doesn't even have to
be that interface. The thing that is really Puredata is the bit we dont see, the engine
plugging together and executing the objects. In that way it's like a bytecode
interpreter. I think we can safely say it's not like a written language the way
most people think of one. For the love of kittens please don't tell me you DO write
your Pd programs in vi and only noobs use the GUI :)  

> 
> > it doesn't have that syntactic structure
> 
> What's missing in it, in order to have a syntax?


No, it's got syntax, at many levels, functionally, because it must have to work.
But not *that* syntax, "that" being its representation, as a  fixed written
language with linewise ordering in a file. In Pd GUI your syntax is spacially
all over the place. That's nice, it changes your thinking because you can 
put down the essential operators as they come to mind and then plumb them
up later, whereas with a written language is forming statements like sentances
starting at the left side and finishing on the right. It's a different kettle
of badgers completely. And it's got a syntax in the sense of strictness, the
way blocks are evaluated, so if you don't know and obey the rules it won't work
just like any other language.


> 
> > or computational causality either.
> 
> How can Pd execute a patch then?
> 
> I don't see a lack of causality.

Me neither, unless Millers cracked some quantum jiggerypokery without
saying. I mean expression of it. Not exactly elegant in Pd is it? There's
always good old [until], "only a matter of time [until] you're gonna have
to reboot".  

 
> > If I remember right a tracker file stores the samples as well as the 
> > timing sequences so they'd have to be read into arrays. (?)
> 
> Conceptually you need a 1-D array for the order, a 3-D array of structs 
> for the patterns (pattern#,row,channel), and one array per sample. I say 
> conceptually because the actual layout could be different if it makes 
> things any easier.
> 
> For Impulse Tracker files, the 3-D array is to be replaced by a sequence 
> of 2-D arrays because each pattern may have a different number of rows; 
> and also there's the concept of instrument which inserts itself between 
> the concepts of pattern and sample.

That's quite a powerful structure, and the instruments layer makes sense for
a polyphonic audio sequencer that wants to deal with multi playbacks from the
same table. It would be really interesting to see what ways people came up with
for representing that data with a way to read and write MOD files to and 
from a generaly open ended datastructure sequencer like Franks.

a.




More information about the Pd-list mailing list