generative music experiment | xltronic messageboard
 
You are not logged in!

F.A.Q
Log in

Register
  
 
  
 
Now online (2)
recycle
belb
...and 86 guests

Last 5 registered
Oplandisks
nothingstar
N_loop
yipe
foxtrotromeo

Browse members...
  
 
Members 8025
Messages 2614103
Today 16
Topics 127542
  
 
Messageboard index
generative music experiment
 

offline jkd from Twitch City (Canada) on 2006-12-19 16:39 [#02019360]
Points: 1138 Status: Lurker



Here's a short clip of some generative music I made.
mp3

(Well, saying I made it is a bit confusing actually, since
the program I made, made it. Erm anyway....)

That music was created by a patch I made in Max/MSP. Here's
a screenshot of the patch.

I'll post the algorithm in a bit.



 

offline w M w from London (United Kingdom) on 2006-12-19 16:54 [#02019371]
Points: 21452 Status: Lurker



This particular music wasn't all that great imo, but making
music with programs in general is very interesting to me.

Do you know if it'd be easy to make generative music using
only python (I know there are functions to control sound or
whatever in 'pygame' for python but havn't gotten around to
ever using or looking at them).


 

offline sadist from the dark side of the moon on 2006-12-19 16:59 [#02019375]
Points: 8670 Status: Lurker | Followup to jkd: #02019360



interesting indeed - have you ever seen those leaked
autechre max patches? maybe they will give you a few ideas.


 

offline jkd from Twitch City (Canada) on 2006-12-19 17:13 [#02019383]
Points: 1138 Status: Lurker | Followup to sadist: #02019375



I wasn't aware that any AE patches had been leaked.

I have played with the Liccflii-style patch here,
which isn't created by AE. It was somewhat interesting to
pick apart.


 

offline jkd from Twitch City (Canada) on 2006-12-19 17:26 [#02019392]
Points: 1138 Status: Lurker | Followup to w M w: #02019371



Yes, it would be somewhat easy to do gen. music in Python.
Step 1 is finding out how to play a wav. To do this, you
need pygame, as you mentioned. So, install pygame. Then, do
something like this:

import pygame
pygame.mixer.init()
bloop = pygame.mixer.Sound("bloop.wav")
bloop.play()
# wait til all sounds are done playing, then quit
while pygame.mixer.get_busy():
print "waiting for sounds to finish"

Of course you need to have bloop.wav in the current
directory when you run this code.



 

offline somejerk from south florida, US (United States) on 2006-12-19 21:20 [#02019505]
Points: 1441 Status: Lurker



you spelled hits wrong


 

offline jkd from Twitch City (Canada) on 2006-12-20 00:10 [#02019520]
Points: 1138 Status: Lurker | Followup to somejerk: #02019505



Indeed I did.

Here's another example, faster, remixed and with an
additional element.

mp3

In fact I think playing glitch1, followed by glitch1-2 makes
for a nice progression.



 

offline w M w from London (United Kingdom) on 2006-12-20 01:45 [#02019526]
Points: 21452 Status: Lurker | Followup to jkd: #02019520



That was much better (my speakers suck so maybe the other
one was good too). You might try making every sound quite
similar- with complexity different parts w/ the same/similar
sound sometimes all blends together making it difficult to
distinguish the parts- instead just seems like a single
cooler system. (maybe try a half percussion/half tonish
sound (ex a bongo hit that can play in notes but is also
percussiony) for every sound instead of different sounds.

I'll fuck w/ the sound you mentioned in awhile. Right now
I've surprisingly been motivated to program (took like 5
hours remembering things and getting over the same lame
hurdles I've done before, no wonder I avoid it). But I might
be able to post some somewhat interesting (though
amateur/practice) animation here if I can get it to work
right. Probably tomorrow.

It's obvious but I learn a lot more when I actually do
problems I don't have a firm grasp on yet (I kept making
stupid structured programming mini lame programs that just
altered text or something). I should mess with object
orientation soonish. (It's good to search for something like
'"screen.fill" python' on google just to find some program
someone pasted somewhere as practice on how it works.)

wikipedia mentioned whatever ae patch I think. Looking at
that screenshot, it's looks like really high level
language..


 

offline w M w from London (United Kingdom) on 2006-12-20 01:54 [#02019529]
Points: 21452 Status: Lurker



I hope I can turn pygame output directly into a single gif
somehow though... I've been able to save many seperate jpgs
directly from the output before long ago (but then made an
animation from them in a seperate program which took
forever.)


 

offline futureimage from buy FIR from Juno (United Kingdom) on 2006-12-20 02:12 [#02019534]
Points: 6427 Status: Lurker



Werd.


 

offline Taxidermist from Black Grass on 2006-12-20 02:56 [#02019537]
Points: 9958 Status: Lurker



Personally, I don't feel the percussive elements work best
when generated. I think a well sequenced percussive section,
with a series of synthesizers and glitches that are
generated around the patterns of the percussion sounds best.


 

offline Taxidermist from Black Grass on 2006-12-20 02:57 [#02019538]
Points: 9958 Status: Lurker



I think the common mistake by people when they think
generative, they seem to assume its going to sound random. I
think the best part of most of autechres generative works is
that they do not sound random. They sound controlled, with a
high ammount of variation that is unpredictable.


 

offline staz on 2006-12-20 02:58 [#02019539]
Points: 9844 Status: Regular



you should check out supercollider, w M w.


 

offline horselover from VALIS (Finland) on 2006-12-20 03:22 [#02019545]
Points: 107 Status: Lurker | Followup to w M w: #02019371



You can also integrate python in pure-data and max/msp. I
just recently started studying python and made a
data-structure for my planned sequencer in a few days.
Before that I wasted a few weeks trying to do that only in
pd.

Pd is also free, and you could just hook up your python
patch to some pre-made synth patch to make sound before
actually learning pd.


 

offline jkd from Twitch City (Canada) on 2006-12-20 06:18 [#02019572]
Points: 1138 Status: Lurker



Here's how I used Live, Reason, and Max/MSP together. I'm
glad that all three music programs I have can all be used
together like this.

The drum sounds are just samples loaded into the drum
machine in Ableton Live. They're triggered via MIDI by my
Max/MSP patch.

The synth sounds are Subtractors in Reason, run through a
few effects. My Max/MSP patch sends MIDI notes to Live. Live
runs the notes through the Scale plugin, which ensures the
notes fall in a C minor scale, and then sends the notes to
the synths in Reason. Reason sends the audio back to Live
via Rewire.

I can also record the MIDI output of my Max/MSP patch in
Live. This means if I want, I can do manual edits. :)



 

offline jkd from Twitch City (Canada) on 2006-12-20 06:32 [#02019574]
Points: 1138 Status: Lurker



Here's the algorithm that generates the music (implemented
with a Max/MSP patch). This is just pseudo-code.

beat 1:
  play KICK
  50% chance:
    play random PAD note
    velocity=random_between(70,110)
    duration=random_between(200,900) ms

beat 2:
  50% chance:
    play KICK
  70% chance:
    play SNARE, delayed by 80 ms
  metronome rate for HIHAT = random_between(30,
230) ms

beat 3:
  play KICK, delayed by random_between(0, 250) ms

beat 4:
  50% chance:
    play KICK



 

offline futureimage from buy FIR from Juno (United Kingdom) on 2006-12-20 10:09 [#02019628]
Points: 6427 Status: Lurker | Followup to Taxidermist: #02019537



I half agree. What I'd do is put in my base kicks and
snares, get some "random" hi-hats and some more "random"
quieter kick and snare hits here and there.


 

offline cygnus from nowhere and everyplace on 2006-12-20 14:41 [#02019719]
Points: 11920 Status: Regular



if i had posted this, ecnadniarb and dog_belch would be
eating my ass alive

that said,

the beat is really stagnant it doesn't really have a
'string' to it, you know, its just kind of plays. i would
like to hear future experiments with this where the beat is
maybe more connected and the sounds are a bit more strung
together


 

offline qrter from the future, and it works (Netherlands, The) on 2006-12-20 15:08 [#02019730]
Points: 47414 Status: Moderator | Followup to cygnus: #02019719



don't be bitter, don't.


 

offline Phresch from fucking Trondheim (Norway) on 2006-12-20 15:10 [#02019732]
Points: 9989 Status: Lurker | Show recordbag



99% chance of me not listening


 

offline fleetmouse from Horny for Truth on 2006-12-20 15:37 [#02019747]
Points: 18042 Status: Lurker



Interesting stuff. Most of the time I get more inspired by
simple percent chance patches like this than by grandiose
things that claim to be inspired by the realtime statistical
breeding habits of investment bankers or somesuch nonsense.


 

offline jkd from Twitch City (Canada) on 2006-12-20 16:07 [#02019762]
Points: 1138 Status: Lurker



Here's a newer version, with more elements, and a bit of a
progression. mp3

Thanks to those who listened and gave comments.

I think I'm done playing with this particular patch. I plan
on experimenting more with generative music, however. It's
quite exciting.

Can anyone recommend any musicians that use generative
techniques? (other than Eno, Autechre, Reich)



 

offline w M w from London (United Kingdom) on 2006-12-20 16:14 [#02019766]
Points: 21452 Status: Lurker | Followup to jkd: #02019762



These are two of my favorites and are extremely
computationally intensive mindfuck albums.

crunch (1, aka nullpluze.nz) good ex. "toe tac tic"
otto von schirach (8000 bc) good ex. (first 6 tracks)


 

offline cygnus from nowhere and everyplace on 2006-12-20 17:39 [#02019811]
Points: 11920 Status: Regular | Followup to jkd: #02019762



downloading new mp3 in a moment,


 

offline fleetmouse from Horny for Truth on 2006-12-20 17:45 [#02019812]
Points: 18042 Status: Lurker | Followup to jkd: #02019762



Twerk does some generative things, check out his
downloadable patches, also Drop The Lime if I'm not mistaken.
Leafcutter John did an album with generative stuff and
released the patch.


 

offline steve mcqueen from caerdydd (United Kingdom) on 2006-12-20 18:31 [#02019842]
Points: 6563 Status: Regular



spam the music don't mention the prog


 

offline steve mcqueen from caerdydd (United Kingdom) on 2006-12-20 18:41 [#02019853]
Points: 6563 Status: Regular



back 2 the drawing board i'd say m
8
that pad makes me feel sick after 1 bar,
cant u automate some other params other than pitch?
its a little bit samey sorry


 

offline i_x_ten from arsemuncher on 2006-12-20 18:45 [#02019857]
Points: 10031 Status: Regular



most glitch music sounds like bernard manning doing a rice
pudding shit. this is no different.


 

offline cygnus from nowhere and everyplace on 2006-12-20 18:49 [#02019860]
Points: 11920 Status: Regular



it sounds to me like you should command more control over
whats goin on with the patch

i dont know a single anything about max/msp or any
generative visual or musical art, but, i think generative
tools should be able to produce results that the operator
probably would not be able to draw out on his or her own, in
like, 5 minutes... i think you would be able to draw out
these results on a piano roll .

and, with respect, i dont really dig the drum sounds you
used, i think some bigger sounds should have been used --
like, BTHWWWOWOowowowowm kicks or ssskKkkssaaaaachi type
snares,you know? add some hihats too i guess?


 

offline cygnus from nowhere and everyplace on 2006-12-20 18:49 [#02019861]
Points: 11920 Status: Regular | Followup to i_x_ten: #02019857



hahahahahaha


 

offline steve mcqueen from caerdydd (United Kingdom) on 2006-12-20 18:55 [#02019866]
Points: 6563 Status: Regular



wtf is glitch anway


 

offline steve mcqueen from caerdydd (United Kingdom) on 2006-12-20 19:01 [#02019873]
Points: 6563 Status: Regular



make music entirely out of core dumps?
radiation from the big bang aka TV static
taus88 random number generator w. a period of 2**88
?


 

offline xceque on 2006-12-20 19:06 [#02019875]
Points: 5888 Status: Moderator | Followup to steve mcqueen: #02019873 | Show recordbag



don't give them ideas!


 

offline fleetmouse from Horny for Truth on 2006-12-20 20:11 [#02019888]
Points: 18042 Status: Lurker | Followup to steve mcqueen: #02019873



I've done that on Lunis. You cat a file to /dev/audio or
somesuch nonsense. PDFs with a mix of image and text sound
verrrry interesting.


 

offline fleetmouse from Horny for Truth on 2006-12-20 20:12 [#02019889]
Points: 18042 Status: Lurker



no sorry that's /dev/dsp


 

offline w M w from London (United Kingdom) on 2006-12-21 00:16 [#02019941]
Points: 21452 Status: Lurker



python ass help me please:

-------------------------

a,b,c,d,e,f = 0,0,0,0,0,0
abcdef_list = [a,b,c,d,e,f]
of = 3

abcdef_list[of] = abcdef_list[of] + 16

print abcdef_list
print a,b,c,d,e,f

----------------------

OUTFUCKINGPUT:

[0, 0, 0, 16, 0, 0]
0 0 0 0 0 0

--------------------------------------
It only modifies the one in the list when clearly I put d
*IN* the list. It should have and I want it to modify the
original d. But it only modifies the one in the list because
it is an asscake.


 

offline w M w from London (United Kingdom) on 2006-12-21 00:20 [#02019942]
Points: 21452 Status: Lurker



(in english, I asigned 0 to each of variables a through f.
Then I made a "list" or "dictionary" or whatever the hell
that is (the mutable one) out of THEM all (one would
think).
Changing one in the list doesn't change the original
variable though like I wanted.

tried gay idea of putting [global a, global b...]


 

offline w M w from London (United Kingdom) on 2006-12-21 00:41 [#02019946]
Points: 21452 Status: Lurker



Nevermind, I just figured out... uh, I'm retarded. I'll just
use the ones in the list, fuck the originals.


 

offline CS2x from London (United Kingdom) on 2006-12-21 07:46 [#02020093]
Points: 5079 Status: Lurker



What's with all these suggestions? Maybe he made the drums
sound like they do because they're meant to be like that. Or
maybe not.


 

offline fleetmouse from Horny for Truth on 2006-12-21 08:48 [#02020126]
Points: 18042 Status: Lurker | Followup to CS2x: #02020093



I think a lot of the people posting in this thread don't get
that it's about experimenting with generative music, not
about making banging choons for a romantic evening with your
mom.


 

offline jackeroffer from Aruba on 2006-12-21 09:30 [#02020145]
Points: 1038 Status: Lurker



'I think a lot of the people posting in this thread don't
get
that it's about experimenting with generative music, not
about making banging choons for a romantic evening with
your
mom.'

why cant it be both?


 

offline ecnadniarb on 2006-12-21 10:19 [#02020161]
Points: 24805 Status: Lurker | Show recordbag



This is generative music in the loosest sense of the word.
It's not a bad start but all you are doing is firing out
random numeric values. There is no real control of the
sounds used and it is the external package (Live) that is
ensuring it remains at least semi listenable.

I've been messing about with Max/MSP again but my nice, well
laid out, patch I am working on at the moment now looks a
total mess with lines going everywhere :)


 

offline fleetmouse from Horny for Truth on 2006-12-21 11:29 [#02020180]
Points: 18042 Status: Lurker



You know what's fun is throwing rice at a banjo.


 

offline w M w from London (United Kingdom) on 2006-12-21 14:43 [#02020221]
Points: 21452 Status: Lurker



This is just a test. I ran into a hurdle per minute of
coding time (which equals an hour of regular time because I
suck)

This animation also sucks, and viewed here is only a
repeating loop of 30 frames instead of constantly
regenerating randomly like the program.

(it changes the frame of a 12frame square animation I made
in a random direction each time for 1 step) then puts
another, also going random on top (pain to figure out how to
deal with transparency, png files hold it, but pygame
surfaces don't).

So at least now I can make an animation where, instead of
looping, different elements have differing cycles (out of
phase).

jkd could have made this lameness in 1 minute. I also had
to use gimp to make a gif from the frames I saved from the
program.


Attached picture

 

offline ecnadniarb on 2006-12-21 14:53 [#02020223]
Points: 24805 Status: Lurker | Show recordbag



noisegen

A generated soundscape of noises. Fuck beats.


 

offline jkd from Twitch City (Canada) on 2006-12-21 15:00 [#02020224]
Points: 1138 Status: Lurker | Followup to w M w: #02020221



That's pretty wicked. You're well on your way. Trust me,
programming is hard, and you're not stupid if you find it
slow and difficult.



 

offline jkd from Twitch City (Canada) on 2006-12-21 15:02 [#02020225]
Points: 1138 Status: Lurker | Followup to ecnadniarb: #02020223



Ooo, glitchy. Did you make this with your patch? Would you
mind describing how it works, or posting a screenshot or
something?


 

offline w M w from London (United Kingdom) on 2006-12-21 15:12 [#02020226]
Points: 21452 Status: Lurker | Followup to jkd: #02020224



I ultimately want to make something like this, only 50-fold
as intricate/interesting using a program.
(since there was a long period when I couldn't program I
became neurotic at finding ways to cheat
pseudorandomness/complexity. This animation for example is
only 10 frames, but its designed so that each moving square
blends exactly into the one below it on the 10th frame.
Since the end result is such a small 10 frame file, I don't
see why it couldn't have been used on an old NES game or
something. (I also made a lot of fucked up music beats where
there was only 1 beat but designed to be played in 3 octaves
at once, again pseudorandomness since I lacked much
programming skills)


Attached picture

 

offline w M w from London (United Kingdom) on 2006-12-21 15:27 [#02020227]
Points: 21452 Status: Lurker | Followup to ecnadniarb: #02020223



Autechre do it right (DID at least on lp5/ep7/cichli) in my
opinion, 777 being a shining example of a perfect track.
You basically can't tap your foot to this, and that at least
seems necessary for whatever retarded reason 'music' even
appeals to a primate brain.
I would like to use a program to evolve a beat (ACCUMULATED
mutations, instead of random mutations) since that has been
pretty much impossible to do in shit-modplug tracker without
tons and tons of input/effort, however the brief
'experiments' I did with accumulated mutations I really
liked. A program would be great at it.
I wonder if 777 was made in max/msp. I think wikipedia
states they started using it after 1998.


 

offline fleetmouse from Horny for Truth on 2006-12-21 16:51 [#02020236]
Points: 18042 Status: Lurker | Followup to ecnadniarb: #02020223



Pretty cool sounding stuff. Is that mostly FM synthesis?


 


Messageboard index