00:06:54  <dominictarr>trying to do this http://cnx.org/content/m15482/latest/
00:08:41  <substack>I wrote some examples that do that
00:08:43  <substack>sounds pretty rad
00:14:24  <dools>no static at allll, no static at allll http://youtu.be/9c3rdccsjhg?t=1m28s
00:14:36  <dominictarr>I'm not getting steady tones when I do it, even if I'm using frequencies that are while ratios.
00:15:17  <dominictarr>fuck, I can't play that video in germany
00:15:29  <dools>it's steely dan "FM"
00:15:38  <dools>so you can just imagine it in your head
00:16:53  <dominictarr>haha. found a different one. so smooth.
00:17:17  <dools>you never heard it before!?
00:17:26  <dools>man steely dan is incredible
00:17:30  <dools>well ... a lot of their stuff is
00:17:37  <dools>some of it is a little too country for my tastes
00:17:43  <dominictarr>I think my dad liked was a fan.
00:17:54  <dominictarr>seems like the sort of thing he'd like.
00:18:15  <dominictarr>it being what you call "dad-rock"
00:18:58  <dools>yeah it's dad rock to be sure
00:19:11  <dools>you'd put it on the same mix tape as dire straits and bruce springstein
00:19:20  <dools>maybe with a bit of billy joel and peter gabriel on the other side
00:19:26  <dominictarr>substack, hmm maybe I need to fit it to the samples?
00:19:53  <dools>see if you can pick the famouse hip hop sample on this one: http://www.youtube.com/watch?v=48HalIB6FZE
00:20:26  <dools>and this is another dad rock classic: http://www.youtube.com/watch?v=XDLVHLomaUw
00:20:47  <dools>(also you win first prize of everything if you can tell me the hip hop song that samples FM ... :)
00:26:33  <dominictarr>warren g - regulate! easy!
00:28:43  <substack>dominictarr: just wrote https://gist.github.com/3592304
00:28:51  <substack>will make a sweet baseline I think
00:30:29  <dominictarr>what is b.push is that for adding multiple sounds?
00:30:37  <dominictarr>they just all get mixed
00:30:55  <substack>it adds another channel
00:31:02  <dominictarr>is I the sample ?
00:31:32  <substack>i is a counter
00:31:49  <substack>+1 for every sample
00:32:05  <dominictarr>cool
00:35:24  <substack>hmmm the mixing isn't working so well
00:39:17  <dominictarr>dools, nah I can't pick the sampler of fm.
00:39:58  <dools>dominictarr: it's pretty fuckin obscure. unfortunately youtube won't let me play the song outside of america but it's 3rd bass "no static at all" of their album derelicts of dialect
00:40:44  <dools>although! groove shark to the rescue? http://grooveshark.com/#!/s/No+Static+At+All/3dRt9Z?src=5
00:44:32  * idletomjoined
00:46:29  <dominictarr>looks like there is something about germany that doesn't like music streaming.
00:48:32  <dools>hmm possibly the law
01:24:22  <dominictarr>substack, just discovered how to make THAT old sound.
01:24:49  <dominictarr>Math.random() but only update the output every 100 samples.
01:25:36  <dominictarr>function noise(f) {
01:25:37  <dominictarr> return i % f ? n : n = Math.random()
01:25:37  <dominictarr> }
01:42:52  <dools>the brown note?
01:45:22  <substack>neat
01:46:10  <substack>geiger counter esque
01:51:01  <dominictarr>really video gamey, especially if you modulate the hold length with an exponential decay.
01:52:02  <dominictarr>trying to figure out how to write a filter
01:52:13  <dominictarr>low pass, and hi pass
02:00:15  <dominictarr>trying to figure out how to write a filter
02:11:38  <dominictarr>it's my bed time, catch you guys later
02:11:44  * dominictarrchanged nick to dominic_ZZZZ
02:13:59  * st_lukejoined
03:01:17  * ITproquit
03:01:18  * timoxleyjoined
03:44:42  * st_lukequit (Ping timeout: 244 seconds)
03:56:56  * purrquit (Remote host closed the connection)
03:57:04  * purrjoined
04:19:48  <maxogden>substack: wanna do nodeup tomorrow at my house?
04:20:10  <maxogden>substack: also boat building at 3
04:25:24  <substack>sure
04:25:46  <substack>I'll bring my rad mic
04:27:14  <substack>maxogden: what is the topic?
04:29:16  <maxogden>summercamp?
04:29:22  <maxogden>so i guess #jifasnif
04:33:15  <substack>or anything goes maybes
04:33:25  <substack>fun silly things
04:33:33  <substack>could talk about making digital music with javascript
04:33:46  <substack>that is a thing that I expect to happen at summer camp
04:33:59  <substack>and how building a boat is not so different from building software
04:34:15  <substack>reuse, hackability, collaborators
04:34:28  <maxogden>not paying for source materials
04:34:52  <substack>haha source
04:35:04  <substack>source material source code same thing
04:36:38  <substack>npm, like the 6th avenue marina, is a dumping ground for spare parts
04:36:43  <maxogden>haha
04:50:52  <substack>dominic_ZZZZ: oh shit I found the bug with channels
04:50:59  <substack>i needs to ++ for each channel
04:51:07  <substack>because it's used in the offset write
05:39:33  <jesusabdullah>uugh this build step is taking foreverrrr
05:39:38  <jesusabdullah>*whine* *pout*
05:45:05  * idletomquit (Ping timeout: 246 seconds)
06:00:28  <substack>dominic_ZZZZ: https://gist.github.com/3595201
06:00:31  <substack>evolving musical tune
06:01:22  <substack>maxogden too ^^^
06:29:00  <jesusabdullah>blowin' that kid's MIND
06:29:28  <substack>jesusabdullah: listen to this shit
06:29:55  <jesusabdullah>aight
06:57:08  * _sorensenjoined
07:04:16  * _sorensenquit (Quit: _sorensen)
07:06:36  <substack>dominic_ZZZZ: updated to use your Math.random() trick for a sweet sliding drumline https://gist.github.com/3595201#L48
07:36:44  <substack>http://substack.net/audio/evolving_melody.ogg
08:15:25  * Madarsjoined
08:47:51  <rook2pawn>was listening to this afternoon http://www.youtube.com/watch?v=2Eh1lGF8TI0
08:48:02  <rook2pawn>how sweet it would be to have this type of music autogenerated in node
09:08:54  <substack>not quite there yet
09:09:26  <substack>it'd be sweet to release modules to npm that were just functions that output values for differnet synthetic instruments
09:46:47  <dominic_ZZZZ>substack, how does this stuff work with the < https://gist.github.com/3595201#L54
09:47:18  <substack>dominic_ZZZZ: it started as a pattern to do 3 short beats in a row
09:47:20  * dominic_ZZZZchanged nick to dominictarr
09:47:32  <substack>but then they got all merged together and it sounded better
09:47:49  <substack>also for some reason they turn to all static for a whole second every 32 seconds
09:47:52  <substack>which I quite like
09:48:47  <dominictarr>the second two parts are identical
09:49:11  <substack>oh hah
09:49:43  <substack>those used to have (t + 0.1) and other offsets
09:50:37  <dominictarr>oh right
09:59:19  * timoxleyquit (Quit: Computer has gone to sleep.)
10:16:52  * timoxleyjoined
10:43:45  <dominictarr>substack, you don't have inherits in the package.json for baudio
10:55:34  * timoxleyquit (Ping timeout: 245 seconds)
10:59:19  * timoxleyjoined
11:40:01  <dominictarr>substack, I think there is a tricky problem when changing frequencies
11:41:06  <dominictarr>not sure that you can just go sin(t*carrier + sin(t * modulator))
11:41:34  <dominictarr>because that sounds totally wrong when the modulator freq is low
11:43:25  <tanepiper>guys - what's the best way you handle function(path, options, extra, callback) where options and extra are both optional? - my code looks like spaghetti
11:45:41  <dominictarr>tanepiper, use pop to get the callback
11:46:20  <dominictarr>yeah, pop off the callback, shift off path
11:46:36  <dominictarr>then use pop to get options & extra
11:48:03  <tanepiper>yea, because mine looks like this: https://gist.github.com/f888aa55079ed83e8e2a
11:59:43  <dominictarr>tanepiper, the npm code has quite tidy patterns for handling optional args
12:01:15  <dominictarr>substack, the problem is if you suddenly step the frequency the phase changes, I think.
12:02:18  <dominictarr>maybe use a circular buffer, and let the frequency determine how fast you are moving through it.
12:02:44  <dominictarr>but you don't jump to a completely different place.
12:03:37  <tanepiper>dominictarr: i'll check that - normally i don't care, but i'd like this to be clean :)
12:04:56  <tanepiper>https://github.com/isaacs/npm/blob/master/lib/substack.js ?
12:09:51  <dominictarr>haha what?
12:21:03  * ITprojoined
12:30:27  * ITproquit
12:30:56  * ITprojoined
13:02:50  * ITproquit
13:08:58  <dominictarr>haha substack the circle idea works, now I'm not getting clicks when changing frequencies
13:21:58  <dominictarr>_NOW_ it sounds like an FM synth.
13:46:37  * dominictarrquit (Ping timeout: 276 seconds)
13:47:54  * dominictarrjoined
14:23:05  * wiwilliajoined
15:43:40  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
15:43:40  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
15:43:48  <dominictarr>substack, check this out : http://en.wikipedia.org/wiki/Jeskola_Buzz
15:43:59  <dominictarr>music tracker with streaming pattern
15:44:06  <dominictarr>I used to use this heaps.
15:44:51  <dominictarr>actually, I met disasteradio because we were both on the buzz mailing list and he noticed that I also had a nz email address.
15:51:56  <dominictarr>you even had to enter parameters in hex. it was pretty cool.
16:22:43  * stlsaintquit (Quit: leaving)
16:51:05  * idletomjoined
17:28:12  <niftylettuce>paul_irish: cross browser window.onerror?
17:28:26  <niftylettuce>not sure if u had a good reference other than whats on goog
17:28:54  <niftylettuce>substack: your beats thing is pretty sick lol, very random but its neat
17:38:50  <dominictarr>niftylettuce, onerror doesn't work in chrome.
17:39:25  <dominictarr>you could use stackedy though.
17:44:44  * st_lukejoined
17:49:43  * st_lukequit (Remote host closed the connection)
17:51:18  * st_lukejoined
17:52:40  <Raynos>morning!
17:52:56  <Raynos>dominictarr: onerror does work in chrome
17:53:08  <Raynos>dominictarr: it just doesn't bubble up throw errors in code and only native errors
17:53:16  <dominictarr>oh
17:55:15  <Raynos>dominictarr: I like your hud approach
17:56:20  <dominictarr>it would also be useful as some sort of client side plugin.
17:56:42  <dominictarr>there is lots of room for cool developments there too. more types of gauges.
17:57:00  <dominictarr>sometimes you'd want a historgram, for example.
17:57:21  <Raynos>dominictarr: what happens when the client loses internet connections
17:57:29  <dominictarr>it uses reconnector
17:57:31  <Raynos>the server doesn't repush the custom streams
17:57:42  <Raynos>oh wait it does
17:57:55  <Raynos>clever
17:58:07  <dominictarr>yeah, everthing reconnects transparently.
17:58:41  <dominictarr>you can even leave it running and change the streams on the server, and it will detect that and create new streams when the client reconnects.
17:58:49  <Raynos>:)
17:59:14  <Raynos>this one shows it the other way: https://gist.github.com/3540914
17:59:26  <Raynos>It's for when your createStreams on the client and pushing them to the server
18:03:05  <Raynos>i prefer the server pushing to the client
18:05:52  <dominictarr>yeah, in this particular case, it makes more sense to create on the server
18:06:08  <dominictarr>because the server may decide to add more streams on the fly.
18:06:29  <dominictarr>and the client knows how to handle any new stream
18:07:29  <dominictarr>when the client only knows how to display a few particular things, then the client pulling the streams feels more natural.
18:07:44  <dominictarr>especially, if the client can decide not to pull them.
18:21:25  * wiwilliapart
18:26:08  <Raynos>:)
18:26:32  <Raynos>that only works for authed clients
18:26:40  <Raynos>in my app clients open streams because they need to auth first
18:26:43  <Raynos>Although
18:26:51  <Raynos>I guess I can push the streams down the auth stream
18:26:53  <Raynos>that should work
18:37:42  <dominictarr>you could auth on down the shoe stream, and then connect mux-demux.
18:47:07  * rannmannquit (Quit: No one is so old as those who have outlived enthusiasm. - Henry David Thoreau)
18:59:46  * rannmannjoined
19:30:24  * st_lukequit (Remote host closed the connection)
20:33:53  * st_lukejoined
21:04:35  <dominictarr>substack, you there?
21:15:29  * st_lukequit (Remote host closed the connection)
22:13:49  * _sorensenjoined
23:00:01  <tanepiper>Marak is weird
23:04:24  <dominictarr>tanepiper, I think he's been reincarnated as a markov chain bot, if your are referring to his new twitter
23:08:41  <tanepiper>he/it keeps @'ing him/itself
23:15:58  <chapel>well, I thought he dropped off of twitter?
23:16:10  <chapel>and someone made a bot, satire twitter account of him
23:17:03  <dominictarr>I all most suspect marak of doing it him self.
23:17:42  <dominictarr>he made one tweet that was conherent and about his reflection stuff he's been working on.
23:17:55  <dominictarr>which a bot wouldn't have done, I think...
23:44:47  * joshwnjjoined
23:45:42  <substack>dominictarr: yep
23:45:57  <dominictarr>cooking up some awesome sounds
23:46:02  <dominictarr>will publish soon
23:46:24  <substack>haha awesome
23:50:17  <dominictarr>funny this is a really strong use case for hot-reload.
23:50:34  <substack>dominictarr: I have an http prototype for baudio
23:50:40  <substack>to add and remove channels on the fly over http
23:51:14  <dominictarr>my quest is to be able to sync loops between multiple users
23:51:23  <dominictarr>both in the sense that the loops play in time
23:51:32  <substack>I'm more thinking a central server that users push javascript to over http
23:51:46  <dominictarr>and in the sense that they get sent to each other
23:52:09  <dominictarr>I'm hitting the cpu wall too often.
23:52:41  <dominictarr>that only works for really simple noises.
23:53:22  <dominictarr>still, valid though.
23:54:38  <tanepiper>chapel, dominictarr - confirms my suspicions - he;s a bit weird :p
23:54:50  <chapel>tanepiper: well, he is weird
23:54:57  <chapel>I could have told you that :P
23:55:21  <chapel>hes not a bad person, but some outbursts in the past few months were odd and unwarranted
23:55:35  <chapel>namely against substack and the last one against tj
23:58:08  <dominictarr>although thats two out bursts too many