[Hopperxx] Oppen Do Down: JavaScript interactive audio
Jim Andrews
jim at vispo.com
Thu Apr 12 23:36:21 CDT 2018
OPPEN DO DOWN
http://vispo.com/vismu/oppen
This is a JavaScript version of a 2000 interactive audio piece I
originally did in Macromedia Director.
I sang/composed, recorded and mixed these sounds.
Blue words are on. Gray words are off. Click a word to toggle its sound.
I show a little bit of Oppen Do Down in a video I did at
https://youtube.com/watch?v=FcGEMHPhMVw which talks about the heap as a
new form of music in Nio, Jig-Sound, and Oppen Do Down.
I used the newish Web Audio API to do this new JavaScript version of
Oppen Do Down. I wrote some tech notes on it at
http://netartery.vispo.com/?p=1997 before I sat down to do Oppen Do
Down. Which worked out well. More to come.
The Web Audio API makes this sort of synchronization simpler to do than
it was in Director. That's because the Web Audio API provides a
high-performance clock. It's high-performance in that it is apparently
accurate to considerably less than 1 millisecond. The resolution of this
clock lets you time events down to the individual sample. Secondly, this
clock apparently stops for nothing. Whereas yer typical timers in
computer programming are not the highest priority processes and so are
subject to delays from higher priority processes doing their thing.
However, I have read that hackers have used this clock's high precision
to time how long it takes the browser to do encryption-related things,
thus helping the hacker figure out the algorithms being used. So some
browsers apparently cripple the precision of the clock. Everything these
days is a security issue. Anyway, I talk about this sort of stuff in the
technotes I mentioned.
Next up, as in Nio and Jig Sound, is the ability to sequence and layer
synchronized sound icons. In Oppen Do Down, you can only layer them.
Around 2001 or 2002, I got invited to Ottawa to show this piece and some
others. Turns out they actually demanded a performance. So I sang
it/accompanied it while I played it. That took some practice.
Let me know if it doesn't work in your browser or you find bugs, please.
I've tested it on a bunch of browsers on the PC and Mac. Works on them
all except Opera on the Mac. It also works fine on Android, the iPad,
and the iPhone.
ja
More information about the Hopperxx
mailing list