Re: [fonc] One more year?!

2012-01-22 Thread Casey Ransberger
Below. 

On Jan 21, 2012, at 6:26 PM, BGB cr88...@gmail.com wrote:

 like, for example, if a musician wanted to pursue various musical forms. say, 
 for example: a dubstep backbeat combined with rap-style lyrics sung using a 
 death-metal voice or similar, without the man (producers, ...) demanding 
 all the time that they get a new album together (or that their fans and the 
 man expect them to stay with their existing sound and theme), and if they 
 just gave them something which was like and so wub-wub-wub, goes the 
 sub-sub-sub, as the lights go blim-blim-blim, as shorty goes rub-run-run, on 
 my hub-hub-hub, as my rims go spin-spin-spin or something... (all sung in 
 deep growls and roars), at which point maybe the producers would be very 
 unhappy (say, if he was hired on to be part of a tween-pop boy-band, and 
 adolescent females may respond poorly to bass-filled wubbing growl-rap, or 
 something...).
 
 
 or such...

This is probably the raddest metaphor that I have ever seen on a mailing list.

BGB FTW!

P.S. 

If you want to get this song out the door, I'm totally in. Dubsteprapmetal 
might be the next big thing. I can do everything except the drums. We should 
write an elegant language for expressing musical score in OMeta and use a 
simulated orchestra!
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] One more year?!

2012-01-22 Thread Reuben Thomas
On 22 January 2012 21:26, Casey Ransberger casey.obrie...@gmail.com wrote:
 Below.

 On Jan 21, 2012, at 6:26 PM, BGB cr88...@gmail.com wrote:

 like, for example, if a musician wanted to pursue various musical forms.
 say, for example: a dubstep backbeat combined with rap-style lyrics sung
 using a death-metal voice or similar, without the man (producers, ...)
 demanding all the time that they get a new album together

Only art is not science: it doesn't have pieces you can take apart and
reuse in the same way (technique does).

So it's not an analogy that works.

(I did a PhD in computer science, and I make my living as a singer.)

-- 
http://rrt.sc3d.org
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


[fonc] Maru FFT demo

2012-01-22 Thread Alexis Read
I thought I'd have a play with Maru by trying to rerun the FFT example
mentioned in the NSF report. I seem to be having a parsing problem
when trying to eval the listed code.
I'm running in the whole of boot.l before the FFT example ie. ./eval
boot.l smallMaru.l
The error is:
eval.k: missing closing '}' delimiter while reading list

which makes me wonder if the escaped parsing in say sstring = \
(!\  char)* $:s \ - s ; is the issue, as parsing just up to
this line offers up the undefined variable (ie. incomplete set) error.
If anyone could offer some pointers to get it working i'd be grateful.
Thanks
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] One more year?!

2012-01-22 Thread Dion Stewart
Is there a hard line between science and art?

I lean towards Richard Gabriel's and Kevin Sullivan's views on this one.

How do artists and scientist work? The same.

http://dreamsongs.com/Files/BetterScienceThroughArt.pdf


 How do artists and scientists work? The same
On Jan 22, 2012, at 3:51 PM, Reuben Thomas wrote:

 On 22 January 2012 21:26, Casey Ransberger casey.obrie...@gmail.com wrote:
 Below.
 
 On Jan 21, 2012, at 6:26 PM, BGB cr88...@gmail.com wrote:
 
 like, for example, if a musician wanted to pursue various musical forms.
 say, for example: a dubstep backbeat combined with rap-style lyrics sung
 using a death-metal voice or similar, without the man (producers, ...)
 demanding all the time that they get a new album together
 
 Only art is not science: it doesn't have pieces you can take apart and
 reuse in the same way (technique does).
 
 So it's not an analogy that works.
 
 (I did a PhD in computer science, and I make my living as a singer.)
 
 -- 
 http://rrt.sc3d.org
 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc
 

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


[fonc] misc: bytecode and level of abstraction

2012-01-22 Thread BGB
I don't know if this topic has probably been already beat to death, or 
is otherwise not very interesting or relevant here, but alas...


