Re: [fonc] One more year?!
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?!
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
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?!
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
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?!
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?!
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?!
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?!
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?!
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?!
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?!
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