# New Generative Music made with Processing

**URL:** https://discourse.processing.org/t/new-generative-music-made-with-processing/16558
**Category:** Gallery
**Created:** [December 21, 2019, 8:29pm UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558 "2019-12-21T20:29:15Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![wrongexit](https://avatars.discourse-cdn.com/v4/letter/w/b5e925/32.png) [@wrongexit](https://discourse.processing.org/u/wrongexit)
#### Post date: [December 21, 2019, 8:29pm UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/1 "2019-12-21T20:29:15Z")

</div>

I’ve been experimenting with using Processing to improvise MIDI notes. If you’d like to check out some new music that wrote itself, my SoundCloud page for this project, _39 Angry Tigers_, is [over here](http://soundcloud.com/39angrytigers).

Thanks so much for your support, likes, comments, questions, and sharing!

---

<div class="post-metadata">

### Author: ![noel](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/noel/32/213_2.png) [@noel](https://discourse.processing.org/u/noel)
#### Post date: [December 21, 2019, 8:38pm UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/2 "2019-12-21T20:38:01Z")

</div>

Hi.  
Interesting. How does it work? Some visualization also would be nice.

---

<div class="post-metadata">

### Author: ![wrongexit](https://avatars.discourse-cdn.com/v4/letter/w/b5e925/32.png) [@wrongexit](https://discourse.processing.org/u/wrongexit)
#### Post date: [December 21, 2019, 8:50pm UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/3 "2019-12-21T20:50:55Z")

</div>

Hi! I’ve done some animation experiments separately…the image at the top of the Soundcloud page is from one of them. I haven’t taken the time to combine them yet, but I’ve been thinking about that.

How it works: it uses Perlin noise to tell its virtual fingers how to meander up and down the keyboard, with the note selections forced through a chord template which is changed from time to time. The chord changes are Markov-chained from a corpus that it refers to. The note rate mode also changes from time to time. Things like the density of note coverage, tempo, degree of mutation of chords and the grain of the Perlin noise feed can be controlled by the user. For these compositions, I set it up and pushed the start button. The percussion tracks were added separately in most cases, though one uses a drum VST that’s going through a randomizer in real time.

---

<div class="post-metadata">

### Author: ![swmarks](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/swmarks/32/6015_2.png) [@swmarks](https://discourse.processing.org/u/swmarks)
#### Post date: [December 21, 2019, 9:12pm UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/4 "2019-12-21T21:12:19Z")

</div>

I hear Allman Brothers – Statesboro Blues.

---

<div class="post-metadata">

### Author: ![wrongexit](https://avatars.discourse-cdn.com/v4/letter/w/b5e925/32.png) [@wrongexit](https://discourse.processing.org/u/wrongexit)
#### Post date: [December 21, 2019, 9:19pm UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/5 "2019-12-21T21:19:00Z")

</div>

Don’t ask me how that got in there!

Most of them have just one lead finger doing the noodling, but that one has two of them noodling independently, so you kind of get that dueling guitar thing going on there. I really can’t say where the boogie rhythm comes from. It does some things that I don’t understand.

---

<div class="post-metadata">

### Author: ![swmarks](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/swmarks/32/6015_2.png) [@swmarks](https://discourse.processing.org/u/swmarks)
#### Post date: [December 22, 2019, 2:48am UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/6 "2019-12-22T02:48:29Z")

</div>

Maybe the Allman Brothers used Markov-chain chord progressions! 😉

---

<div class="post-metadata">

### Author: ![wrongexit](https://avatars.discourse-cdn.com/v4/letter/w/b5e925/32.png) [@wrongexit](https://discourse.processing.org/u/wrongexit)
#### Post date: [December 22, 2019, 3:14am UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/7 "2019-12-22T03:14:53Z")

</div>

You never know…could be!

---

<div class="post-metadata">

### Author: ![jeremydouglass](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jeremydouglass/32/20_2.png) [@jeremydouglass](https://discourse.processing.org/u/jeremydouglass)
#### Post date: [December 22, 2019, 4:27am UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/8 "2019-12-22T04:27:39Z")

</div>

Thanks for sharing this work-- and for a very interesting how-it-works breakdown on this. Really interesting to listen to these tracks and think about how the Perlin walk and Markvov-chain chord state are being used.

Also: the NWW List (!)

---

<div class="post-metadata">

### Author: ![wrongexit](https://avatars.discourse-cdn.com/v4/letter/w/b5e925/32.png) [@wrongexit](https://discourse.processing.org/u/wrongexit)
#### Post date: [December 22, 2019, 7:13pm UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/9 "2019-12-22T19:13:30Z")

</div>

Thanks for checking it out, Jeremy!

😼 👍

---

<div class="post-metadata">

### Author: ![unique\_username](https://avatars.discourse-cdn.com/v4/letter/u/a88e57/32.png) [@unique\_username](https://discourse.processing.org/u/unique_username)
#### Post date: [December 22, 2019, 8:18pm UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/10 "2019-12-22T20:18:26Z")

</div>

Amazing work. You know, when you described the ‘virtual fingers’, I thought if you could get together with a 3D visuals programmer and visualize a person playing the music, something like the [unnamed soundsculpture](http://wearechopchop.com/%E2%80%9Cunnamed-soundsculpture%E2%80%9D/)  
by Daniel Franke & Cedric Kiefer(?)

---

<div class="post-metadata">

### Author: ![wrongexit](https://avatars.discourse-cdn.com/v4/letter/w/b5e925/32.png) [@wrongexit](https://discourse.processing.org/u/wrongexit)
#### Post date: [December 22, 2019, 9:07pm UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/11 "2019-12-22T21:07:24Z")

</div>

Thanks, u\_u!

That would be interesting. At the moment, I’m not capturing the MIDI stream in a file, but that would be the way to go. Send the file to a visual interpreter of some kind.

I’m using the MidiBus…it doesn’t save files, unfortunately. I’m sure there’s some way to get around that.

---

<div class="post-metadata">

### Author: ![robertoxyz20](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/robertoxyz20/32/7513_2.png) [@robertoxyz20](https://discourse.processing.org/u/robertoxyz20)
#### Post date: [December 23, 2019, 4:13pm UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/12 "2019-12-23T16:13:26Z")

</div>

Amazin thing that you create!

---

<div class="post-metadata">

### Author: ![wrongexit](https://avatars.discourse-cdn.com/v4/letter/w/b5e925/32.png) [@wrongexit](https://discourse.processing.org/u/wrongexit)
#### Post date: [December 23, 2019, 5:31pm UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/13 "2019-12-23T17:31:19Z")

</div>

Thank you, robertoxyz20!

---

<div class="post-metadata">

### Author: ![jeremydouglass](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jeremydouglass/32/20_2.png) [@jeremydouglass](https://discourse.processing.org/u/jeremydouglass)
#### Post date: [December 29, 2019, 3:07pm UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/14 "2019-12-29T15:07:43Z")

</div>

> [@wrongexit](#):
>
> I’m using the MidiBus…it doesn’t save files, unfortunately. I’m sure there’s some way to get around that.

I believe that themidibus is written on top of javax.sound.midi – so you could probably use MidiFileWriter and MidiFileReader if you wish.

> **[Providing MIDI Services (The Java™ Tutorials \>        
            Sound)](https://docs.oracle.com/javase/tutorial/sound/SPI-providing-MIDI.html)**
>
> This Java tutorial describes the sampled-audio system, the MIDI system, and the Java Sound API packages.

---

<div class="post-metadata">

### Author: ![wrongexit](https://avatars.discourse-cdn.com/v4/letter/w/b5e925/32.png) [@wrongexit](https://discourse.processing.org/u/wrongexit)
#### Post date: [January 6, 2020, 5:29am UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/15 "2020-01-06T05:29:11Z")

</div>

Thanks for sending that my way, Jeremy. I can’t say I really understand how to implement MidiFileWriter in my code, but that’s a low priority for me right now.

At the moment I’m looking into adding an option to swing the rhythm (I’m halfway there, I think…it’s screwy) and doing nested iterations. If/when I get those to work right, I’ll post the results.

---

<div class="post-metadata">

### Author: ![wrongexit](https://avatars.discourse-cdn.com/v4/letter/w/b5e925/32.png) [@wrongexit](https://discourse.processing.org/u/wrongexit)
#### Post date: [January 21, 2020, 1:40am UTC](https://discourse.processing.org/t/new-generative-music-made-with-processing/16558/16 "2020-01-21T01:40:51Z")

</div>

Two recently generated pieces, “[Gorgeous Charlatan](https://soundcloud.com/39angrytigers/gorgeous-charlatan)” and “[Light Sails](https://soundcloud.com/39angrytigers/light-sails),” feature a newly swingy rhythm.
