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.

Messages - cooliojazz

Pages: [1] 2 3 ... 41
Nuuuu, not being hunted and killed is a thing I would like to do  <_< But yeah, I haven't been terribly active on Omnimaga for a while now, lots of lurking. Yay.

As for the recent posts page, it's coming, but it's not here yet, so you'll just have to deal with what we have till I finish it, which will hopefully be fairly soon.

Site Feedback and Questions / Re: Omni Feature Request
« on: March 05, 2014, 10:47:29 pm »
Yay, I think I fixed all the issues! So feel free to use the [tex] tag to make all your math look awesome! And as a sample:
\begin{split}a_{1}& =b+c_{2}-d\\&
\quad +e-f_{5}\\&
\cfrac{z}{\sqrt{2}+\cfrac{1}{\sqrt{2}+\cfrac{1}{\sqrt{2 + \cfrac{x}{y}}+\dotsb}}}\end{split}

Which was made from
Code: [Select]
\begin{split}a_{1}& =b+c_{2}-d\\&
\quad +e-f_{5}\\&
\cfrac{z}{\sqrt{2}+\cfrac{1}{\sqrt{2}+\cfrac{1}{\sqrt{2 + \cfrac{x}{y}}+\dotsb}}}\end{split}

Site Feedback and Questions / Re: Omni Feature Request
« on: March 05, 2014, 04:57:10 pm »
Other than that though, you can use [tex]tex code![/tex] to type latex formulas now. For quirks and specifics of what it will and will not handle, check out MathJax as that is what it uses for conversion to MathML/HTML.

Did you or albert ever move it, or is the IRCD still in my home dir? Cause I just left it there when I set it up oh so long ago and last time I checked it was still there XD Probably not the best place to store that I feel though, especially since I don't exactly manage it anymore. XD

Not terribly actually :P I was already using midi to play the notes, so I just needed to redirect them to a file. I was already planning on doing that, but you hurried that to the foremost task haha. New version!

New stuff
-There are now modes. Instead of choosing chords 1-6, it will either choose chords 1-5 (Major mode; 3 major, 2 minor), 2-6 (Minor mode; 2 major, 3 minor) , or 3-7 (Combo mode; 2 major, 2 minor, 1 diminished). This makes it more likely for a song to have a more definite feel. The mode of the current seed is displayed in the title bar.

-Midi exporting! When the Midi Export checkbox is checked, every time you change the seed, all the notes played since last time you changed the seed are exported in midi format to the file "[seed].mid" where seed is the current seed. This may seem a bit weird, to only save when changing seeds, but for simple automatic exporting from an infinite source, it only makes sense to save when the source changes :P (Or stream the data, but psh, who writes those kinds of systems ;) Seriously though, diong this would require me to not abuse the built in midi file writer, which im not ready to move away from quite yet.)

-Lots of minor things about how exactly it changes seeds which you probably won't notice unless you are very closely paying attention XD

New version attached!

NOTICE: I am 100% not responsible for the huge amount of files that will be generated if you turn on both exporting and shuffle and leave it running for an hour (That would generate ~120 files for those curious). *Cooliojazz runs*

haha, isn't it? And 9223372036854775807 (Long.MAX_SIZE) is the largest possible seed, though theoretically it should let you type in any size of number, it just might crash when you click change :P

Yeah, but isn't that kind of the cool thing about generated music at the same time? Someone who is willing to spend time listening can always find cool new things at every turn.

Watch as I change one tiny thing and every seed sounds completely different, MUAHAHAHAHAHA!!! Actually, not really, mostly this update just makes each seed a bit lower in pitch.
Major changes: Added a shuffle method which automatically increments the seed every 30 seconds, for those who quickly tire of the same seed. Added a bass part which plays quarter and eighth notes on the root of the chord, varied by octave. Added a drum checkbox for those who dislike the drums playing.
Minor things: Balanced parts a bit. The root note has a slightly smaller range of values. Made internal code more awesome.
New version is attached. Should I leave the old versions attached to the other posts in case someone likes the old versions better or something for some reason?