it is a question though what is the ideal level of abstraction (and 
generality) in a VM.



for example, LLVM is fairly low level (using a statically-typed 
SSA-form as an IR, and IIRC a partially-decomposed type-system).
the JVM is a little higher level, being a statically-typed stack machine 
(using primitive types for stack elements and operations), with an 
abstracted notion of in-memory class layout;
MSIL/CIL is a little higher still, abstracting the types out of the 
stack elements (all operations work against inferred types, and unlike 
the JVM there is no notion of long and double take 2 stack slots, ...).


both the JVM and MSIL tend to declare types from the POV of their point 
of use, rather than from their point of declaration. hence, the load 
or call operations directly reference a location giving the type of 
the variable.


similarly, things like loads / stores / method-calls/dispatching / ... 
are resolved prior to emitting the bytecode.



in my VMs, I have tended to leave the types at the point of 
declaration, hence all the general load/store/call operations merely 
link to a symbolic-reference.


one of my attempts (this VM never got fully implemented) would have 
attempted to pre-resolve all scoping (like in the JVM or .NET, but ran 
into problems WRT a complex scoping model), but I have not generally 
done this.


my current VM only does so for the lexical scope, which is treated 
conceptually as a stack:
all variable declarations are pushed to the lexical environment, and 
popped when a given frame exits;
technically, function arguments are pushed in left-to-right order, 
meaning that (counter-intuitively) their index numbers are reverse of 
their argument position;
unlike in JBC or MSIL, the index does not directly reference a declared 
variables' declaration, merely its relative stack position, hence it is 
also needed to infer the declaration;
note that it being (conceptually) a stack also does not imply it is 
physically also represented as a stack.


hence, in the above case, the bytecode not too far removed from the 
source code.



I guess one can argue, that as one moves up the abstraction layer, then 
the amount of work needed in making the VM becomes larger (it deals with 
far more semantics issues, and is arguably more specific to the 
particular languages in use, ...).


I suspect it is much less clear cut than this though, for example, 
targeting a dynamic-language (such as Scheme or JavaScript) to a VM such 
as LLVM or JBC (pre JDK7) essentially requires implementing much of the 
VM within the VM, and may ultimately reduce how effectively the VM can 
optimize the code (rather than merely dealing with the construct, now 
the first VM also has to deal with how the second VM's constructs were 
implemented on top of the first VM).


a secondary issue is when the restrictions of such a VM (particularly 
the JVM) impede what can be effectively expressed within the VM, running 
counter to the notion that higher abstraction necessarily equates to 
greater semantic restrictions.



the few cases where I can think of where the argument does make a 
difference include:


the behavior of variable scoping (mostly moot for JVM, which pretty much 
hard-codes this);
the effects of declaration modifiers (moot regarding JVM and .NET, which 
manage modifiers internally).


the shape of the type-system and numeric tower (likewise as the above, 
although neither enforces a particular type-system, neither gives much 
room for it to be effectively done much differently, likewise in LLVM 
and ASM one is confined to whatever is provided by the HW).


the behavior of specific operators as applied to specific types. this 
may be a merit of the JVM and .NET arguably vs my own VMs, since both 
VMs only perform operations directly against primitive types, the 
behavior of mixed-type cases is de-facto left to the language and 
compiler, this may be ultimately a moot point, as manual type-coercion 
or scope-qualified operator overloading could achieve the same ends. 
similarly, a high-level VM could also (simply) discard the notion of 
built-in/hard-coded operator+type semantics, and instead expect the 
compiled code to either overload operators or import a namespace 
containing the desired semantics (say, built-in or library-supplied 
overloaded operators). more-so, unlike the JVM and .NET strategies, this 
does not mandate the need for static typing (prior to emitting bytecode) 
in order to achieve language-specific type-semantics.


in the above case (operators being a result of an implicit import), if 
Language-A disallows string+int, Language-B interprets it as append 
the string(a) with int::toString(b), and Language-C as offset the 
string by int chars, well then, the languages can each do so without 
interfering with the others.


