Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - cooliojazz

Pages: [1] 2 3
Computer Projects and Ideas / PMusic - Procedural Music Generator
« on: May 03, 2013, 03:34:39 am »
So a couple days ago, I randomly thought of how awesome procedurally generated music would be, and when I looked, there is a (in my opinion) surprisingly small amount of these kind of things. So I decided to write one for fun. Right now, it is very very random sounding and it doesn't really flow at all, but it can still be kind of cool sometimes still, especially when you keep in mind it's all randomly generated :P I just started this, so it is very early, and will probably change a lot in how it sounds, but this is a very early showcase of how awesome this can be. Right now it loads up with the seed 666 by default, but you can change that. Everything about the song is randomly determined based on the seed. The program is written in java, and attached below. So try it out, and maybe post some of your favorite seeds and stuff!
Note: Large seeds work better!

Now, for those interested, here is a quick overview of he current process:
1. First, it chooses a random tempo (50-170bpm) and a random root note.
2. Based on that root note, I have a formula which transforms the set of integer numbers into the notes on a major scale based on the root note
3. For each measure, it first chooses a root note for the chord for the measure (based on the aforementioned formula), and plays the triad based on that note and in the scale for the root note. Note that I took out it choosing the seventh (a diminished chord) for now because when randomly stuck in there, most of the time it just sounds odd.
4. There are 32 ticks, or steps, in a measure, and each tick is equivalent to a 32nd note at the chosen tempo. So it then figures out how to fill up those 32 ticks with random length note from the chosen triad, varied randomly by octave, choosing lengths between half notes and thirty-second notes.
5. There is also a simple static drum beat, just to keep the sometimes very weird off-beat things that can happen from getting too disorienting
And that's about it for the current version! I hope to start adding things that make the notes and measures more dependent on each other to really make everything start going together better, and also add some generic formulas for some additional melodic parts to the song. There's also quite a few bugs I know of, but for now, enjoy!


Music Showcase / "Time at Last" + "Mhmm, and?"
« on: February 10, 2013, 04:43:23 pm »
Just a couple new songs i've been working on, both unfinished, in a bit more of a chill style.

Time at Last -
Mhmm, and? -

OmnomIRC Development / Omnom Bug?
« on: December 27, 2012, 11:57:31 am »
Ever since this morning, all OmnomIRC does is spam "[Invalid Date]   *   " with a blank message.  Is this a new bug, or is my browser somehow freaking out?

Minecraft Discussion / CitiesMod
« on: December 24, 2012, 07:37:49 pm »
Okay, so I got into a discussion with my cousin about Minecraft things which ended in her convincing me to try to make something cool around generation.  So I did.  All yesterday afternoon while I was at their house, I worked on a Bukkit plugin which replaces the terrain generator with something that basically just renders an endless city.  If anyone's ever seen
that video was kind of the inspiration/basis of the idea.  There are still quite a few bugs that I'm working on, but I thought I'd post about it because it still looks pretty cool.  Below are the plugin, and a world with a few chunks of it generated if you don't want to load up a server to look at it.  If you use the plugin, you'll need some world plugin such as Nomcraft /shamelessselfpromotion or MultiWorld and teleport to the world "City".


EDIT: I should add some more info about the process for those interested.

Basically, each chunk consists of a building(s) and some road.  A single chunk per intersection seems a little small, and it looks a bit off, but for how much easier that makes it, it looks good enough.

The road is simply a four block border around two adjacent sides of the chunk (blocks 12-15 to be exact) with streetlights at regular alternating intervals.  This stuff is all pretty hard-coded, and pretty boring, but necessary to look good.

