Experimenting With Generative Features

9 posts / 0 new
Last post
andre's picture
andre
Offline
Last seen 1 month 22 hours ago

Experimenting With Generative Features

As summarized in a blog post published today (which hereby I want to promote), we are experimenting with potential new features that help with the process of creating your own unique phrases and parameters more quickly and easily.

In this thread, I hope to share some preliminary results in the near future. Feel free to add your comments and suggestions here.

Tanerongunyzb's picture
Tanerongunyzb
Offline
Last seen 2 months 3 weeks ago

First of all thanks Andre. I want four wishes new version. 

1. Hardware integration ( I know there is possible for all keyboards MSB and LSB program. ) But This is so complex to make sample player by used Sound editor.      

2.  Drag and drop midi in Synfire. 

3.  Articulation note used as a VST. I know This is possible. But Sometimes so complex for VST. For example Ample Guitar strumming pattern. It is problem for Articulation to make a single figure. 

4.   Figure editing and combine something like this more simple than now. Because We don't achieve one more phrase library to combine one as a simple.

 

Thanks a lot again.

akem's picture
akem
Offline
Last seen 3 months 4 weeks ago

Hi Andre,

I would like to have a bass generator that works independent from the chord progression ("orgelpunkt, pumpbass ect.")

And it could be useful to give the chordlayers more freedom in the selection of chords. For Jazz and Classic Styles sometimes it is useful to work with dissonant Clusters.

I would like some more possibilities with the variation creator. The three presets often are to raw. Something like a variation creator would be nice.

A generator for unisono tracks would be nice. Example: a Bass Track and a Melodie Track play exact the same notes with a preselected interval .

discosleepy's picture
discosleepy
Offline
Last seen 6 months 3 weeks ago

A good point akem!

For "Orgelpunkt" or "Ascending/Descending Basslines" it would be very helpful, if "Live Chord Detection" could determine correct Bassnotes.

Example: If you are playing a C-major chord and then change to F-Major with Bass C (Orgelpunkt ), "Live Chord Detection" is showing the correct F-Major chord, but with "Bass 1(F)", which is definitly not correct. Maybe there are settings, to change this behaviour, but I have not found them yet.

A "Live Chord Detection", that considers the bass notes correctly, could really improve intuitivly playing with chords and basslines

Many chord progressions work in a way, that only one note of the chord moves up or down, while the other notes remain, where they are. If "Live Chord Detection" determines the chords considering this behaviour, it is much easier for "Phrases" and "Figures" to interpret the progression as intended.

More freedom for chordlayers and variations !

tanders's picture
tanders
Offline
Last seen 1 month 3 weeks ago

I just read your post about an interface to generators (a few months late). I have been using (and designing) algorithmic composition software for over 20 years, and so this sounds rather interesting to me. Has there perhaps been any development since your post you would like to share?

Best,

Torsten 

tanders's picture
tanders
Offline
Last seen 1 month 3 weeks ago

EDIT: Please disregard what I wrote below: the MIDI export is actually better than I remembered – just trialled it with some algorithmically generated material  :)  

The main problems for me personally are certain rhythmic restrictions (e.g., tuplets are seemingly not always correctly recognised,  and complex rhythms are seemingly quantised). In particular the export of tuplets is restricted, but such problems are not related to the post below.  

 