...


or, in effect, I 

Re: [fonc] One more year?!

2012-01-22 Thread BGB

On 1/22/2012 5:30 PM, Dion Stewart wrote:

Is there a hard line between science and art?

I lean towards Richard Gabriel's and Kevin Sullivan's views on this one.

How do artists and scientist work? The same.

http://dreamsongs.com/Files/BetterScienceThroughArt.pdf



I was actually going to argue something vaguely similar, but was more 
busy with writing something else (a professional musician may not be 
necessarily that much different from a scientist or engineer, and a mad 
scientist may not necessarily be too much different from traditional 
notions of an artist).





 How do artists and scientists work? The same
On Jan 22, 2012, at 3:51 PM, Reuben Thomas wrote:

On 22 January 2012 21:26, Casey Ransberger casey.obrie...@gmail.com 
mailto:casey.obrie...@gmail.com wrote:

Below.

On Jan 21, 2012, at 6:26 PM, BGB cr88...@gmail.com 
mailto:cr88...@gmail.com wrote:


like, for example, if a musician wanted to pursue various musical 
forms.
say, for example: a dubstep backbeat combined with rap-style lyrics 
sung
using a death-metal voice or similar, without the man (producers, 
...)

demanding all the time that they get a new album together


Only art is not science: it doesn't have pieces you can take apart and
reuse in the same way (technique does).

So it's not an analogy that works.

(I did a PhD in computer science, and I make my living as a singer.)

--
http://rrt.sc3d.org
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc





___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] One more year?!

2012-01-22 Thread BGB

On 1/22/2012 5:11 PM, Julian Leviston wrote:

On 23/01/2012, at 8:26 AM, Casey Ransberger wrote:


Below.

On Jan 21, 2012, at 6:26 PM, BGBcr88...@gmail.com  wrote:


like, for example, if a musician wanted to pursue various musical forms. say, for example: a dubstep backbeat combined 
with rap-style lyrics sung using a death-metal voice or similar, without the man (producers, ...) demanding 
all the time that they get a new album together (or that their fans and the man expect them to stay with 
their existing sound and theme), and if they just gave them something which was like and so wub-wub-wub, goes the 
sub-sub-sub, as the lights go blim-blim-blim, as shorty goes rub-run-run, on my hub-hub-hub, as my rims go 
spin-spin-spin or something... (all sung in deep growls and roars), at which point maybe the producers would be 
very unhappy (say, if he was hired on to be part of a tween-pop boy-band, and adolescent females may respond poorly to 
bass-filled wubbing growl-rap, or something...).


or such...

This is probably the raddest metaphor that I have ever seen on a mailing list.

BGB FTW!

P.S.

If you want to get this song out the door, I'm totally in. Dubsteprapmetal 
might be the next big thing. I can do everything except the drums. We should 
write an elegant language for expressing musical score in OMeta and use a 
simulated orchestra!

Oh come on, Dub Step Rap Metal has been done before... Korn is basically what 
that is...  Just because you're not CALLING it dubstep doesn't mean it doesn't 
have the dubstep feel.


I was more giving it as an example of basically wanting to do one thing 
while being obligated (due to prior work) to do something very different.


say, if a musician (or scientist/programmer/...) has an established 
audience, and is expected to produce more of the same, they may have 
less personal freedom to explore other alternatives (and doing so may 
alienate many of their fans). an real-life example being, for example, 
Metallica incorporating a lot of Country Western elements.


in the example, the idea is that the producers may know full well that 
if their promoted boy-band suddenly released an album containing lots of 
bass and growling (rather than dancing around on stage being 
pretty-boys) then the audience of teenage girls might be like what the 
hell is this? and become disillusioned with the band (costing the 
producers a pile of money).


this does not necessarily mean that an idea is fundamentally new or 
original though.




Interesting, also, that you chose dubstep here, because that's a genre that's been basically 
raped in a similar way to what has been done to the ideas in object-orientism in 
order to get it into the mainstream :) People think dubstep is just a wobble bass... but it's 
actually more about the feel of the dub break...shrug


