ALM Final Demo: -- ALM output: -------------- $ clisp alm.l ALM v. 20110447, by Jacob Peck Welcome to ALM! Please input an alphabet to use as a list of symbols: (e ei f# f#i g gi a ai b bi c ci d di) Please enter the desired fitness (in the range [0...1]): 0.86 Please enter the desired number of cells (at least 3, around 50-100 is a decent amount): 50 Please enter a title for this composition: gminor2 Alright, we're ready to get started. Just to review, here is the information you have provided me: Alphabet: E EI F# F#I G GI A AI B BI C CI D DI Desired fitness: 0.86 Number of cells: 50 Name: GMINOR2 Generating initial population... Evolving population.............. Average fitness (generation 13): 0.9154657 Creating cellular automata... Here is the world: - X - - - - - X X X - X X - - X X - X X X - - - X - - X X - - X - X - - X X X - X X - X X - X - - X 0 1 0 0 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 1 1 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 0 0 1 Here is the world: - X X - - - X - - X - - X X X - X - - - X X - X X X X - X X X X - X X X - - X - - X - - X - X X X X 0 2 1 0 0 0 1 1 1 2 0 1 2 1 1 1 2 0 1 1 2 1 0 1 2 1 1 1 2 1 1 2 0 2 1 1 1 1 2 0 1 2 0 1 2 0 2 1 1 2 Choosing rule 9 (weight 2)... Rules: ((E C A) (EI F#) (F# C BI) (F#I CI EI) (G F#I DI E) (GI F#I B) (A CI CI) (AI F#I) (B BI D) (BI C) (C B DI F#) (CI GI F#I AI) (D A) (DI GI B F#)) Rewriting... Generation 1: GI F#I AI Continue iterating? t Here is the world: - - X X - X X X X X X X - - X - X X - X - X - - - - X - - - - X - - - X X X X X X X X X X - - - - X 0 2 2 1 0 1 2 2 2 3 1 2 2 1 2 1 3 1 1 2 2 2 0 1 2 1 2 1 2 1 1 3 0 2 1 2 2 2 3 1 2 3 1 2 3 0 2 1 1 3 Choosing rule 38 (weight 3)... Rules: ((E A G) (EI F#) (F# C BI) (F#I CI EI) (G F#I DI E) (GI F#I B) (A CI CI) (AI F#I) (B BI D) (BI C) (C B DI F#) (CI F# A F#) (D A) (DI GI B F#)) Rewriting... Generation 2: F#I B CI EI F#I Continue iterating? t Here is the world: X X - X - - - - - - - X X X X - - X - X - X X - - X X X - - X X X - X - - - - - - - - - X X - - X X 1 3 2 2 0 1 2 2 2 3 1 3 3 2 3 1 3 2 1 3 2 3 1 1 2 2 3 2 2 1 2 4 1 2 2 2 2 2 3 1 2 3 1 2 4 1 2 1 2 4 Choosing rule 44 (weight 4)... Rules: ((E A G) (EI F#I F#I) (F# B F#I) (F#I BI E BI) (G C) (GI F#I B) (A C F# D) (AI E) (B C GI) (BI EI A AI) (C BI AI B) (CI F# A F#) (D G G) (DI F#I BI)) Rewriting... Generation 3: BI E BI C GI F# A F# F#I F#I BI E BI Continue iterating? t Here is the world: - X - X X - - - - - X - - - X X X X - X - - X X X - - X X X - - X - X X - - - - - - - X - X X X - - 1 4 2 3 1 1 2 2 2 3 2 3 3 2 4 2 4 3 1 4 2 3 2 2 3 2 3 3 3 2 2 4 2 2 3 3 2 2 3 1 2 3 1 3 4 2 3 2 2 4 Choosing rule 16 (weight 4)... Rules: ((E A G) (EI F#) (F# C BI) (F#I CI EI) (G F#I DI E) (GI F#I B) (A CI CI) (AI F#I) (B BI D) (BI C) (C B DI F#) (CI GI F#I AI) (D A) (DI GI B F#)) Rewriting... Generation 4: C A G C B DI F# F#I B C BI CI CI C BI CI EI CI EI C A G C Continue iterating? t Here is the world: X X - - X X - - - X X X - X - - - X - X X X - - X X X - - X X X X - - X X - - - - - X X - - - X X - 2 5 2 3 2 2 2 2 2 4 3 4 3 3 4 2 4 4 1 5 3 4 2 2 4 3 4 3 3 3 3 5 3 2 3 4 3 2 3 1 2 3 2 4 4 2 3 3 3 4 Choosing rule 31 (weight 5)... Rules: ((E A G) (EI F#) (F# C BI) (F#I CI EI) (G F#I DI E) (GI F#I B) (A CI CI) (AI F#I) (B BI D) (BI C) (C B DI F#) (CI GI F#I AI) (D A) (DI GI B F#)) Rewriting... Generation 5: B DI F# CI CI F#I DI E B DI F# BI D GI B F# C BI CI EI BI D B DI F# C GI F#I AI GI F#I AI B DI F# C GI F#I AI F# GI F#I AI F# B DI F# CI CI F#I DI E B DI F# Continue iterating? t Here is the world: - X X X - X X - X - - X - X X - X X - - - X X X - - X X X - - - X X X - X X - - - X - X X - X - X - 2 6 3 4 2 3 3 2 3 4 3 5 3 4 5 2 5 5 1 5 3 5 3 3 4 3 5 4 4 3 3 5 4 3 4 4 4 3 3 1 2 4 2 5 5 2 4 3 4 4 Choosing rule 1 (weight 6)... Rules: ((E C A) (EI F#I F#I) (F# B F#I) (F#I BI E BI) (G C) (GI F#I B) (A C F# D) (AI E) (B C GI) (BI EI A AI) (C BI AI B) (CI F# A F#) (D G G) (DI F#I BI)) Rewriting... Generation 6: C GI F#I BI B F#I F# A F# F# A F# BI E BI F#I BI C A C GI F#I BI B F#I EI A AI G G F#I B C GI B F#I BI AI B EI A AI F# A F# F#I F#I EI A AI G G C GI F#I BI B F#I BI AI B F#I B BI E BI E F#I B BI E BI E C GI F#I BI B F#I BI AI B F#I B BI E BI E B F#I F#I B BI E BI E B F#I C GI F#I BI B F#I F# A F# F# A F# BI E BI F#I BI C A C GI F#I BI B F#I Continue iterating? nil Check in the output/ directory for .midi files of the various stages of this composition. Thanks for using ALM! -- JFugueDaemon Output: ----------------------- $ java -cp `cygpath -wp jfugue.jar:.` JFugueDaemon JFugue Daemon v. 20110427, by Jacob Peck Watches the ./temp/ directory for created files, plays them, and saves them as a .midi file in ./output/ Press ^C to close. Filename: temp\GMINOR2-1 Contents: GI F#I AI File saved as: output\GMINOR2-1.midi Filename: temp\GMINOR2-2 Contents: F#I B CI EI F#I File saved as: output\GMINOR2-2.midi Filename: temp\GMINOR2-3 Contents: BI E BI C GI F# A F# F#I F#I BI E BI File saved as: output\GMINOR2-3.midi Filename: temp\GMINOR2-4 Contents: C A G C B DI F# F#I B C BI CI CI C BI CI EI CI EI C A G C File saved as: output\GMINOR2-4.midi Filename: temp\GMINOR2-5 Contents: B DI F# CI CI F#I DI E B DI F# BI D GI B F# C BI CI EI BI D B DI F# C GI F#I AI GI F#I AI B DI F# C GI F#I AI F# GI F#I AI F# B DI F# CI CI F#I DI E B DI F# File saved as: output\GMINOR2-5.midi Filename: temp\GMINOR2-6 Contents: C GI F#I BI B F#I F# A F# F# A F# BI E BI F#I BI C A C GI F#I BI B F#I EI A AI G G F#I B C GI B F#I BI AI B EI A AI F# A F# F#I F#I EI A AI G G C GI F#I BI B F#I BI AI B F#I B BI E BI E F#I B BI E BI E C GI F#I BI B F#I BI AI B F#I B BI E BI E B F#I F#I B BI E BI E B F#I C GI F#I BI B F#I F# A F# F# A F# BI E BI F#I BI C A C GI F#I BI B F#I File saved as: output\GMINOR2-6.midi