The buildings are randomly generated based on a sort of set of templates.  It first chooses a random height between $minsize and $maxsize where $minsize is 3 for shorter areas and 5 for taller areas. $maxsize is determined by a 3d sine-function-mixture based on the X and Z of the chunk being rendered, to give the "city" areas of taller and shorter buildings.  Then a width and length are randomly chosen between the same $minsize and a different $maxsize which starts at 12.  Then a material is chosen, always black wool for the taller buildings, but sometimes brick or wood for the shorter ones, which adds a nice feel to the alternating sized areas.  Then the walls are created, randomly either in the full style or cut-off-corner style.  The blocks are alternated randomly between the building material and glass, for windows.  There is a column of glowstone placed at the center to attempt to light the buildings, but because of how minecraft's lighting currently works, it sometimes breaks.  Some "floors" of stone are generated every three blocks.  Then a roof is chosen, either flat or peaked, and is placed on top.  If the building has a flat roof and is tall enough ($height > 40) it has a chance to additionally get come lights on top of the building.

After it generates one building, it checks if any more could fit inside the chunk, and still be greater than the $minsize.  If so, it goes back and creates another building with a new $maxsize.  This repeats until the chunk has been completely filled with buildings.  And this repeats forever.

I hope that made sense to anyone interested.

Miscellaneous / Time-O Freeze-O Man
« on: December 16, 2012, 03:17:17 pm »
It's a long story of how I actually got convinced to do something i dislike as much as I do (writing) for such a long thing with no real purpose, but I've kinda gotten into writing this story =P  I just thought I'd shre the first bit of progress I've made so far because I'm kind of enjoying and liking this O_o  Without further ado...
**Note- it lost a lot of the formatting and whatnot, if you want to see it better cause i'm to lazy to add it all in, download the .odt below.  And yes, I DO know what paragraphs are, i just have no idea how to use them ;P

The Adventures of Time-O-Freeze-O Man

Written for one B. E. W., you made this all happen

– Prologue –
“Where introductions are made”

   In the beginning, the was the void.  Then the world was created out of it, along with everything that needed to be there.  That whole deal puttered along for a long time, having some fun and plenty of problems.  Then, finally at the peak of everything, came Luadon.  Now, don't be confused, Luadon wasn't anywhere close to being the pinnacle of humanity, he just had the misfortune of being born into this time period.  I say misfortune, because while the rest of the world was off getting drunk off how how dang awesome the human race was, he sat alone at home, wondering what all the hubbub was about.  Which is how he happened to be sitting there, at his desk, in his room, when the greatest idea of all time presented itself to him.  It really is a shame, because if he was a tad bit more intelligent, or resourceful, or outgoing, or didn't literally spend every waking moment cowering in his home, this idea on it's own could have changed the fate of EVERYONE.  Humans could have been out partying among the stars, or really anywhere really, for eternity, instead of dying along with their planet in a few more millions of years.  Sadly, Luadon was none of those things, and when this idea struck him, instead of spreading it for mutual greatness, he instead jumped and and started dancing wildly around his room.  He might have also occasionally clucked like a chicken, but he wouldn't want me to be telling you that.  The idea was so powerful, when he grasped the even the slightest part of it, he screamed like a maniac "I AM GOD!!!"  Now, if his neighbors had heard this, they would have for sure assumed he had snapped and instantly called the police, but they were off partying with the rest of everyone who was a person, so they won't come into this story.  Luadon, on the other hand, is the main character, so we need to stay on track, and being on track means I have to tell you the next part.  I really don't want to because of how sad it is, but it is my duty as the relator of this story.  The easiest way to grasp the idea that was imbued upon him was how wishes worked.  And it was such a complete understanding that he could instantly do anything he wanted with them.  As he realized this, he tried it, he wished for an apple, then granted his own wish, watching as an apple materialized in his own palm.  Now, once again, if Luadon were your normal people, who were instead out living life in the greatest way possible, he would have changed the world, but no.  Of course not.  He just couldn't be, could he?  Instead, he gave himself complete dominion over time, in such a ridiculous fashion that anyone watching would have immediately realized that the god complex had completely gone to his head.  But once again, there was still no one watching, because every sane person... Okay we're done beating that dead horse as of now.  Instead, we shall beat Luadon's in for then proceeding to rewind time 10000 years, to a period of time when such a glorious and perfect idea could not possibly exist, which any NORMAL person would have realized.  But nope, he went and wasted that idea by going somewhere the idea could not.  And when he realized this, it was too late.  For as complete as your control of time may be, you cannot everevereverever go forward in time.  And so we go to him now as he enters the 21st century, and we will watch as he attempts to...  Hell, who even knows what he will try to do, the workings of his mind are far beyond me.  Oh, quickly, quiet, here he comes now!  Let us observe...