possibly. I encountered some amount of it before, which ranged between 
pretty cool and simplistic and actually kind of sucks (take 
whatever, put a pile of bass on it, call it good enough...).


some of it has just been the wub-wub-wub part with pretty much nothing 
else going on.



I had briefly experimented (I am not really a musician, just tinkered 
some) with trying to combine the wub-wub-wub part with a beat 
(apparently, someone else thought it sounded more like techno or 
industrial). I did tests trying to sing (poorly) doing both rap-style 
and growl-voice lyrics (in both cases about matters of programming), but 
didn't try combining them at the time as this would have been physically 
difficult (both require some level of physical effort, and I also have 
little personal interest either in the rough-tough thug from da hood 
or the gloom and doom and corpses images traditionally associated with 
the two lyrical styles). (actually, I partly vaguely remember rap in 
the form of MC Hammer and Vanilla Ice and similar, from before the 
days of thugz from da hood, although this is stuff from very long 
ago... although the attempts I made had more stylistically in common 
with the latter, than with MC Hammer and similar, which were more 
closer to actually singing the lyrics, rather than saying lots of 
rhyming-words to a fixed beat, ...).


my own musical interests have mostly been things like 
house/trance/industrial/... and similar...


I don't really have either instruments or any real skill with 
instruments, so what tests I had done had been purely on my computer 
(mostly using Audacity and similar, in this case). some past experiments 
had involved using tweaks to a custom written MIDI synthesizer (which 
allows, among other things, using arbitrary sound-effects as patches), 
however I haven't as-of-yet devised a good way to express non-trivial 
patterns in the MIDI command-language, leaving it as slightly less 
effort to just use multi-track sound-editing instead...



but, I have little intention at the moment of doing much of anything 
really serious with regards to musical stuff... (later? who knows, 
just 

Re: [fonc] One more year?!

2012-01-22 Thread Julian Leviston

On 23/01/2012, at 12:34 PM, BGB wrote:

 I was more giving it as an example of basically wanting to do one thing while 
 being obligated (due to prior work) to do something very different.
 

Yeah, sorry for diverging :) I actually realised that.

 say, if a musician (or scientist/programmer/...) has an established audience, 
 and is expected to produce more of the same, they may have less personal 
 freedom to explore other alternatives (and doing so may alienate many of 
 their fans). an real-life example being, for example, Metallica incorporating 
 a lot of Country Western elements.
 
 in the example, the idea is that the producers may know full well that if 
 their promoted boy-band suddenly released an album containing lots of bass 
 and growling (rather than dancing around on stage being pretty-boys) then the 
 audience of teenage girls might be like what the hell is this? and become 
 disillusioned with the band (costing the producers a pile of money).
 
 this does not necessarily mean that an idea is fundamentally new or original 
 though.

True... but in this case (as in the one you're paralleling - the one of VPRI) 
it'd likely attract a new audience that appreciate it.

Julan

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] One more year?!

2012-01-22 Thread BGB

On 1/22/2012 7:16 PM, Casey Ransberger wrote:

Below and mile off-topic...

On Jan 22, 2012, at 4:11 PM, Julian Levistonjul...@leviston.net  wrote:


On 23/01/2012, at 8:26 AM, Casey Ransberger wrote:


Below.

On Jan 21, 2012, at 6:26 PM, BGBcr88...@gmail.com  wrote:


like, for example, if a musician wanted to pursue various musical forms. say, for example: a dubstep backbeat combined 
with rap-style lyrics sung using a death-metal voice or similar, without the man (producers, ...) demanding 
all the time that they get a new album together (or that their fans and the man expect them to stay with 
their existing sound and theme), and if they just gave them something which was like and so wub-wub-wub, goes the 
sub-sub-sub, as the lights go blim-blim-blim, as shorty goes rub-run-run, on my hub-hub-hub, as my rims go 
spin-spin-spin or something... (all sung in deep growls and roars), at which point maybe the producers would be 
very unhappy (say, if he was hired on to be part of a tween-pop boy-band, and adolescent females may respond poorly to 
bass-filled wubbing growl-rap, or something...).


