free MP3s recorded of codesimian: fractalSound1.mp3 b.mp3 c.mp3 d.mp3 but its more fun to create your own...

Start CodeSimian NOW (applet)

limited by internet security,
not all parts of CodeSimian work here.
Requires Java 1.5 and 2 ghz CPU

Download CodeSimian NOW (JAR file)

WORKS BEST. click OPEN,
or click SAVE then double-click CodeSimian.jar
Requires Java 1.5 and 2 ghz CPU

Sounds and Audio created (or modified) by CodeSimian

write your own sounds and immediately hear them.
CodeSimian doesnt know what a note or frequency is, but it does know what an equation is.

Intro/Tutorial | SourceCode | FAQ? | ListOfCommands | ~~Sounds/Audio (generated by equations)~~ | PlayElectricGuitarWithTheMouse | FREE MP3s (play and modify them with CodeSimian) | Pictures | Javadoc/TechnicalDocuments | CompareToJava | Plans (what to build) | RootClass | 1 Type | SystemReq | Humans | DNA | Bugs/Flaws | Wiki | Def | my resumE (give me a programming job) | Contact

Skip to playing/modifying MP3s

Where can I get free mp3s?


The simplest code that plays a sound is: sound(sine(count))
sine(count) is a simple oscillator, which is a different number between -1 and 1 every time you look at it. sound(x) plays x as a sound. It looks at x 22050 times per second (22 khz audio). x can be a complex equation, like sine(*( /#div(*#c(count 2) 44100) +(div 135 *(6 sine(c))) )) but it works the same way. *(...) contains 2 things: /#div and +. Each time you look at *, it looks at / and +. sound(sine(*( /#div(*#c(count 2) 44100) +(div 135 *(6 sine(c))) ))) plays that complex equation on the speakers.

CodeSimian currently does not have the ability to record audio. These audio recordings were recorded by other software while CodeSimian played audio on the speakers.

Sounds you can play in this webpage, download and listen to, or copy/paste into CodeSimian (download) to generate, and modify after you generate (its simple and fun, try it!):



This *** fractal sound (download) *** is either of these equations, depending on what the sound quality is set to, 22khz or 44khz:

22 khz (default):
sound(sine(*(  /#div(*#c(count 2) 44100)  +(div 135 *(6 sine(c)))  )))
 -or-
44 khz (recorded at this frequency long ago when this was the default):
sound(sine(*(  /#div(count#c 44100)  +(div 135 *(6 sine(c)))  )))

Here's an other fractal sound (recorded at 44khz instead of the default 22khz): fractalSound1.mp3
or click play below (assuming your web browser knows how to play MP3s):




Here are some sounds made with equations + moving the mouse and clicking its buttons.

download Electric Sound 1

download Electric Sound 2

They were both made with the same equation which is similar to this (not exactly because code has been updated):

do(
	window#play_electric_guitar_with_mouse(
		mousePanel(.5#x .5#y 0#m1 0#m2 0#m3)
		300 200
	)
	sound#snd(do(
		=D(1#a +(1#d *(5 1#c d x)))
		=D(1#b +(b *(.01 y)))
		=D(c delay( sine(*(a 5)) 7) )
		=D(d delay( sine(*(b 5)) 4) )
		if(m1 =D(d delay( sine(*(d 5)) 8) ) 0)
		=D(c delay( sine(*(c d .5)) 9) )
		=D(c +(c d *(b .037)))
		if(m3 =D(c +(c 2 delay(d 44))) 0)
		=D(1#e sine(  delay( delay(c *(.003 d b x)) 7 )  ) )
		sine(*(e  delay(e 2) delay(e 63)  ))
	))
)


Copy/paste the above code into CodeSimian.JAR to play simulated electric guitar with your mouse.

M P 3 s

Play and modify some MP3s... Applet can only load files from the internet (http://), not your hard-drive (C:\\)


sound(mp3("http://codesimian.com/a.mp3"))
(plays a.mp3 at normal speed)

sound(mp3("http://codesimian.com/a.mp3" *(-2.2 count)))
(plays a.mp3 backwards at 2.2x speed)

if(ask("play a certain mp3 on your hard-drive?") sound(mp3("C:\\music\\yourfile.mp3")))
(plays yourfile.mp3 only if you click YES)

Where can I get free mp3s?



Because mp3s are complicated and compressed, CodeSimian uses JLayer to decode the bytes of mp3s instead of reinventing-the-wheel. JLayer has a forum where you can write about Java and mp3s.



Heres some sound equations I typed while randomly playing with CodeSimian code:






sound( sine( *(
	/#div(*#c(count 1.2) 404100)
	+( div 135 *(6 sine(c)) )
) ) )



sound( *( .2 sine(*( /#div(count#c 1717800) +(div 66 *(4 sine(c))) )) ) )
sound( *( .3 sine(*( /#div(count#c 1751800) +(div 86 *(67 sine(c))) )) ) )
ls( window#mousePanelTest( mousePanel(.5#x .5#y 0#m1 0#m2 0#m3) 300 200 ) sound(do( =D(1#a +(1#d *(.5 1#c d x))) =D(1#b +(b *(.04 y))) =D(c delay( sine(*(a 15)) 7) ) =D(d delay( sine(*(d 5)) 4) ) if(m1 =D(d delay( sine(*(d 5)) 8) ) 0) =D(c delay( sine(*(c d .5)) 9) ) =D(c +(c d *(b .037))) if(m3 =D(c *(c 2)) 0) =D(1#e sine( delay( delay(c *(.003 d b x)) 7 ) ) ) sine(*(e delay(e 2) delay(e 63) )) )) )
ls( window#mousePanelTest( mousePanel(.5#x .5#y 0#m1 0#m2 0#m3) 300 200 ) sound#snd(do( =D(1#a +(1#d *(5 1#c d x))) =D(1#b +(b *(.004 y))) =D(c delay( sine(*(a 5)) 7) ) =D(d delay( sine(*(b 5)) 4) ) if(m1 =D(d delay( sine(*(d 5)) 8) ) 0) =D(c delay( sine(*(c d .5)) 9) ) =D(c +(c d *(b .037))) if(m3 =D(c +(c 2 delay(d 44))) 0) =D(1#e sine( delay( delay(c *(.003 d b x)) 7 ) ) ) sine(*(e delay(e 342) delay( e e) delay(e 643) )) )) )
do( window#mousePanelTest( mousePanel(.5#x .5#y 0#m1 0#m2 0#m3) 300 200 ) sound#snd(do( =D(1#a +(1#d *(5 1#c d x))) =D(1#b +(b *(.01 y))) =D(c delay( sine(*(a 2.5)) 7) ) =D(d delay( sine(*(b 3.4)) 4) ) if(m1 =D(d delay( sine(*(d 5)) 8) ) 0) =D(c delay( sine(*(c d .5)) 9) ) =D(c +(c d *(b .037))) if(m3 =D(c +(c 2 delay(d 44))) 0) =D(1#e sine( delay( delay(c *(.003 d b x)) 7 ) ) ) sine(*(e delay(e 2) delay(e 63) )) )) )
do( window#play_electric_guitar_with_mouse( mousePanel(.5#x .5#y 0#m1 0#m2 0#m3) 300 200 ) window#volume(slidebar#v 300 100) sound#snd(do( =D(1#a +(1#d *(5 1#c d x))) =D(1#b +(b *(.01 y))) =D(c delay( sine(*(a 5)) 7) ) =D(d delay( sine(*(b 5)) 4) ) if(m1 =D(d delay( sine(*(d 5)) 8) ) 0) =D(c delay( sine(*(c d .5)) 9) ) =D(c +(c d *(b .037))) if(m3 =D(c +(c 2 delay(d 44))) 0) =D(1#e sine( delay( delay(c *(.003 d b x)) 7 ) ) ) *( v sine(*(e delay(e 2) delay(e 63) )) ) )) )
do( window#mousePanelTest( mousePanel(.5#x .5#y 0#m1 0#m2 0#m3) 300 200 ) sound#snd(do( =D(1#a +(1#d *(5 1#c d x))) =D(1#b +(b *(.004 y))) =D(c delay( sine(*(a 5)) 7) ) =D(d delay( sine(*(b 5)) 4) ) if(m1 =D(d delay( sine(*(d 5)) 8) ) 0) =D(c delay( sine(*(c d .5)) 9) ) =D(c +(c d *(b .037))) if(m3 =D(c *(c 2)) 0) =D(1#e sine( delay( delay(c *(.003 d b x)) 7 ) ) ) sine(*(e delay(e 2) delay(e 63) )) )) )
sound(sine(*( /#div(count#c() 44100) +( div 135 *(6 sine(c)) ) )))
do( sound(sine( *( sound(sine(*( /#div(count#c() 44100) +( div 135 *(6 sine(c)) ) ))) ) )) window#soundControls( horizontal( kk jj )) )
do( window#soundControls( horizontal(slidebar#kk slidebar#jj) 400 100 ) sound(sine( *( /#div(count#c() 44100) +( *(jj div) *(kk 135) *(6 sine(c)) ) ) )) )
do( window#soundControls( horizontal(slidebar#kk slidebar#jj) 400 100 ) sound(sine( *( /#div(count#c() 44100) +( *(jj div) *(kk 135) *(6 sine(c)) ) ) )) window#selfReplicatingCompileWindowWithJTree( horizontal#outerLayout( textarea#typeCodeHere() horizontal#gl( button#compileCode(do( setP#putTextIntoCompiler( compile#theCompiler(0 0) 1 typeCodeHere ) theCompiler copyParamToParam( printCS#printCompiledCode(0) 0 theCompiler 0 ) printCompiledCode printnum( execParam(theCompiler 0) ) copyParamToParam(treeOfCodeGUI#tree(0) 0 theCompiler 0) addP(gl tree) )) ) ) ) )
sound(sine(*( /#div(count#c() 44100) +( div 99135 *(6 sine(c)) ) )))
do( window#soundControls( horizontal(slidebar#kk slidebar#jj slidebar#crazy) 400 100 ) sound(sine( *( /#div(count#c() 44100) +( *(jj div) *(kk 135) *(6 sine(c)) ) +(1 *(.1 crazy sine(sine(c)))) ) )) window#selfReplicatingCompileWindowWithJTree( horizontal#outerLayout( textarea#typeCodeHere() horizontal#gl( button#compileCode(do( setP#putTextIntoCompiler( compile#theCompiler(0 0) 1 typeCodeHere ) theCompiler copyParamToParam( printCS#printCompiledCode(0) 0 theCompiler 0 ) printCompiledCode printnum( execParam(theCompiler 0) ) copyParamToParam(treeOfCodeGUI#tree(0) 0 theCompiler 0) addP(gl tree) )) ) ) ) )
do( window#mouse_controls_sound( mousePanel(.5#x .5#y 0#m1 0#m2 0#m3) 300 200 ) sound(do( =D(0#a +(a x -.5)) =D(0#b +(b y -.5)) =D(0#c +(c a)) =D(0#d +(d b)) sine(+(a b *(.001 c))) )) )
do( window#mouse_controls_sound( mousePanel(.5#x .5#y 0#m1 0#m2 0#m3) 300 200 ) sound(do( =D(0#a +(a x -.5)) =D(0#b +(b y -.5)) =D(0#c +(c a)) =D(0#d +(d b)) sine(+( a b *(.001 c) delay(b c) )) )) )
do( sound(sine( *( /(count#c() 44100) +( 13 *(.1 sine(*(slidebar#jj c)) ) *(4.6 slidebar#kk sine(c)) ) ) )) window#soundControls( horizontal( kk jj )) )
do( sound(sine( *( /#div(count#c() 44100) +( .01 div slidebar#jj slidebar#kk ) 2.6 +(7 sine(c)) ) )) window#soundControls( horizontal( kk jj )) )
sound(sine( *( /#div(count#c() 44100) +( div 135 *(6 sine(c)) ) ) ))
do( sound(sine( *( /#div(count#c() 44100) +( div .8135 *(6 slidebar#kk sine(+(.1 c))) ) ) )) window(kk) )
do( sound(sine( *( /#div(count#c() 44100) +( 5.001 *(div slidebar#jj) slidebar#kk ) .026 +(.77 sine(c)) ) )) window#soundControls( horizontal( kk jj )) )
do( sound(sine( *( /#div(count#c() 44100) +( .001 div slidebar#jj slidebar#kk ) .026 +(.77 sine(c)) ) )) window#soundControls( horizontal( kk jj )) )



Later when CodeSimian gains microphone/audio-input ability, a real electric-guitar could be plugged into the microphone hole of a computer. The numbers from the microphone hole are mixed with CodeSimian code, and you hear your guitar play ways you've never heard before, adjustable with the mouse and keyboard, evolvable artificially-intelligent audio... Theoretically. I'm working on it... This could make guitar-distortion equipment OBSOLETE except for guitar-players who have no computer.








Privacy Policy