– Chapter One –
“Where stuff starts to happen”

   Luadon came strolling down the street, casually as any other average Joe you might find of the street, except for one aspect.  He was completely naked.  Now, while in the one-hundred-and-second century, they might have realized just how silly tightly wrapping yourself in cloth really is, here in the twenty first, no such epitome had occurred.  So when I say casually strolling, I am talking only about him, not the innocent observers around him who were very much anything but casual.  Most were screaming out to call a police officer, but the one who we are acutely concerned with is a business man named Frank.  Frank Gooternie too be exact.  But most of his friends just called him Gooney.  I mean, of the three friends he had (acquaintances, to be more exact), two called him Gooney as an inside joke, which we will count as technically the majority.  Any more than this, he didn't have time for, the status of the accounts he was in control of at the finance firm were much to delicate and important to warrant free time.  Which is why, when on his morning walk to work he saw this naked idiot causing a disturbance in the way of his path to the ever important work, he was not pleased.  Not pleased at all.  In fact, he was so displeased, that he decided the only logical course of action was to show this moron why you do not cause a scene in the middle of the street, in the middle of Denver, and most importantly, in his path.  Gooney (I'm one of those two in on the joke, it's a long story) started shoving his way through forming crowd, wondering why so many people were gathering, and why the police still had not been called with how many people were demanding it.  He finally reached the middle, and upon achieving this miraculously feat, he strode right over to Luadon, who still seemed pretty oblivious to everything going on around him, and punched him square in the face with all the power he had developed from all the typing he did, wishing with all his being that he could truly destroy him.  Okay, so it wasn't very powerful, actually, in fact, in may have very been one one the most pathetic punches in all of history, but I don't have a reference guide to punches on me to check, I really need to remember to finally buy one.  But the important part was not the really-quite-sad attempt he made at physically harming the intrusion to his carefully crafted world, but the wish he made when his fist contacted Luadon.  Yes yes, I know I said said such marvelous ideas cannot work in a time such as this, but there was still barely a residue of it hanging on Luadon's being, not enough to make the wish of death come true, but just barely enough to unlock a bit of potential Gooney had towards that end.  Well, little to the true possibility of the original idea, but still enough to jolt him into the air, and make some intense lights come out of him for a good few seconds.  Luadon's attention was finally brought to the real world with the feeling on his face, and upon noticing the light show above him, decided to make a break for it, before something else happened in this crazy world he had stepped into.  The crowd didn't care, they now had a new distraction to feast upon.  And what a distraction it was!  Although he had stopped shining, Gooney had started spinning around wildly while still remaining suspended ten feet in the air.  Then in an instant it was all over, he was back on the ground, sprawled out, looking for all intents and purposes completely dead, the crowd around him similarly silent.  Awkward moments passed while no one knew what to do, until someone decided that it better be determined whether the object of their fascination was really dead or not.  A man stepped out from the crowd and went to go poke Gooney,  but as he approached, the dead body suddenly sprang to life, and quick as anything, jumped up and grabbed the man around his throat.  “Where. Is. The. Man. Who. Disrupted. My. Routine?” he rasped.  The man whimpered.  “No answer?  No worries, there's plenty of you, just like all the files I have to get back to once that man is DEAD,”  and with a quick twist, Gooney snapped the man's neck, depositing him where Gooney himself had lay moments prior.  “So who's next?”  was his next reasonable request.  The crowd did not think this quite as reasonable as he did though, and quickly fled screaming, most with their hands in the air, looking like a badly drawn terror crowd scene.  “Where in the world did that interruption get off to?” Gooney screamed to the clouds, seething with frustration as it started to pour.