or such...

This is probably the raddest metaphor that I have ever seen on a mailing list.

BGB FTW!

P.S.

If you want to get this song out the door, I'm totally in. Dubsteprapmetal 
might be the next big thing. I can do everything except the drums. We should 
write an elegant language for expressing musical score in OMeta and use a 
simulated orchestra!

Oh come on, Dub Step Rap Metal has been done before... Korn is basically what 
that is...  Just because you're not CALLING it dubstep doesn't mean it doesn't 
have the dubstep feel.

Interesting, also, that you chose dubstep here, because that's a genre that's been basically 
raped in a similar way to what has been done to the ideas in object-orientism in 
order to get it into the mainstream :) People think dubstep is just a wobble bass... but it's 
actually more about the feel of the dub break...shrug

Julian


___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc

Julian,

Generally good points but I'm pretty sure the Korn I've heard wasn't dubstep. 
It's also crap. T.M. :D


admittedly, I have never heard Korn (that I am aware of), so have no 
real idea what it sounds like in particular. only that I think it is 
often associated with Linkin Park, which generally sounds like crap IMO 
(although I remember one instance where I heard something, and had a 
response roughly along the lines of what the hell is this?, my brother 
said it was Linkin Park, I was surprised, but don't remember what it 
sounded like, much beyond the response of ?... strange... and sounds 
kinda like crap...).


for some mysterious/unknown reason, my mom likes Linkin Park, I don't 
know...
(and, my dad mostly likes music from when he was young, which mostly 
amounts to heavy metal and similar).



little if anything in that area that generally makes me think dubstep 
though...


(taken loosely enough, most gangsta-rap could be called dubstep if 
one turns the sub-woofer loud enough, but this is rather missing the 
point...).


or such...

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] One more year?!

2012-01-22 Thread Julian Leviston

On 23/01/2012, at 2:30 PM, BGB wrote:

 little if anything in that area that generally makes me think dubstep 
 though...
 
 (taken loosely enough, most gangsta-rap could be called dubstep if one 
 turns the sub-woofer loud enough, but this is rather missing the point...).

Listen to this song. It's dubstep. Popular dubstep has been raped to mean 
brostep or what skrillex plays... but this song is original dubstep.

two cents. mine.

http://www.youtube.com/watch?v=IlEkvbRmfrA___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] One more year?!

2012-01-22 Thread BGB

On 1/22/2012 8:57 PM, Julian Leviston wrote:


On 23/01/2012, at 2:30 PM, BGB wrote:

little if anything in that area that generally makes me think 
dubstep though...


(taken loosely enough, most gangsta-rap could be called dubstep 
if one turns the sub-woofer loud enough, but this is rather missing 
the point...).


Listen to this song. It's dubstep. Popular dubstep has been raped to 
mean brostep or what skrillex plays... but this song is original 
dubstep.


two cents. mine.

http://www.youtube.com/watch?v=IlEkvbRmfrA



sadly... my internet sucks too much recently to access YouTube (it, 
errm, doesn't even try to go, just says an error occured. please try 
again later). at this point, it is hard to access stupid Wikipedia 
or Google without connection timed out errors, but this is the free 
internet provided by the apartment complex, where traces show it is 
apparently through 3 layers of NAT as well according to tracert (the 
local network, and two different 192.169.*.* network addresses)


also no access to usenet (because NNTP is blocked), or to FTP/SSH/... 
(also blocked).

and sites like StackOverflow, 4chan, ... are black-listed, ...

but, yeah, may have to pay money to get real internet (like, via a 
cable-modem or similar).



but, anyways, I have had an idea (for music generation).

as opposed to either manually placing samples on a timeline (like in 
Audacity or similar), or the stream of note-on/note-off pulses and 
delays used by MIDI, an alternate idea comes up:
one has a number of delayed relative events, which are in-turn piped 
through any number of filters.


then one can procedurally issue commands of the form in N seconds from 
now, do this, with commands being relative to a base-time (and the 
ability to adjust the base-time based either on a constant value or how 
long it would take a certain expression to finish playing).


