< 1197506539 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1197506751 0 :ehird`!unknown@unknown.invalid QUIT :Remote closed the connection < 1197508023 0 :Slereah!n=Slereah@ANantes-252-1-30-27.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1197510234 0 :poiuy_qwert!n=poiuyqwe@bas2-toronto47-1242436156.dsl.bell.ca JOIN :#esoteric < 1197514578 0 :GreaseMonkey!n=saru@219-89-41-90.dialup.xtra.co.nz JOIN :#esoteric < 1197516463 0 :faxathisia!unknown@unknown.invalid QUIT :"Leaving" < 1197517654 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: http://b.nomic.net/index.php/Potential_Gamestates < 1197517689 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And that's incomplete. < 1197518419 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I like the conclusion :D < 1197518620 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :A state of emergency is defined by the rules of B Nomic. < 1197518656 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And, best of all, it's defined by players panicing. < 1197518890 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah, that would be the one rule you didn't repeal? < 1197518893 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1197518923 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And the mere *existence* of that repeal is debatable. < 1197518937 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If B does not have a Chancellor, B may or may not have a ruleset. < 1197519009 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Currently, the gamestates are being rectified. . . < 1197519050 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1197520653 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: < 1197520653 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :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? < 1197520673 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1197520681 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :thanks. :D < 1197522815 0 :RodgerTheGreat!unknown@unknown.invalid QUIT :calvino.freenode.net irc.freenode.net < 1197522816 0 :sekhmet!unknown@unknown.invalid QUIT :calvino.freenode.net irc.freenode.net < 1197522816 0 :Possum!unknown@unknown.invalid QUIT :calvino.freenode.net irc.freenode.net < 1197522829 0 :RodgerTheGreat!n=Rodger@wads-5-232-170.resnet.mtu.edu JOIN :#esoteric < 1197522829 0 :sekhmet!n=pez@wilug/madlug/sekhmet JOIN :#esoteric < 1197522829 0 :Possum!n=possum@pool-71-180-26-32.tampfl.fios.verizon.net JOIN :#esoteric < 1197523925 0 :Sgeo!unknown@unknown.invalid QUIT :Connection timed out < 1197527118 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1197527905 0 :immibis!n=immibis@125-236-169-229.broadband-telecom.global-gateway.net.nz JOIN :#esoteric < 1197527953 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :quotes? hmm, i could add something for that, but that'd require me to get ololobot multinetworkous first < 1197527970 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :goneeee -> < 1197528088 0 :immibis_!n=immibis@125-236-169-229.broadband-telecom.global-gateway.net.nz JOIN :#esoteric < 1197528618 0 :poiuy_qwert!unknown@unknown.invalid QUIT : < 1197528876 0 :immibis___!n=immibis@125-236-169-229.broadband-telecom.global-gateway.net.nz JOIN :#esoteric < 1197528896 0 :immibis!unknown@unknown.invalid QUIT :Nick collision from services. < 1197528898 0 :immibis_!unknown@unknown.invalid QUIT :Nick collision from services. < 1197528901 0 :immibis___!unknown@unknown.invalid NICK :immibis < 1197529281 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :ACTION didn't see nything wrong with the names "Worse Than Failure" or "The Daily Worse Than Failure" < 1197531575 0 :immibis_!n=immibis@125-236-169-229.broadband-telecom.global-gateway.net.nz JOIN :#esoteric < 1197532545 0 :immibis!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1197532728 0 :immibis_!unknown@unknown.invalid NICK :immibis < 1197532799 0 :clog!unknown@unknown.invalid QUIT :ended < 1197532800 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1197533200 0 :immibis!unknown@unknown.invalid 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 < 1197534134 0 :ihope_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1197536037 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"Who keeps reincarnating sliced bread?!" < 1197538812 0 :Tritonio_!unknown@unknown.invalid QUIT :Remote closed the connection < 1197542544 0 :complexity!n=chatzill@202.144.44.90 JOIN :#esoteric < 1197542567 0 :complexity!unknown@unknown.invalid PRIVMSG #esoteric :does anyone knows where I can find the grammar for brainfuck ? < 1197543335 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :esolang.org < 1197543339 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and check the wiki < 1197543348 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :uhh < 1197543349 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :esolangs < 1197544048 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1197544052 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i officially own :O < 1197544089 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wrote a program to generate random melodies... after changing random_choice to random.choice, it worked perfectly 8| < 1197544095 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Which grammar? < 1197544098 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have like 20 functions... < 1197544103 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, python ;) < 1197544129 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, i don't own, just proved once again you can't make mistakes in python < 1197544173 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :melodies currently only use "good notes", or the notes constituting current chord < 1197544189 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and they suck pretty bad < 1197544202 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but you can hear the chord anyways, it's kinda neat :P < 1197544383 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :If you want a context-free grammar, one is S -> SS | '[' S ']' | | < 1197544409 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm? < 1197544421 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :"does anyone knows where I can find the grammar for brainfuck ?" < 1197544428 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1197544433 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i though that was for me < 1197544434 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1197544441 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Nope. < 1197544446 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the earlier one too was for the earlier request then < 1197544461 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i thought it was a weird way to ask "what language did you write it in" :D < 1197544465 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Nope. < 1197544484 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Sorry :) < 1197544498 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"nope"? don't you mean "exactly"? < 1197544510 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ooooh < 1197544519 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah, the ambiguities of natural language <3 < 1197544537 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i need to eat something, anyone wanna hear the chaos my prog currently creates? :P < 1197544541 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Sure. < 1197544555 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that was one weird sentence, but wait, i'll upload < 1197544565 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the code, that is, can you run python? < 1197544576 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or, i could make it output to a file < 1197544581 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can you play raw data? :P < 1197544593 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. I'll get the code now and run it later if that's okay. < 1197544641 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1197544655 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basically meaning there are clicks, and the overall sound is not good. < 1197544664 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, anyway, i'll upload < 1197544701 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p615613433.txt < 1197544742 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Thanks. See you later. < 1197544744 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(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.) < 1197544747 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yarrrr < 1197544753 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll go now, indeed -> < 1197544918 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :actually I have another few minutes. And that seems to work smoothly. < 1197544980 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :What all would need changing to get a different chord sequence? < 1197544986 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :(of different length i.e.) < 1197545807 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1197545812 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :see rand_chord_ptrn < 1197545818 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :rand_rhythm_ptrn < 1197545822 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :rand_melody_ptrn < 1197545830 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the last one is where suckyness comes along < 1197545868 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1197545898 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... it just randomizes the melody completely, using the "good notes", or the notes best fitting for the current chord < 1197545919 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1197545944 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the chords are tuples, (base_note in [0..11], a number indicating the type of chord (0 for minor, 1 for major)) < 1197545999 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1197546020 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :less "built-in", more fun! (and prolly much much more chaotic :\) < 1197546065 0 :jix!n=jix@195.37.106.60 JOIN :#esoteric < 1197546157 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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... < 1197546694 0 :complexity!unknown@unknown.invalid PRIVMSG #esoteric :given a brainfuck program how can one find whether it is syntactically correct or not ? < 1197546731 0 :complexity!unknown@unknown.invalid PRIVMSG #esoteric :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 ? < 1197546988 0 :Slereah_!n=Slereah@ANantes-252-1-30-27.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1197547169 0 :jix!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1197547238 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :complexity: CORRECT < 1197547245 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :WHOOPS < 1197548070 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1197551526 0 :piksi!n=oaheleni@vipunen.hut.fi JOIN :#esoteric < 1197551595 0 :piksi!unknown@unknown.invalid PRIVMSG #esoteric :Please, play paranoid in a graphical form < 1197552055 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ascii form enough? < 1197552084 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i shall attempt < 1197552125 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :000.000.00.5.7.A.C.5.7.A.C * 4 < 1197552148 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :where . separates two notes, and a note is the number of steps upwards from E < 1197552163 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :with A... being the numbers 10... < 1197552170 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then, verse < 1197552183 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :C. * 16 < 1197552186 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :A. * 16 < 1197552223 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :F.AAA.C.___. < 1197552232 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sorry, failure there :) < 1197552241 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :A. * 8 in fact < 1197552249 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then, chorus < 1197552274 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :CCCCCCCC.8888.AAAA. < 1197552276 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basically. < 1197552287 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the rest is repetition, plus a guitar solo, which is prolly improvised < 1197552292 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :have fun listening < 1197552343 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also, irp in #irp < 1197552951 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't really get why that piece is popular, i've heard small children write better melodies :\ < 1197554542 0 :miiro!n=miiro@hkibrasgw1-feaadd00-120.dhcp.inet.fi JOIN :#esoteric < 1197554564 0 :tejeez!n=tejeez@dsl-lhtgw2-fea7dc00-42.dhcp.inet.fi JOIN :#esoteric < 1197555061 0 :jix!n=jix@dyndsl-091-096-046-214.ewe-ip-backbone.de JOIN :#esoteric < 1197555698 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :I hear the clicks, yes. I don't mind them though :) < 1197555706 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1197555722 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, good, they will go away once i make a better system for the waves < 1197555741 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Cool. I'm guessing a more complex timbre is in your plans? < 1197555744 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :currently, waves save information about their actual byte representations themselves < 1197555794 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so, they save their base, and their amplitude, and actually themselves apply them to the bytes they produce < 1197555816 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the problem is, when i start adding waves, i need to remove both those, add, and put them back < 1197555826 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... the routines have become quite cluttered. < 1197555849 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now imagine adding something to make waves start where the last on ended... uhhh the pain < 1197555912 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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) < 1197555920 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :base < 1197555938 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :means what value the wave flunctuates around' < 1197555941 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Hm. < 1197555942 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :flunctuates? < 1197555946 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Fluctuates. < 1197555949 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah. < 1197555951 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :They don't fluctuate around zero? < 1197555959 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, the sine waves do < 1197555968 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but the actual range is 0...255 < 1197555974 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Ah. I didn't check what other kinds you had. < 1197555987 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, as you may know, the sound is the same no matter what the base is < 1197556003 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... why the fuck would every wave need their own base :D < 1197556060 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1197556084 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and could gradually shift back to 128 during the playing of that sound. < 1197556119 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because the same wave is generally played for thousands of bytes, you can shift so slowly there's no way to hear it. < 1197556126 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1197556143 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh, never occurred to me :P < 1197556173 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, yeah, i think i'd've added that anyway once i'd made the wave objects "less raw" < 1197556179 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :having all the wave functions start at x=0 at the start of each note would solve the other half. < 1197556195 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :I think. < 1197556223 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the fading might indeed be a better way to do it < 1197556244 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but my idea is much harder to implement < 1197556245 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :! < 1197556249 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1197556313 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually, i think even if they are faded in, the optimal starting point is the point the last note is in. < 1197556343 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Hm. < 1197556377 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, let's say you shift out the same wave you shift in < 1197556393 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in that case, if you start at where the last wave is, it's perfect. < 1197556410 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since it's the exact same as if you'd just made the original wave twice as long < 1197556440 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, again, if we start at x=0, you will have a moment where the phase shifts. < 1197556460 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since the new wave starts from a different phase than the one the other is in < 1197556475 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :(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 < 1197556475 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :s could be asked for. < 1197556497 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Not sure if I'm being clear though. < 1197556545 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you prolly are, i just need a while to grasp anything < 1197556627 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :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? < 1197556640 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1197556658 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you mean, when i start the note, am i sending the wave function 0 or the number of cycles sofar= < 1197556659 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? < 1197556666 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1197556672 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :That's what I'm asking. < 1197556674 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sofar. < 1197556690 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, i do a bit of cycling there < 1197556712 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i go forward in the wave to find a good spot to start the new sound < 1197556720 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1197556743 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if the last note ended at 200, the note is traversed until it's close to 200, and going the same direction. < 1197556753 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i do all this in a very ugly fashion, as you can see at... < 1197556757 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait, i'll locate the function < 1197556773 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :get_bytes < 1197556781 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in hzSound < 1197556837 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's uuuugly < 1197556843 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't wanna look at ti < 1197556844 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it < 1197556858 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Clear enough. < 1197556882 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :clear, but ugly1 :D i'm calculating the average of the bases of the subwaves! :D < 1197556903 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the composer function doesn't use the feature, but you can actually play chords too < 1197556923 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :when you have multiple waves, you really hear the clicks and the bad quality of the sound < 1197556930 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :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... < 1197556972 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :volume ramping? < 1197556976 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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 :\ < 1197556986 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :jix: perhaps, i' < 1197556989 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1197556991 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1197557002 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :jix: perhaps, i'm doing this with no knowledge about waves in general. < 1197557044 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the problem is, the derivatives must also match. < 1197557068 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :don't know how crucial that is < 1197557089 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, i think it can be done by changing the base.... or volume ramping? whatever < 1197557103 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :That would be nice, yeah. I'm not seeing how to do that without using fade-in as well as fade-out. Dunno... < 1197557115 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :well volume ramping is when you end a sample you fade it out and when you start it you fade it in < 1197557125 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :over a very short duration < 1197557133 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :=> no clicks < 1197557135 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the problem is, playing the same wave twice would then create a pause < 1197557145 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :then you have to crossfade < 1197557154 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Playing the same wave twice SHOULD create a pause if they're two notes. < 1197557167 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :fade the first one out while fading the next one in (when you want no pause at all) < 1197557180 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :but dbc is right... normally there should be a very very short pause < 1197557189 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :If they're just one note, extended, it doesn't get faded out and back in. < 1197557238 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :crossfading might work, although i still think fading is the wimp way to do it ;) < 1197557261 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :well most software does volume ramping < 1197557268 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and no, there shouldn't be a pause, i don't want there to be a pause < 1197557279 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i want there to be a pause *optionally* < 1197557324 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :at least all the trackers out there use volume ramping to avoid clicks.... and the sound chip of the super nintendo does the same < 1197557326 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Well, you can put the note ends wherever you like. < 1197557336 0 :sebbu!n=sebbu@ADijon-152-1-10-151.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1197557345 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :and when you want no pause you don't restart the sample but just change the frequency that gives you no gap too < 1197557349 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the player should be able to achieve 100% legato < 1197557379 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the problem is you can give it any function, not just sines < 1197557390 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1197557391 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1197557392 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :well most software works with samples that's like any function < 1197557414 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :second <-> first. Sorry. < 1197557480 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : 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 < 1197557483 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, was gonna do < 1197557490 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1197557500 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: if you do it right it doesn't produce clicks < 1197557517 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, indeed, the actual wave functions themselves can easily leave their current value the same and just change frequency < 1197557553 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i was trying to do that for the actual compound wave at once by traversing it forward. < 1197557575 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dbc: yeah, was gonna add stuff like that < 1197557589 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :by making better waves < 1197557652 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :One more thing. Just incidentally. The ".au" sound format is very simple--you just have to add a 24-byte header, as I recall. < 1197557663 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and then raw data? < 1197557667 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1197557672 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :.wav needs about 80 bytes < 1197557680 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Just in case you want to output a file format that things will know what the hell it is. < 1197557705 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1197557709 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think wav is supported more widely < 1197557713 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Probably. < 1197557728 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a wav is nice to create... but hell to play. < 1197557731 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :80 bytes of what? < 1197557740 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ummm, well, crap < 1197557744 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1197557771 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't remember, read part of the spec when i was little, and wrote a c program to make random sounds < 1197557785 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :little... prolly older than half the people in here :\ < 1197557787 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Does it say "Copyright Bill Gates" as part of it? < 1197557795 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1197557810 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and... i've used the c program as the base of all my later wav things :D < 1197557822 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :have no idea what the bytes mean, and zero care < 1197557985 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1197557994 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :back then == the same afternoon < 1197558024 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i *might* just be able to conquer midis now, if i tried < 1197558045 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although, dunno how that would help. < 1197558075 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since i'll wanna make my own timbre anyway < 1197558078 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or "tone" < 1197559156 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1197559233 0 :bsmntbombdood!n=gavin@75-166-190-182.hlrn.qwest.net JOIN :#esoteric < 1197559682 0 :complexity!unknown@unknown.invalid QUIT :"ChatZilla 0.9.79 [Firefox 2.0.0.11/2007112718]" < 1197565445 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1197566762 0 :Slereah!n=Slereah@ANantes-252-1-30-27.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1197567772 0 :Slereah_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1197568190 0 :helios24!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1197568787 0 :helios24!i=helios@tomakin.quasar-net.de JOIN :#esoteric < 1197569192 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1197569826 0 :oklopol!n=ville@194.251.103.33 JOIN :#esoteric < 1197571111 0 :RedDak!n=dak@87.18.90.191 JOIN :#esoteric < 1197572668 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1197574061 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p526564465.txt i have no idea what happened, but i have a new player :\ < 1197574086 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :nifty? < 1197574112 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no < 1197574130 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but the format is quick for writing random riffs :D < 1197574156 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a-z0-9A-Z for notes, in that order, 0 being 440 hz < 1197574173 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :#(some float) specifies speed < 1197574181 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :not bad < 1197574214 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :#1 is 4 notes a second, 0.5 is 8 notes etc < 1197574411 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1197574483 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p116211461.txt xD < 1197574487 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm such a fucking mozart. < 1197574513 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i want someway to multiply in the code itself... and make that tc 8DD < 1197574629 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oh good lord < 1197574655 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :a musical programming language < 1197574674 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there's one where music *is* the language < 1197574689 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but haven't seen (a good) one for actual creation of music < 1197574709 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm totally addicted to composing on that now xD < 1197574715 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :guess i'll cook a bit more < 1197575410 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1197577656 0 :RedDak!n=dak@87.18.90.191 JOIN :#esoteric < 1197578013 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1197578858 0 :GreaseMonkey!n=saru@219-89-41-90.dialup.xtra.co.nz JOIN :#esoteric < 1197578868 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1197579564 0 :cherez!unknown@unknown.invalid QUIT :"Leaving." < 1197579647 0 :RedDak!n=dak@87.18.90.191 JOIN :#esoteric < 1197580456 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1197580520 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION finished his 99 bottles of beer. < 1197580523 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://membres.lycos.fr/bewulf/Russell/99Turingprog4.txt < 1197580539 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The interpreter being thar : http://membres.lycos.fr/bewulf/Russell/turingprog2.py < 1197580578 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :See if you can spot the many traces of lazyness and of abandonned sections of code that I forgot to remove! < 1197583979 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :* Slereah finished his 99 bottles of beer. < 1197583979 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric : HEREITs ojn teh webhttp://membres.lycos.fr/bewulf/Russell/99Turingprog4.txt < 1197583979 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric : ta;; iNTRpertre benig here:--~~> http://membres.lycos.fr/bewulf/Russell/turingprog2.py < 1197583979 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric : so youlooka t lazyness n abnondnd skt*zzzzzzzzzzzzzz* < 1197584514 0 :miiro!unknown@unknown.invalid QUIT :calvino.freenode.net irc.freenode.net < 1197584643 0 :miiro!n=miiro@hkibrasgw1-feaadd00-120.dhcp.inet.fi JOIN :#esoteric < 1197585964 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1197586416 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"Who keeps reincarnating sliced bread?!" < 1197587193 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1197587671 0 :Tritonio_!n=Tritonio@150.140.225.109 JOIN :#esoteric < 1197587784 0 :miiro!unknown@unknown.invalid QUIT :calvino.freenode.net irc.freenode.net < 1197588410 0 :miiro!i=miiro@hkibrasgw1-feaadd00-120.dhcp.inet.fi JOIN :#esoteric < 1197589283 0 :miiro!unknown@unknown.invalid QUIT :calvino.freenode.net irc.freenode.net < 1197589349 0 :miiro!i=miiro@hkibrasgw1-feaadd00-120.dhcp.inet.fi JOIN :#esoteric < 1197589350 0 :miiro!unknown@unknown.invalid PART #esoteric :? < 1197589350 0 :miiro!i=miiro@hkibrasgw1-feaadd00-120.dhcp.inet.fi JOIN :#esoteric