*   *   *

“Where in the world am I?” Luadon wondered as he wondered towards the end of the alley.  At first, he had just tried to take as much of this wondrous place, so filled with things, so different from the clean and sterile villages he was used to.  And so many people!  He had never been one to get much into that “celebrate humanity” movement, which as far as he knew, basically everyone else was, so he hardly saw anyone.  But as it began to rain, wonder turned into annoyance.  “Why is it raining inside of city limits, is their weather control out of order?” he wondered aloud.  “Well, we have another delusional one on our hands.”  Luadon spun around to see one of the filthiest human beings he had ever laid eyes on.  Which wasn't saying a whole lot as in his time, everyone was micro-cleaned and sterilized daily and hardly anyone went anywhere where the possibility of contamination was a threat.  But even for the dirtiness of this time, this man was one of the dirtier ones.  His clothes were torn, and he wore a ragged baseball cap pulled most of the way over his face.  “The name's David, and you might want to put on some clothes and stop muttering to yourself if you don't want be locked up in the crazy house,” the man said, extending his hand in a friendly gesture.  Luadon stood there staring at David's hand, wondering why he kept holding it there, what was the purpose of it all.  Frustrated, David exclaimed, “Well, aren't ya gonna shake it?”  “Wait, you mean... You want me to... to... grab your hand with mine... and shake it?”  “Well of course, ain't you never shooken hands with noone before?” “Of course not!” Luadon cried.  But then he thought about it, and figured offending the natives might not be the best thing to do at the moment.  Maybe he hadn't quite understood the previous interaction he'd had either, but it hadn't seemed terribly friendly.  So he begrudgingly extended his hand, an suffered through a whole handshake.  “You know, you're a weird one you are, but there's something about you that I can't quite place.  You're almost too weird, if ya know what I mean.  Like ya don't belong here or sometin.”  Luadon fell back against the wall and sank to the ground.  “You don't know the half of it...” he started, before trailing off as he drifted off into a deep sleep.  Now, I refuse to divulge any interference I definitely did not make, but when he awoke, he would find himself tightly wrapped up in all that extraneous cloth, and David with a quick summary of events, and instructions on what to do next. I had other places to be.

General Calculator Help / Corrupt os?
« on: December 12, 2012, 02:09:15 pm »
I originally thought i found a bug in 2.53, but i tried on 4 other calculators with various oses (2.43,2.53,2.55) and it didnt work on any of them... anyways, i was just mashing keys for randomness, and i pressed [^-1][^2][^-1] then anything which would add to the statement (numbers, operators, etc.).  It sends the calculator into some endless calculation or something that cant be quit out of. (Battery pull time!)  This action is persistent through ram clears, but i have not noticed any other errant behavior in the last long time besides just discovering this.  So I wonder how/why/question everything!!

Music Showcase / Descriptors
« on: December 06, 2012, 10:42:19 am »
I've pulled together a lot of songs I've written over the last couple years to bring Descriptors, my second album! Woo! you can get it/listen to it here.  I'm working on a video for Game of Life (10 points if you can guess what it will be of) but who knows if/when I'll actually finish that, haha.  Video stuff is not my cup'a'tea.  Anyways, enjoy!