likewise, expressions/events can be piped through filters.
filters could either apply a given effect (add echo or reverb, ...), or 
could be structural (such as to repeat or loop a sequence, potentially 
indefinitely), or possibly sounds could be entirely simulated (various 
waveform patterns, such as sine, box, and triangle, ...).


the main mix would be either a result of evaluating a top-level 
expression, or possibly some explicit send this to output command.


evaluation of a script would be a little more complex and expensive than 
MIDI, but really why should this be a big issue?...


the advantage would be mostly that it would be easier to specify 
beat-progressions, and individually tweak things, without the pile of 
undo/redo, copy/pasting, and saving off temporary audio samples, as 
would be needed in a multi-track editor.



it is unclear if this would be reasonably suited to a generic 
script-language (such as BGBScript in my case), or if this sort of thing 
would be better suited to a DSL.


a generic script language would have the advantage of making it easier 
to implement, but would potentially make the syntax more cumbersome. in 
such a case, most mix-related commands would likely accept/return 
stream handles (the mixer would probably itself be written in plain C 
either way). my current leaning is this way (if I should choose to 
implement this).


a special-purpose DSL could have a more narrowly defined syntax, but 
would make implementation probably more complex (and could ultimately 
hinder usability if the purpose is too narrow, say, because one can't 
access files or whatever...).



say, for example, if written in BGBScript syntax:
var wub=mixLoadSample(sound/patches/wub.wav);
var wub250ms=mixScaleTempoLength(wub, 0.25);
var wub125ms=mixScaleTempoLength(wub, 0.125);
var drum=mixLoadSample(sound/patches/drum.wav);
var cymbal=mixLoadSample(sound/patches/cymbal.wav);

//play sequences of samples
function beatPlay3Play1(a, b)
mixPlaySequence([a, a, a, b]);
function beatPlay3Play2(a, b)
mixPlaySequence([a, a, a, b, b]);

var beat0=mixBassBoost(beatPlay3Play2(wub250ms, wub125ms), 12.0);
//add 12db of bass

var beat1=mixPlaySequenceDelay([drum, cymbal], 0.5);//drum and cymbal
var beat2=mixPlayTogether([beat0, beat1]);

mixPlayOutput(beat2);//mix and send to output device


or such...

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] One more year?!

2012-01-22 Thread Julian Leviston

On 23/01/2012, at 4:17 PM, BGB wrote:

 as opposed to either manually placing samples on a timeline (like in Audacity 
 or similar), or the stream of note-on/note-off pulses and delays used by 
 MIDI, an alternate idea comes up:
 one has a number of delayed relative events, which are in-turn piped 
 through any number of filters.
 
 then one can procedurally issue commands of the form in N seconds from now, 
 do this, with commands being relative to a base-time (and the ability to 
 adjust the base-time based either on a constant value or how long it would 
 take a certain expression to finish playing).
 
 likewise, expressions/events can be piped through filters.
 filters could either apply a given effect (add echo or reverb, ...), or could 
 be structural (such as to repeat or loop a sequence, potentially 
 indefinitely), or possibly sounds could be entirely simulated (various 
 waveform patterns, such as sine, box, and triangle, ...).

Heya,

Yeah, I've had that idea for a while - although a more comprehensive one (I 
write music). Take a look at what Apple did to their own product Final Cut 
Pro... to turn it into Final Cut Pro X, and notice that there are rumors 
surrounding Logic Pro X, and I'm pretty sure you'll see that this idea is where 
Apple will most likely go when they release Logic Pro X.

In Final Cut Pro, they call it their magic timeline.

By the way, what you're describing CAN be done with Ableton Live without much 
trouble... also Ableton Live has the ability to use Max for Live, which is 
Cycling 74's excellent Max/MSP product inlined into a Live instrument (what 
you're calling various waveform patterns). It's sine, square/pulse and triangle 
by the way, not box... and we also can use all sorts of other waveforms... 
generated or sampled...

Julian___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc