00:42:19 -!- Slereah has quit (Read error: 110 (Connection timed out)). 00:45:51 -!- ehird` has quit (Remote closed the connection). 01:07:03 -!- Slereah has joined. 01:43:54 -!- poiuy_qwert has joined. 02:56:18 -!- GreaseMonkey has joined. 03:27:43 -!- faxathisia has quit ("Leaving"). 03:47:34 oerjan: http://b.nomic.net/index.php/Potential_Gamestates 03:48:09 And that's incomplete. 04:00:19 I like the conclusion :D 04:03:40 A state of emergency is defined by the rules of B Nomic. 04:04:16 And, best of all, it's defined by players panicing. 04:08:10 ah, that would be the one rule you didn't repeal? 04:08:13 Yes. 04:08:43 And the mere *existence* of that repeal is debatable. 04:08:57 If B does not have a Chancellor, B may or may not have a ruleset. 04:10:09 Currently, the gamestates are being rectified. . . 04:10:50 If my repeal happened, then the refresh proposal will reset stuff. If it didn't happen, then if there is a Chancellor, he resets stuff. Otherwise, the refresh proposal does so. 04:37:33 oerjan: 04:37:33 i say we are in need of something like lambdabot's @quote command <- is this implying you felt that comment deserved to be saved for posterity? 04:37:53 yep 04:38:01 thanks. :D 05:13:35 -!- RodgerTheGreat has quit (calvino.freenode.net irc.freenode.net). 05:13:36 -!- sekhmet has quit (calvino.freenode.net irc.freenode.net). 05:13:36 -!- Possum has quit (calvino.freenode.net irc.freenode.net). 05:13:49 -!- RodgerTheGreat has joined. 05:13:49 -!- sekhmet has joined. 05:13:49 -!- Possum has joined. 05:32:05 -!- Sgeo has quit (Connection timed out). 06:25:18 -!- oerjan has quit ("leaving"). 06:38:25 -!- immibis has joined. 06:39:13 quotes? hmm, i could add something for that, but that'd require me to get ololobot multinetworkous first 06:39:30 goneeee -> 06:41:28 -!- immibis_ has joined. 06:50:18 -!- poiuy_qwert has quit. 06:54:36 -!- immibis___ has joined. 06:54:56 -!- immibis has quit (Nick collision from services.). 06:54:58 -!- immibis_ has quit (Nick collision from services.). 06:55:01 -!- immibis___ has changed nick to immibis. 07:01:21 * immibis didn't see nything wrong with the names "Worse Than Failure" or "The Daily Worse Than Failure" 07:39:35 -!- immibis_ has joined. 07:55:45 -!- immibis has quit (Read error: 110 (Connection timed out)). 07:58:48 -!- immibis_ has changed nick to immibis. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:06:40 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. When the chips are down, well, the ). 08:22:14 -!- ihope_ has quit (Read error: 104 (Connection reset by peer)). 08:53:57 -!- GreaseMonkey has quit ("Who keeps reincarnating sliced bread?!"). 09:40:12 -!- Tritonio_ has quit (Remote closed the connection). 10:42:24 -!- complexity has joined. 10:42:47 does anyone knows where I can find the grammar for brainfuck ? 10:55:35 esolang.org 10:55:39 and check the wiki 10:55:48 uhh 10:55:49 esolangs 11:07:28 okay 11:07:32 i officially own :O 11:08:09 wrote a program to generate random melodies... after changing random_choice to random.choice, it worked perfectly 8| 11:08:15 Which grammar? 11:08:18 i have like 20 functions... 11:08:23 well, python ;) 11:08:49 okay, i don't own, just proved once again you can't make mistakes in python 11:09:33 melodies currently only use "good notes", or the notes constituting current chord 11:09:49 and they suck pretty bad 11:10:02 but you can hear the chord anyways, it's kinda neat :P 11:13:03 If you want a context-free grammar, one is S -> SS | '[' S ']' | | 11:13:29 hmm? 11:13:41 "does anyone knows where I can find the grammar for brainfuck ?" 11:13:48 oh 11:13:53 i though that was for me 11:13:54 :D 11:14:01 Nope. 11:14:06 the earlier one too was for the earlier request then 11:14:21 i thought it was a weird way to ask "what language did you write it in" :D 11:14:25 Nope. 11:14:44 Sorry :) 11:14:58 "nope"? don't you mean "exactly"? 11:15:10 ooooh 11:15:19 ah, the ambiguities of natural language <3 11:15:37 i need to eat something, anyone wanna hear the chaos my prog currently creates? :P 11:15:41 Sure. 11:15:55 that was one weird sentence, but wait, i'll upload 11:16:05 the code, that is, can you run python? 11:16:16 or, i could make it output to a file 11:16:21 can you play raw data? :P 11:16:33 Yeah. I'll get the code now and run it later if that's okay. 11:17:21 also, it's played with a broken sine wave, since the player is also written by me, and i was a bit lazy with the design, so it became hard to get adjacent waves to start smoothly. 11:17:35 basically meaning there are clicks, and the overall sound is not good. 11:17:44 but, anyway, i'll upload 11:18:21 http://www.vjn.fi/pb/p615613433.txt 11:19:02 Thanks. See you later. 11:19:04 (commenting on the code isn't necessary, since i know everything that's wrong with it and don't care what people think. using python, this just happens to be the easiest way to pass programs on.) 11:19:07 yarrrr 11:19:13 i'll go now, indeed -> 11:21:58 actually I have another few minutes. And that seems to work smoothly. 11:23:00 What all would need changing to get a different chord sequence? 11:23:06 (of different length i.e.) 11:36:47 hmm 11:36:52 see rand_chord_ptrn 11:36:58 rand_rhythm_ptrn 11:37:02 rand_melody_ptrn 11:37:10 the last one is where suckyness comes along 11:37:48 i had written a hundred lines of code up to that point, so was beginning to lose confidence on it working as i wanted :D 11:38:18 so... it just randomizes the melody completely, using the "good notes", or the notes best fitting for the current chord 11:38:39 Ah. 11:39:04 the chords are tuples, (base_note in [0..11], a number indicating the type of chord (0 for minor, 1 for major)) 11:39:59 if i make a better one, i'll not rely on chords and "good notes", but instead just calculate what notes fit best, and which chords fit best 11:40:20 less "built-in", more fun! (and prolly much much more chaotic :\) 11:41:05 -!- jix has joined. 11:42:37 dbc: what do you mean by "smoothly"? do you hear the clicks between notes, and does the sound "break"... not sure what the correct term is... 11:51:34 given a brainfuck program how can one find whether it is syntactically correct or not ? 11:52:11 I guess the only place one has to look is the while loops... other than that I guess all other operations are valid.. Am I missing somehting ? 11:56:28 -!- Slereah_ has joined. 11:59:29 -!- jix has quit (Read error: 110 (Connection timed out)). 12:00:38 complexity: CORRECT 12:00:45 WHOOPS 12:14:30 -!- Slereah has quit (Read error: 110 (Connection timed out)). 13:12:06 -!- piksi has joined. 13:13:15 Please, play paranoid in a graphical form 13:20:55 ascii form enough? 13:21:24 i shall attempt 13:22:05 000.000.00.5.7.A.C.5.7.A.C * 4 13:22:28 where . separates two notes, and a note is the number of steps upwards from E 13:22:43 with A... being the numbers 10... 13:22:50 then, verse 13:23:03 C. * 16 13:23:06 A. * 16 13:23:43 F.AAA.C.___. 13:23:52 sorry, failure there :) 13:24:01 A. * 8 in fact 13:24:09 then, chorus 13:24:34 CCCCCCCC.8888.AAAA. 13:24:36 basically. 13:24:47 the rest is repetition, plus a guitar solo, which is prolly improvised 13:24:52 have fun listening 13:25:43 also, irp in #irp 13:35:51 i don't really get why that piece is popular, i've heard small children write better melodies :\ 14:02:22 -!- miiro has joined. 14:02:44 -!- tejeez has joined. 14:11:01 -!- jix has joined. 14:21:38 I hear the clicks, yes. I don't mind them though :) 14:21:46 :D 14:22:02 well, good, they will go away once i make a better system for the waves 14:22:21 Cool. I'm guessing a more complex timbre is in your plans? 14:22:24 currently, waves save information about their actual byte representations themselves 14:23:14 so, they save their base, and their amplitude, and actually themselves apply them to the bytes they produce 14:23:36 the problem is, when i start adding waves, i need to remove both those, add, and put them back 14:23:46 so... the routines have become quite cluttered. 14:24:09 now imagine adding something to make waves start where the last on ended... uhhh the pain 14:25:12 so, i was thinking, i'll just save the function, and ask for it's derivative (optionally), if one is given, it's a trivial task approximating the perfect base for the next wave, and the perfect phase to start from (by newton's method for example) 14:25:20 base 14:25:38 means what value the wave flunctuates around' 14:25:41 Hm. 14:25:42 flunctuates? 14:25:46 Fluctuates. 14:25:49 ah. 14:25:51 They don't fluctuate around zero? 14:25:59 well, the sine waves do 14:26:08 but the actual range is 0...255 14:26:14 Ah. I didn't check what other kinds you had. 14:26:27 but, as you may know, the sound is the same no matter what the base is 14:26:43 so... why the fuck would every wave need their own base :D 14:27:40 the base should be 128 originally, but, if it's helpful, it could be changed so that a wave could best fit the last written byte, and the derivative of the last wave at the end point 14:28:04 and could gradually shift back to 128 during the playing of that sound. 14:28:39 because the same wave is generally played for thousands of bytes, you can shift so slowly there's no way to hear it. 14:28:46 You are probably going to want to make each note fade out rather than just cut off, at some point, right? That in itself would solve half your problem. 14:29:03 heh, never occurred to me :P 14:29:33 but, yeah, i think i'd've added that anyway once i'd made the wave objects "less raw" 14:29:39 having all the wave functions start at x=0 at the start of each note would solve the other half. 14:29:55 I think. 14:30:23 the fading might indeed be a better way to do it 14:30:44 but my idea is much harder to implement 14:30:45 ! 14:30:49 Huh? 14:31:53 actually, i think even if they are faded in, the optimal starting point is the point the last note is in. 14:32:23 Hm. 14:32:57 well, let's say you shift out the same wave you shift in 14:33:13 in that case, if you start at where the last wave is, it's perfect. 14:33:30 since it's the exact same as if you'd just made the original wave twice as long 14:34:00 now, again, if we start at x=0, you will have a moment where the phase shifts. 14:34:20 since the new wave starts from a different phase than the one the other is in 14:34:35 (I wasn't even thinking fade in, just out. Though fading in as well, somewhat quicker, would indeed sound more realistic than an abrupt start. What I was thinking about the start of each note is to arrange them so that all the sine functions are at x=0, y=0 at the start of the note they're part of. I.e. use the note as the basis for the x-scale and not the whole piece, assuming that's what you're doing now.. That will be as smooth a start a 14:34:35 s could be asked for. 14:34:57 Not sure if I'm being clear though. 14:35:45 you prolly are, i just need a while to grasp anything 14:37:07 Am I right in guessing you're now computing amplitudes for each byte on the basis of a sine function whose input is that byte's location in the whole piece of music? 14:37:20 ah 14:37:38 you mean, when i start the note, am i sending the wave function 0 or the number of cycles sofar= 14:37:39 ? 14:37:46 Yeah. 14:37:52 That's what I'm asking. 14:37:54 sofar. 14:38:10 but, i do a bit of cycling there 14:38:32 i go forward in the wave to find a good spot to start the new sound 14:38:40 Ah. 14:39:03 if the last note ended at 200, the note is traversed until it's close to 200, and going the same direction. 14:39:13 i do all this in a very ugly fashion, as you can see at... 14:39:17 wait, i'll locate the function 14:39:33 get_bytes 14:39:41 in hzSound 14:40:37 it's uuuugly 14:40:43 i don't wanna look at ti 14:40:44 it 14:40:58 Clear enough. 14:41:22 clear, but ugly1 :D i'm calculating the average of the bases of the subwaves! :D 14:41:43 the composer function doesn't use the feature, but you can actually play chords too 14:42:03 when you have multiple waves, you really hear the clicks and the bad quality of the sound 14:42:10 I mean "clear" about "i don't wanna look at it". Then I said "clear enough" as in "i hear you". Ambiguities of natural language again... 14:42:52 volume ramping? 14:42:56 and, this is bad because playing multiple waves simultaneously is pretty much the reason i made the whole wrapper for waves in the first place :\ 14:43:06 jix: perhaps, i' 14:43:09 ... 14:43:11 If every sound wave that kicks in does so from zero, and fades out at the end, the function as a whole should be close to continuous. 14:43:22 jix: perhaps, i'm doing this with no knowledge about waves in general. 14:44:04 the problem is, the derivatives must also match. 14:44:28 don't know how crucial that is 14:44:49 but, i think it can be done by changing the base.... or volume ramping? whatever 14:45:03 That would be nice, yeah. I'm not seeing how to do that without using fade-in as well as fade-out. Dunno... 14:45:15 well volume ramping is when you end a sample you fade it out and when you start it you fade it in 14:45:25 over a very short duration 14:45:33 => no clicks 14:45:35 the problem is, playing the same wave twice would then create a pause 14:45:45 then you have to crossfade 14:45:54 Playing the same wave twice SHOULD create a pause if they're two notes. 14:46:07 fade the first one out while fading the next one in (when you want no pause at all) 14:46:20 but dbc is right... normally there should be a very very short pause 14:46:29 If they're just one note, extended, it doesn't get faded out and back in. 14:47:18 crossfading might work, although i still think fading is the wimp way to do it ;) 14:47:41 well most software does volume ramping 14:47:48 and no, there shouldn't be a pause, i don't want there to be a pause 14:47:59 i want there to be a pause *optionally* 14:48:44 at least all the trackers out there use volume ramping to avoid clicks.... and the sound chip of the super nintendo does the same 14:48:46 Well, you can put the note ends wherever you like. 14:48:56 -!- sebbu has joined. 14:49:05 and when you want no pause you don't restart the sample but just change the frequency that gives you no gap too 14:49:09 the player should be able to achieve 100% legato 14:49:39 the problem is you can give it any function, not just sines 14:49:50 hmm 14:49:51 Fade it out after the next one has already started. Or yeah, crossfade. Hell, if you wanted to you could have the second note start to fade out after the first one has already faded all the way in. Probably sound a little odd, but that'd be almost like an anti-pause. 14:49:52 well most software works with samples that's like any function 14:50:14 second <-> first. Sorry. 14:51:20 and when you want no pause you don't restart the sample but just change the frequency that gives you no gap too <<< this was what i was doing originally 14:51:23 i mean, was gonna do 14:51:30 Other thing as I say is what about timbre? Are you going to add overtones and things to get away from the "pure beep" sound. 14:51:40 oklopol: if you do it right it doesn't produce clicks 14:51:57 but, indeed, the actual wave functions themselves can easily leave their current value the same and just change frequency 14:52:33 i was trying to do that for the actual compound wave at once by traversing it forward. 14:52:55 dbc: yeah, was gonna add stuff like that 14:53:09 by making better waves 14:54:12 One more thing. Just incidentally. The ".au" sound format is very simple--you just have to add a 24-byte header, as I recall. 14:54:23 and then raw data? 14:54:27 Yeah. 14:54:32 .wav needs about 80 bytes 14:54:40 Just in case you want to output a file format that things will know what the hell it is. 14:55:05 Ah. 14:55:09 i think wav is supported more widely 14:55:13 Probably. 14:55:28 a wav is nice to create... but hell to play. 14:55:31 80 bytes of what? 14:55:40 ummm, well, crap 14:55:44 Ah. 14:56:11 i don't remember, read part of the spec when i was little, and wrote a c program to make random sounds 14:56:25 little... prolly older than half the people in here :\ 14:56:27 Does it say "Copyright Bill Gates" as part of it? 14:56:35 hehe 14:56:50 and... i've used the c program as the base of all my later wav things :D 14:57:02 have no idea what the bytes mean, and zero care 14:59:45 i also tried making a midi file back then, 7F's were so hard to understand i failed to understand the format well enough to make anything more complex than a piano roll where notes were left on forever :P 14:59:54 back then == the same afternoon 15:00:24 i *might* just be able to conquer midis now, if i tried 15:00:45 although, dunno how that would help. 15:01:15 since i'll wanna make my own timbre anyway 15:01:18 or "tone" 15:19:16 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 15:20:33 -!- bsmntbombdood has joined. 15:28:02 -!- complexity has quit ("ChatZilla 0.9.79 [Firefox 2.0.0.11/2007112718]"). 17:04:05 -!- oerjan has joined. 17:26:02 -!- Slereah has joined. 17:42:52 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 17:49:50 -!- helios24 has quit (Read error: 104 (Connection reset by peer)). 17:59:47 -!- helios24 has joined. 18:06:32 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 18:17:06 -!- oklopol has joined. 18:38:31 -!- RedDak has joined. 19:04:28 -!- Sgeo has joined. 19:27:41 http://www.vjn.fi/pb/p526564465.txt i have no idea what happened, but i have a new player :\ 19:28:06 nifty? 19:28:32 no 19:28:50 but the format is quick for writing random riffs :D 19:29:16 a-z0-9A-Z for notes, in that order, 0 being 440 hz 19:29:33 #(some float) specifies speed 19:29:41 not bad 19:30:14 #1 is 4 notes a second, 0.5 is 8 notes etc 19:33:31 ah 19:34:43 http://www.vjn.fi/pb/p116211461.txt xD 19:34:47 i'm such a fucking mozart. 19:35:13 i want someway to multiply in the code itself... and make that tc 8DD 19:37:09 oh good lord 19:37:35 a musical programming language 19:37:54 there's one where music *is* the language 19:38:09 but haven't seen (a good) one for actual creation of music 19:38:29 i'm totally addicted to composing on that now xD 19:38:35 guess i'll cook a bit more 19:50:10 -!- RedDak has quit (Remote closed the connection). 20:27:36 -!- RedDak has joined. 20:33:33 -!- oerjan has quit ("leaving"). 20:47:38 -!- GreaseMonkey has joined. 20:47:48 -!- RedDak has quit (Remote closed the connection). 20:59:24 -!- cherez has quit ("Leaving."). 21:00:47 -!- RedDak has joined. 21:14:16 -!- jix has quit ("CommandQ"). 21:15:20 * Slereah finished his 99 bottles of beer. 21:15:23 http://membres.lycos.fr/bewulf/Russell/99Turingprog4.txt 21:15:39 The interpreter being thar : http://membres.lycos.fr/bewulf/Russell/turingprog2.py 21:16:18 See if you can spot the many traces of lazyness and of abandonned sections of code that I forgot to remove! 22:12:59 * Slereah finished his 99 bottles of beer. 22:12:59 HEREITs ojn teh webhttp://membres.lycos.fr/bewulf/Russell/99Turingprog4.txt 22:12:59 ta;; iNTRpertre benig here:--~~> http://membres.lycos.fr/bewulf/Russell/turingprog2.py 22:12:59 so youlooka t lazyness n abnondnd skt*zzzzzzzzzzzzzz* 22:21:54 -!- miiro has quit (calvino.freenode.net irc.freenode.net). 22:24:03 -!- miiro has joined. 22:46:04 -!- RedDak has quit (Remote closed the connection). 22:53:36 -!- GreaseMonkey has quit ("Who keeps reincarnating sliced bread?!"). 23:06:33 -!- oerjan has joined. 23:14:31 -!- Tritonio_ has joined. 23:16:24 -!- miiro has quit (calvino.freenode.net irc.freenode.net). 23:26:50 -!- miiro has joined. 23:41:23 -!- miiro has quit (calvino.freenode.net irc.freenode.net). 23:42:29 -!- miiro has joined. 23:42:30 -!- miiro has left (?). 23:42:30 -!- miiro has joined.