Scipi: Nice one! What seed is that?
Juju: Huh, yeah, that looks like an internal jre error.  :-\

Thanks guys! I think it's pretty cool myself :P
ben_g: I think that might be cool too, but I'm not sure how I would do something like that inside the procedural generation itself. Since measures are repeatable (giving the same measure number and seed will give the exact same notes every time) though, it would be easy to add a feature like that in the interface part.
aeTIos: I could, and I was actually planning on having them change with the mood and stuff too; on my "To-do" list. I mostly made it have the drum track in the first place because with how random it is, sometimes with a ton off offbeat stuff, it got kind of disorienting. It's getting better now, though, and will probably to continue to do so as I develop the algorithm, I hope.
Juju: What's wrong with it?

Here's a new version: I added dynamics variation and changed the background chord to strings. I also changed the note generation (and the new dynamics variation) to Perlin noise instead of completely random, which seems to "flow" a bit better. I even added a bit more to the gui, such as a little label that tells you the current note and chord being played! Lastly, I disabled 32nd notes for now, as they mostly just sounded odd.

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!


Java / Re: Creating .8xp programs (Axe) in Java
« on: March 29, 2013, 01:53:17 am »
Like this:

Code: [Select]
ProgramFile pf = new ProgramFile();
pf.Tokens = "YAY! TOKENS!";
pf.Name = "TOKENPRG";
pf.saveFile("Cool File.8xp");

Java / Re: Creating .8xp programs (Axe) in Java
« on: March 27, 2013, 02:14:46 pm »
Java. Here is the com.up.ti package. This is the source, so if you can't figure out how to directly use, you can maybe just extract the read/write routines. Or if you need more help using this just ask.  Note: There is the PictureFile class in there, and also a Real class, they arent actually needed for the program stuff, but theres some references that would break if i took them out, so i left them :P (actually, there are quite a few excess classes that are there for multiple file-type stuff. if they really bug you, i can give you a version without them)

To read a file:
Code: [Select]
ProgramFile pf = new ProgramFile();
pf.openFile("Cool File.8xp");
pf.Tokens //String-ization of all the tokens
pf.Name //Program name
//To get a short[] of all the bytes of the program:
//To load a custom token set (see the file syntax in the main tfe thread)
short[] temp = pf.ts.stringToData(pf.Tokens);
pf.ts.changeTokens("Custom Tokens.tokens");
pf.Tokens = pf.ts.dataToString(temp);
//Or easier
pf = new ProgramFile();
pf.ts.changeTokens("Custom Tokens.tokens");
pf.openFile("Cool File.8xp");

So have fun!

Also: Credit would be appreciated :P

Java / Re: Creating .8xp programs (Axe) in Java
« on: March 27, 2013, 11:35:02 am »
would you like the back end from tfe? i already kind of have it almost in a library form (since i was planning on making it a library eventually anyway)

Axe / Re: Ti Basic to Axe
« on: March 24, 2013, 11:07:18 pm »
First of all: There aren't really any "data types", everything is all about byte arrays and how you use them. And now that I've said that, let me tell you what the data types are :P
There are 8-bit or 1-byte numbers which have a signed range of -128 to 127 (equivalent to a java byte) or an unsigned range of 0-255. Note that unsigned and signed aren't really any different, it's all about what commands you use with them.
Then there are 16-bit or 2-byte numbers which have a signed range of -32,768 to 32,767 (equivalent to a java short) or an unsigned range of 0-65,535. There are also 8.8 fixed point numbers, which are also 16-bit, but have a signed range of -128 to 127 and also have a fractional part with a resolution of 8-bits, for representation of decimal numbers. These are not the huge range floating point numbers you are used to, but they can still be very useful at times.
Next, about the guide, have you read the pdf included in the axe zip?

General Calculator Help / Re: TI-84+ SE Menu
« on: March 17, 2013, 08:19:21 pm »
Not in the latest version, in the latest i think the limit is either 12 or 13

EDIT: Just checked, it's 13. Source:

Pages: [1] 2 3 ... 41