electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » Online Music
Synth Noodles Compilation Project
Post new topic   Reply to topic
Page 2 of 2 [36 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Goto page: Previous 1, 2
Author Message
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Wed Dec 17, 2014 11:49 am    Post subject:
Subject description: HexAtom
Reply with quote  Mark this post and the followings unread

Am about a third of the way through the recordings in this thread, and loving it so far. Thanks for posting.

My contribution is a MOV video over on FB that I posted this morning. I tried converting to MPEG2 using Adobe Premier Pro, but it drops the right audio channel no matter what I do, so I gave up. You may need Quicktime to view it.

This is the current version of this HexAtom software using built-in Java library soft synths that I started using with Scrabble-to-MIDI back in 2009. For NYE2014-15 I plan to use this approach with AAS physical modeling soft synths, haven't started working on the patches yet. The genesis of this approach goes back to the chess-to-just-intonation music that my son Jeremy & I performed in the NYE2007-08 webcast, which really took off after our discussion here of the Glass Bead Game.

The current state of HexAtom in the video is that the graphical atoms in the cellular automaton generate MIDI (the original mode of HexAtom), and also the generated MIDI notes generate and/or destroy graphical atoms. The latter part is new as of last summer. I used that at electro-music 2014, and am expanding it as I get time. Thus there is a feedback loop between graphical and MIDI audio domains.

Here is the jython patch used to automate this particular performance, which I wrote this morning
Code:
 
# module nye201415 for New Year's Eve 2014-2015 practice and performance
# D. Parson, December 2014
 
from javax.swing import Timer
from java.awt.event import ActionListener
import types
 
class TimedNoodleStateMachine(ActionListener):
    '''
    This is a noodle driver that goes off every 30 seconds
    and update the state of the HexAtom universe. We cannot put
    a sleep in the main event loop -- it blocks the GUI event
    thread -- so TimedNoodleStateMachine uses a javax Timer to time
    the cmds passed to the constructor.
    '''
    def __init__(self, cmds, interp, ms, invokeFirst=True):
        '''
        Initialize the state of this ActionListener state machine.
 
        Parameter *cmds* is a sequence (list or tuple) of commands,
        OR a Python generator of commands. The sequence can contain,
        or the generator can generate, eother individual commands as
        strings, or can contain/generate sequences of commands in the
        for of subsequences of string commands.
        Parameter *interp* is the interpreter for the set of commands.
        Parameter *ms* is the number of milliseconds between invocations.
        Parameter *invokeFirst* if True (default) runs the first command
        sequence immediately, before starting the timer.
        '''
        self.cmds = cmds
        self.interp = interp
        self.ms = ms
        self.timer = Timer(ms, self)
        if invokeFirst:
            self.actionPerformed(None)
        self.timer.start()
    def actionPerformed(self, event):
        '''
        When the timer goes off, interpret the next sequence of commands.
        '''
        cmdseq = None
        if isinstance(self.cmds, types.GeneratorType):
            try:
                cmdseq = self.cmds.next()
            except StopIteration:
                self.timer.stop()
                return
        elif len(self.cmds) > 0:
            cmdseq = self.cmds[0]
            self.cmds = self.cmds[1:]
        else:
            self.timer.stop()
            return
        if isinstance(cmdseq, str):
            self.interp.interpret(cmdseq)
        else:
            for c in cmdseq:
                self.interp.interpret(c)
 
def testnye1415(interp,ms):
    '''
    Test driver for practice run for NYE 2014-15. This is not based
    on the patches I will be using. It is a simple noodle to test
    the software out using synth patches provided by the Java library.
    I will use AAS synths for the actual event. This just tests
    the plumbing.
    The *interp* parameter is the jython command interpreter object.
    The *ms* parameter is number of milliseconds between advancing the
    state machine.
    This function returns the reference to the TimedNoodleStateMachine
    object constructed, which is not needed for now.
    '''
    cmds = (
        ('pmt0=1', 'pmt1-11=1', 'pft12=1',
            'A0-5', 'Q0-2', 'd3', 'pvf12=.077050', 't60', 'e255', 'a0ne0r17',
            'shx.0', 'shy.0', 'trx.0', 'try.0'),
        ('A0-8', 'Q0-4', 'd7', 'e50',  'shx.5', 'shy.5', 'a0nw0r19'),
        ('A0-11', 'Q0-7', 'd13', 'e10',  'shx.75', 'shy.75', 'a0sw0r23'),
        ('d23', 'e1',  'shx.9', 'shy.9', 'trx.5', 'try.5', 'a0se0r29'),
        ('e5', 'shx.5', 'shy.5', 'trx.0', 'try.0', 'pvf12=.074070', 'a0n0r31'),
        ('e10', 'pvf12=.071090', 'd3', 'shx.0', 'shy.0', 'trx.0', 'try.0',
            'a0x0')
    )
    noodle = TimedNoodleStateMachine(cmds, interp, ms)
    return noodle

The pvf commands relate strongly to the feedback The probability of vacuum fluctuation value at the beginning of .077050 means that when a MIDI note feeds back into the cellular automaton (CA), there is a 70% probability (the third & fourth digits) that it will generate a new atom 7 semitones (the .07 -- affects color and MIDI pitch) above its original MIDI note, and a 50% probability that it will absorb the original atom. the 70-50 ratio is regenerative feedback. The later pvf12=.074070 (the 12 just means apply it to all 12 atomic numbers) makes this a degenerative 40%-70% ratio, and the final 10%-90% ratio kills the piece. Other transforms in the above rows change diameter of the space, skew and center of rotation of the atoms, and other properties of the CA.

I am posting an MP3 for completeness, although watching the video in HD is the thing to do. I have also posted a screenshot of the CA-to-MIDI mapping GUI, which I didn't touch at all after starting the noodle.
[/code]


Screen Shot 2014-12-17 at 1.46.57 PM.png
 Description:
Screen shot of the atom-to-MIDI mapper. You can live code in Python.
 Filesize:  187.02 KB
 Viewed:  611 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

Screen Shot 2014-12-17 at 1.46.57 PM.png



hexdec172014C.mp3
 Description:
MP3 recording, Dale E. Parson, copyright Creative Commons 3.0, December 2014

Download
 Filename:  hexdec172014C.mp3
 Filesize:  2.84 MB
 Downloaded:  2063 Time(s)


_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
Back to top
View user's profile Send private message Visit poster's website
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24083
Location: The Netherlands, Enschede
Audio files: 278
G2 patch files: 320

PostPosted: Sun Dec 21, 2014 10:50 am    Post subject: Reply with quote  Mark this post and the followings unread

Nice one Dale :-)
_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Mon Dec 22, 2014 6:57 am    Post subject: Reply with quote  Mark this post and the followings unread