Site Feedback and Questions / [code=
« on: November 28, 2012, 01:10:39 am »
I wanted to know what is up with code tag.  For me, whenever someone writes
Code: [Select]
[code=XXXXX] it always just shows as
Code: [Select]
Array  But other people say it actually displays correctly for them still.  So do other people have this problem, or am I just crazy? (Also, if i'm not, why would it work for some people but not others?)  (And what's the problem?  because it looks like a bug really)[/code]

Music Showcase / 3.2 Time
« on: November 03, 2012, 02:32:42 pm »
Check it out!  Pretty far off my usual style, but fun.  Seriously tho, if anyone actually gets what the title is about, you are me.

Minecraft Discussion / Your Bukkit Mods!
« on: August 25, 2012, 01:56:34 pm »
Who else writes Bukkit mods? Post about them here!

I wrote Nomcraft!  It is an extremely extensive mod doing things like multi-type multi-worlds, irc connection, pm system, guilds, warps, map rendering (with normal and cave modes), etc etc.  I can't even list all the exact features cause I'm still to lazy to actually go through and write them all down XD  If you want, you can browse the source in the svn to try to get an idea of everything, or download it and try it out! =D

TI Z80 / [Contest] ZAMPO
« on: June 27, 2012, 01:17:26 pm »
Okay, I finally fell like my project has enough progress that I might finish it on time, so... Here we go!

ZAMPO (Zombies Are My Plus One)
"...In the year 2015, the scientist Yarlton Pachanco discovered a way to resuscitate dead bodies with a virus that took over the host and forced it to act as a primitive animal as to survive and benefit the virus, becoming creatures although not truly alive, were definitely  not dead.  He termed them, appropriately enough, "zombies."  For a while, they were tested for the extent of their functionality, the extent of the virus, (which luckily enough, could only infect a victim whose immune system is basically non-existent, or gone, any decent one could easily wipe it out), and other interesting things.  But the more Yarlton saw, the more he was convinced that there was something behind their bestial demeanor.  Maybe it was the virus somehow unlocking some small part of the dead's brain, or maybe it really had a mind of it's own, but whatever the cause, he realized he had accidentally created some new life form with at least a bit of intelligence.  So Yarlton began campaigning for the recognition of zombies as beings alongside "normal" humans.  Of course, most major religions immediately launched a counter-campaign against something which appeared to bring the dead back to life with science, and wanted to recognize them as such, and the CDC smeared the campaign with the fear of wide spread zombieism.  It didn't matter how many times Yarton and his fellow scientists found ways to prove that it couldn't infect the living, they couldn't stop the CDC from mapping out the apocalypse starting from the time zombies were allowed out of a lab setting.  Yarlton became enraged with the amount of opposition he received, and started spending more and more time hiding deep in his lab.  He started developing plans for strange buildings, and improvements for the zombies which started causing the other scientists to become very concerned for him and his sanity.  They would query if he was okay, and he would just push past grumbling, "Yeah yeah, fine, whatever.  I need to get back to work."  Eventually, they all couldn't take it any more, and he was left alone, just him and the zombies, as he put the finishing touches on his plan.  "If they won't willingly accept you," he addressed the zombies, "I'll force them to.  Even if it takes making them all zombies too!"..."

Achievement get! Storyline acquired!
Error!  No other achievements to load at this time! Check back at a later date for things such as gameplay, screenshots, and details! ;P

Music Showcase / The Light in the Dark
« on: May 17, 2012, 12:00:53 am »
So I've been letting a lot of my stuff just kind of stagnate on my computer for a while now... So I decided to fix that!  I finally finalized some stuff, and here's the result: CJ's "album" #1, The Light in the Dark! Download  And more to come!  This includes some of the first stuff I made, along with some fairly recent stuff which fit.  Soon, I'll probably finish Descriptors, which is all the stuff in the middle =P

The Light in the Dark
1. The Everlasting Night (Sadly low quality, and as far as I know the project file is lost forever D=)
2. FlameBright Soul
3. Mysteries of Color
4. The Light in the Dark
5. Miscellaneous 101
6. Rain Drops Revisited

Computer Projects and Ideas / GDF - Global Data Format
« on: March 12, 2012, 01:11:38 am »
A few projects ago, I was thinking how I really didn't have any good ways to save data, and I was too lazy to do all this fancy data storage stuff, especially between languages.  So I made GDF, which is just a really basic file format, that I am making libs for in various languages.  Yes, there's probably lots of things like this out there, but oh well, I like this! So there.

Quick description:
There are 5 data types, integers (32 bits), longs (64 bits), floats (32 bits), double (64 bits), boolean (8 bits), strings (X bits)
It is stack based, working on an array (stack) of entries, each entry consisting of a data type and a value.  There's really not much more to it.  I have the java and php versions done (done != bugless) and am working on a version in AXE just for fun, though I don't know if I'll finish that as GDF isn't really meant for that structureless of a language, plus the whole really big numbers that the calc doesn't like thing, so we'll see...

Code: [Select]
/* PHP code */
$gdf = new GDF();
$gdf->readGDF(fopen("test.gdf", "rb"));
echo $gdf->getSize() . " total entries.<br><br>";
while ($gdf->getSize() > 0) {
    $cur = $gdf->rpopEntry();
    echo "<br><i>" . DATATYPE::toString($cur->datatype) . "</i>: " . $cur->value;
Reads and prints all entries in a gdf file called "test.gdf" (html formatting)

Code: [Select]
/* Java code */
try {
    InputStream mr = new FileInputStream(new File("test.gdf"));
    GDF gdf = new GDF();
    System.out.println(gdf.getSize() + " total entries.\n")
    while (gdf.getSize() > 0) {
        GDF.Entry entry = gdf.rpopEntry();
        System.out.println(entry.datatype.toString() + ": " + entry.value);
} catch (Exception ex) {
Same thing as before but in java to the standard output stream.

There's a bit more to actually saving etc, but I have almost everything pretty well documented, so it should be pretty easy to figure out.  Maybe I'll add more sample later.
The zip includes, the java source file, and, the php source file.

TI Z80 / Unreal Notator
« on: November 10, 2011, 12:38:31 am »
If some people remember a long time ago, back when was posted, thinking, "That looks interesting wonder what it really does?" The wait is now over.  Months later :P  I felt like actually working on something for the calculator the other day, so I chose one of my random unfinished projects, and this was the lucky winner.

Unreal Notator - A basic musical notation program for your calculator.  Right now, it allows 2 things, viewing the score and playing the score.  Atm, the notes are hardcoded in.  Right now, it's just a simple D major scale in Quarter, Eighth, ...Eighth, Quarter, Eighth, ...Eighth, Quarter form, but this can be changed for purposes of fun-ness by editing the line ?List(2,2,...50)?Str1. The format is (Half-steps up from middle C, length in log2(1/(length)) eg, whole note = 1, quarter note = 2) with a 50 to mark the end.  In the program, press the r/l arrow keys to view different parts of the score, and press enter to play the song.  That's about it for this version, still a ton to add, but this should be a good demo :) (Note: for the note wavelengths, I'm using a cubic approximation, which is decent for the lower notes, but by the 20-30s, it starts getting really out since I can't use the accuracy in axe that I would need for it to stay precise out there)

Things coming - Loading saving songs, editing songs, song tracking (move as it plays), better wavelength approximation formula?, awesomeness.

Edit: Screenie! Obviously without the sound, but...

News / Survey
« on: September 30, 2011, 12:33:35 am »
Hey everyone, just wanted you to be aware that I (Cooliojazz) am abusing Omnimaga for a survey for my stats class.  So I will be sending a pm to 60 of you randomly asking you to visit a webpage and answer a very simple question.  So if you get one, and don't mind taking part to help me, please visit it and answer :)  Also, anyone else who wants to join, I'll collect a separate set of data and report them out combined to you guys later, so if you want, visit Also, those who are asked or choose to participate, please dont't abuse it, take it once and be done.  kthbai!!
EDIT: I apologize to those of you who got PMs, I totally spaced out the bbc and wrote it as html with brackets XD  Also, if someone gets two, im sorry, my script isnt perfect, please smack me then move on.

Pages: [1] 2 3