![]() |
|
MusicString - Tunes packed into a bunch of ASCII characters (WIP) - Printable Version +- Sinisterly (https://sinister.ly) +-- Forum: Coding (https://sinister.ly/Forum-Coding) +--- Forum: Coding (https://sinister.ly/Forum-Coding--71) +--- Thread: MusicString - Tunes packed into a bunch of ASCII characters (WIP) (/Thread-MusicString-Tunes-packed-into-a-bunch-of-ASCII-characters-WIP) |
MusicString - Tunes packed into a bunch of ASCII characters (WIP) - Frooxius - 02-14-2012 Hi there! MusicString is another of my many projects, it's an simple programming language designed for Music/Melody synthesis using a very compact ASCII strings (plus there's a compression version coming up, utilizing UTF-8), in another words - you can write music with just a few symbols! This makes it deal for pasting on Twitter, sharing in social networks, IRC, instant messaging or even putting to your signature or in the post. The language is quite straightforward, but allows simple loops (repeating parts of the tunes), playing several notes at once (basically by forking) or even subroutines with arguments and conditional execution. It supports several instruments and also soundfonts for your own sounds/instruments! (and you can use several soundfonts in one song at once!) Today, I finished the first working version of MusicString compiler and generated the first audio with MusicString ever. This is the MusicString that was used for the first one: Code: {test;a[$0.:3]a}abc{test:z}abc{test:8z}http://data.solirax.org/musicstring/First.wav Here's another tune, which sounds more like a music and less like a testing piece: Code: ->5dd.4abcfeg5ddd(bcd,egd)3dddefghaaabb(bbbc,ccca)5ddahttp://data.solirax.org/musicstring/More.wav For now, this is all, but stay tuned, because I'm gonna release specification and compiler binary soon, so you can begin making your very own tunes! ^^ If you're capable enough even now to understand the simple syntax of the MusicString language from the examples, feel free to type any of them here into the topic and I'll generate them now for you :3 I hope you'll like this project, 1llusion showed interest in integration with this forums using a bbcode tag [musicstring] So... stay tuned for more tunes! >:3 ------------------------------------------------------------------------------------------------------------------ UPDATE! Version 0.2.1a Please update to the new version, DOWNLOAD HERE [+] Linux binary is now available! The code compiles and works correctly both under Linux and Windows now, porting to Mac OS X is in progress [*] Fixed a bug that caused incorrect loops to be terminated by the [loopname] statement [*] Fixed a bug that caused parsing thread to hang by going into an unintended infinite loop under some circumstances UPDATE! Version 0.2a Please update to the new version, *snip* [*] Rewrote the parsing thread scheduling code and (hopefully) resolved all timing issues that way, also made code more clean [+] New noise generation, so it now has much better, frequency based noise and plucks! [+] Now supports statement [loopname] to terminate any loop with that name (you can try it with tune.mstr) [+] New and updated examples RE: MusicString - Tunes packed into a buch of ASCII characters (WIP) - 1234hotmaster - 02-14-2012 awesome music coding language :O RE: MusicString - Tunes packed into a buch of ASCII characters (WIP) - Frooxius - 02-14-2012 Thanks. I have another tune, which I created partially by randomly mushing keys on the keyboard, but it doesn't sound THAT bad, surprisingly x3 Code: 3>{0;pokcfghmrldslfdfsadewoiadajlekjadfadhfweiudadlkjhaeauhdfalkjdhfalsuehaldkjnxlmhldsakjhflkdsajfajhkhkjhkjhkjhkjhkjhkjhkjhkjhkkkkkhkhjkjhkjhkjhkhjkjhkjhuyiuyilkjhutkjoiytuytriyutyutabcdefghijklmnopqrstuvwxyzzzzzz...p.p.p.p.p.dlprmldflkj}(/{0:},^{0:},5|[rtt.:30],6=~[tTop:15],4=-[d...dd.....d.d.d....ddd.d...:30])Keep tuned, freely available MusicString compiler is coming soon ;-) RE: MusicString - Tunes packed into a buch of ASCII characters (WIP) - 1llusion - 02-14-2012 Can't wait until I can add the bbcode for it! Its awesome =) RE: MusicString - Tunes packed into a buch of ASCII characters (WIP) - Frooxius - 02-15-2012 It's here! Download the compiler! I just released the first public version of the MusicString to WAV (16b PCM) compiler! It takes plaintext file with MusicString code as an input and outputs a WAV file (16b PCM, 48 kHz), the length is capped to 30 minutes, so in case the MusicString loops forever, result will be 30 minutes long. It's packaged with a few examples, so try them out and then begin to make your own tunes! ^^ Don't hesitate to share them here with us! It's also first version, not all features are implemented yet and some are gonna change a bit, plus there are probably bugs, so sorry in advance if it crashes here and then or doesn't work as it should. RE: MusicString - Tunes packed into a bunch of ASCII characters (WIP) - Jacob - 02-15-2012 OH MY LORD! OOOOO; RE: MusicString - Tunes packed into a bunch of ASCII characters (WIP) - Frooxius - 02-15-2012 Jacob/Java - FTW: Eeer what? Oo I'm not sure if it's exclamation in terror, disgust or something else? RE: MusicString - Tunes packed into a bunch of ASCII characters (WIP) - Jacob - 02-15-2012 (02-15-2012, 11:09 AM)Frooxius Wrote: Jacob/Java - FTW: Eeer what? Oo I'm not sure if it's exclamation in terror, disgust or something else? i love this idea! I WILL become the next mozart, through WIP ^__^ RE: MusicString - Tunes packed into a bunch of ASCII characters (WIP) - Frooxius - 02-15-2012 Jacob/Java - FTW: Oh thanks ^^ Did you create some tunes already? Care to share? :3 Also did you try compiling some of the music that's packed with the compiler? Also, WIP stands for Work In progress, I got a feeling you mistake it for the name of project or something like that. RE: MusicString - Tunes packed into a bunch of ASCII characters (WIP) - Jacob - 02-15-2012 (02-15-2012, 11:52 AM)Frooxius Wrote: Jacob/Java - FTW: Oh thanks ^^ Did you create some tunes already? Care to share? :3 Also did you try compiling some of the music that's packed with the compiler? Also, WIP stands for Work In progress, I got a feeling you mistake it for the name of project or something like that. i didnt get to it, because i was on a different computer that didnt had speakers, and i couldnt find my headphones, but now its time to rock out with my C**k out ![]() and WIP - i kinda guessed at what it meant, and i was close (working in progress) is what i got. But could you elaborate further, what the parentheses are for, and the reason whole words are thrown about instead of them? Or is that just to musical purposes? i've got a question. how do you change the length of each tone? Im trying to recreate a simple version of "Fur Elise" by Beethoven, but the tones are just too darn long and i dont quite understand how you shortened them. Although i do understand the loops and variables ^_^ this is setting are variable right? Code: {variable;kakl897uo84u3irfjkdvmasdfjh34tgb}This is assigning a variable that uses another variable with operators and such to do other stuff Code: {var2; ={variable:}.>{variable:}.<{variable:}.}This is looping Code: %n (integer)
Example:
%n 6And this is similar to assigning a variable to a parameter within a function Code: ~{var2:}
_{var2:}
-{var2:}
+{var2:}I apologize for probably getting the comparisons wrong, this is really confusing to a personal with average intelligence ^_^ |