If Synfire would implement some sort of API, e.g., some text-based data format, for specifying Synfire figures, that would allow users to algorithmically generate figures in various ways in their preferred algorithmic composition environment. For example, relatively widely used computer-aided composition systems are Opusmodus (http://opusmodus.com/, currently my tool of choice), Max with the Bach library (https://cycling74.com, and http://www.bachproject.net), Open Music (http://repmus.ircam.fr/openmusic/home), PWGL (http://www2.siba.fi/pwgl/), and Common Music (https://sourceforge.net/projects/commonmusic/). 

To an extent, importing individual figures generated in a computer-aided composition environment is already possible today by exporting some algorithmically generated MIDI file and then importing that (or a part of it) as a figure etc. into Synfire. However, such an approach requires first further editing of the imported MIDI data in Synfire (as does any MIDI input). It would be more interesting to instead be able to generate material, where users could algorithmically determine the anchor of a segment, or that certain symbols in the figure are, e.g., supposed to be bass notes. What would be particularly useful would be a way to import an algorithmically generated longer section that is already subdivided into individual segments, i.e., some API support for marking boundaries between segments (e.g., using nested data structures like Smalltalk arrays). Such an interface could provide a smooth connection between both worlds: the algorithmic generation of some raw material in some algorithmic composition application on the one hand, which is then manually revised on a high level of abstraction in Synfire and harmonised on the other hand.

All the above-mentioned systems happen to use or support Lisp syntax and to run Lisp code. (Most of them are implemented in the programming language Common Lisp, and Common Lisp is part of their user interface. Even for Max – which is not based on Lisp – exist extensions to run Common Lisp code. Only Common Music is meanwhile based on Scheme instead.) Translating a static data structure from Lisp syntax into Synfire's Smalltalk would be rather straightforward. If Synfire would offer some documented data input format for figure sequences in, say, its native Smalltalk syntax, or some widely used simple format like JSON for better integration with even more systems, I could provide some Lisp interface that would output this format, and which would allow all the above-mentioned systems to output figure sequences to Synfire relatively easily. 

Of course, that would be a very loose connection to algorithmic composition systems, and a more tight coupling (where figures can be algorithmically generated and transformed on the fly) would be more flexible, but I figure (pun intended ) a static "figure API" as proposed above is much more easy to do, and its appeal would be that it could form a bridge for many computer-aided composition systems to Synfire.

Best,

Torsten

 

Godin's picture
Godin
Offline
Last seen 2 months 4 days ago

Greetings from here.

It's always enjoyable, when there are new developments in Synfire.

I have found a software for me, that gives me good instructions for developing a melody. There may be good hints on how to make Synfire even better.

http://www.palette-mct.com/overview_musical_palette.html

andre's picture
andre
Offline
Last seen 1 month 22 hours ago

Hi Torsten,

Thanks for your suggestions. As said, import/export of vector data is already on our agenda. Whether that be XML, JSON or some LISP based format has to be seen. 

Figures however are structured vectors with different classes (symbol types) and groupings (segments), where time is expressed in relation to the anchor symbol (+/-). This is very specific to Synfire and is therefore unlikely to be supported by third party software anytime soon.

So your best bet is to have third party tools export linear data, like MIDI or CC, and have Synfire convert that according to your preferences.

Or go and write your own tools, of course, which are fully aware of Figure semantics.

NaN's picture
NaN
Offline
Last seen 1 month 4 hours ago

Thanks Andre for the insights into what directions you are thinking.

Having the option to influence the composition on all levels of abstraction is imho important. So if I come up with a certain concept of the song I want that to be respected. And if I come up with a certain imho cool melody phrase I want the program to also take this as specified and weave the rest around it. (That's still one of the points I sometimes struggle with Synfire - to make it to play some melodies exactly as I specified them).

But having the option to be able to define the "language" a generator uses to create notes, chords, phrases, sets and even songs ourselves which then can be shaped with varying levels of parameters, randomness or "providing examples" also sounds highly interesting. It would be composition on another level. Not necessarily better or worse, just different.

As long as we still have the option to overwrite any decision made by the algorithm and the algorithm being able to adapt to these manual overrides to make everything coherent again. Such a system is presumably much more challenging to come up with - but also what would make such a software really great in not replacing the composer but giving him/her a sparring partner for a creative dialogue - to throw ideas back and forth between person and machine!)

Log in or register to post comments

Scholarly Lite is a free theme, contributed to the Drupal Community by More than Themes.