Thanks, Jan Smile
_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
Back to top
View user's profile Send private message Visit poster's website
mtvic



Joined: Feb 03, 2003
Posts: 523
Location: Townbank Cape May NJ
Audio files: 4

PostPosted: Mon Dec 22, 2014 5:47 pm    Post subject: Reply with quote  Mark this post and the followings unread

WTF
_________________
"I'm the transmitter' I give information."
"You're the antenna,catch the vibration."
>>> Kraftwerk Radioactivity<<<
Back to top
View user's profile Send private message Visit poster's website
Jack_Hertz



Joined: May 14, 2010
Posts: 458
Location: West Coast
Audio files: 101
G2 patch files: 7

PostPosted: Tue Dec 23, 2014 6:08 pm    Post subject: Reply with quote  Mark this post and the followings unread

Nice work, Dale.
_________________
Jack Hertz.com | Aural Films
Back to top
View user's profile Send private message Visit poster's website
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Tue Dec 23, 2014 8:45 pm    Post subject: Reply with quote  Mark this post and the followings unread

Thanks, Jack!

Michael, I'll give you a demo next June in the planetarium. Smile

_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
Back to top
View user's profile Send private message Visit poster's website
blairr



Joined: May 29, 2011
Posts: 2
Location: Hobart, Tasmania, Australia
Audio files: 1

PostPosted: Sun Jan 04, 2015 4:15 am    Post subject: Reply with quote  Mark this post and the followings unread

Well, that was a hard act to follow Smile

This is a contribution I've put together using some of my modular synth setup, the modules used are all DIY ones. There are four complexly modulated sound sources:
LFO'd VCO,
FM'd VCO,
4x resonating filters,
"cymbal noise" source,

which are then treated in various randomly modulated ways, passed through VCAs with envelopes and cross fading and panning, controlled by various switches run by a LFO with the rate being modulated by yet another random source. I added some feedback paths to provide extra chaos to the modulation and then tweaked through a number of iterations until i was happy with the result. The patch was then allowed to run for around 12 minutes until it got to a natural fade out and I stopped recording.

Here's a picture of the patch:
Posted Image, might have been reduced in size. Click Image to view fullscreen.

Cheers
Blair


NoodlesV7-16.mp3
 Description:

Download
 Filename:  NoodlesV7-16.mp3
 Filesize:  16.39 MB
 Downloaded:  1893 Time(s)

Back to top
View user's profile Send private message
Jack_Hertz



Joined: May 14, 2010
Posts: 458
Location: West Coast
Audio files: 101
G2 patch files: 7

PostPosted: Mon Jan 05, 2015 12:16 pm    Post subject:   Reply with quote  Mark this post and the followings unread

Loving this! Nice job, blairr.

FWIW. Anyone who wants their track included on the Noodles Comp Album (see here: https://auralfilms.bandcamp.com/album/noodles) should include a FLAC file with their post. Optionally, I can convert your MP3 file if you prefer. Just let me know.

_________________
Jack Hertz.com | Aural Films
Back to top
View user's profile Send private message Visit poster's website
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24083
Location: The Netherlands, Enschede
Audio files: 278
G2 patch files: 320

PostPosted: Mon Jan 05, 2015 12:29 pm    Post subject: Reply with quote  Mark this post and the followings unread

blairr wrote:
This is a contribution I've put together using some of my modular synth setup, the modules used are all DIY ones.


Listened to this at work today, and then had no time to type here ... I loved it!

_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
blairr



Joined: May 29, 2011
Posts: 2
Location: Hobart, Tasmania, Australia
Audio files: 1

PostPosted: Mon Jan 05, 2015 5:51 pm    Post subject: Reply with quote  Mark this post and the followings unread

Thanks! I enjoyed putting this together, after a while it started to evolve in ways I hadn't anticipated, which is always a nice surprise.

Jack; I will PM you a link to the .FLAC file for the comp.

Cheers
Blair
Back to top
View user's profile Send private message
Jack_Hertz



Joined: May 14, 2010
Posts: 458
Location: West Coast
Audio files: 101
G2 patch files: 7

PostPosted: Thu Jan 08, 2015 9:29 am    Post subject: Reply with quote  Mark this post and the followings unread

FYI - Doug Lynner posted this video that I thought you guys would enjoy:


_________________
Jack Hertz.com | Aural Films
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic
Page 2 of 2 [36 Posts]
View unread posts
View new posts in the last week
Goto page: Previous 1, 2
Mark the topic unread :: View previous topic :: View next topic
 Forum index » Online Music
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use