Posted
Wed, 2019-11-20 - 12:22 Permalink
Big time.
New features that involve AI will focus on creating (generating) phrases without the need to draw, record, or harvest them from MIDI files. Composing with Synfire is most productive and fun once you have lots of phrases at hand to play around with. Actually that's when the true power of Music Prototyping comes into play: Drag & drop stuff, shift things around and listen to the results.
We're currently in the process of making useful presets and building a user interface around this. We had envisioned a release towards end of the year (now actually), but it turned out to be more work than expected. I can't promise a date, but we're making good progress. I will post more on that later.
Wed, 2019-11-20 - 19:38 Permalink
Yeah. I noticed I was making less music after work (mostly because there so little time left). It turned out to be pure laziness! Making original new figures is work and, after a hard day, I really wanted to avoid that ;-) I guess this is how many users feel at times. So I thought, if Synfire was able to generate musically usefull figures, especially melodies with natural rhythm, that would be so more inspiring and fun.
Sat, 2019-11-23 - 12:39 Permalink
Yeah. I noticed I was making less music after work (mostly because there so little time left). It turned out to be pure laziness! Making original new figures is work and, after a hard day, I really wanted to avoid that ;-) I guess this is how many users feel at times. So I thought, if Synfire was able to generate musically usefull figures, especially melodies with natural rhythm, that would be so more inspiring and fun.
the very same here.. any tool capable of assembling/generating complete forms to work on, will be heartly welcome (Herzlich willkommen)...
Sat, 2019-11-23 - 14:11 Permalink
Not some isolated gadget. It is imperative that these features extend the current arrangement workflows. Imagine modules that generate "raw material" for the composer to use as building blocks. Sort of "infinite library".
This will be based on a new generative programming language that we specifically developed for Synfire (no hyperbole). There will be modules written in that language that generate
- Rhythms (actually any patterns on the time axis)
- Melodies (counterpoint-like runs using those rhythms)
- Parts with multiple phrases building on the above
- Harmony
- Entire songs with a generated structure and narrative
We are also experimenting with a module that generates new modules. If this works out fine, which I have good reason to believe at this point, we'll have the ultimate infinite library. Think of a genetic pool evolving over time. Somehow evokes images of a grinning mad scientist, doesn't it?
The language is already finished and running (a lot of pioneering work, btw). We're in the process of collecting modules and designing the user interfaces, which will go along with the general user interface overhaul that's already in the making.
Sat, 2019-11-23 - 16:25 Permalink
Well, if those songs can actually please every composer is still an open question.
At least they will be consistent within their own musical logic and, hopefully, one out of ten generated songs will include enough inspiring material to get started with somehing fresh. I find it way easier to edit existing stuff than to come up with something from scratch. This will help overcome the 'blank canvas' paralysis you fall into when there are too many options in the beginning.
This generated stuff will also allow you to be more radical and surprising!
Sat, 2019-11-23 - 16:43 Permalink
This sounds more than amazing. I'm just missing the words for it!
Will the generative programming language interface be exposed to interested users for creating own scripts?
I have some ideas in mind on what entities to generate...
Sat, 2019-11-23 - 16:49 Permalink
one out of ten generated songs will include enough inspiring material to get started with somehing fresh
I couldn't hope for anything better. Even if it were one in twenty, it would be amazing and would save the composer a stratospheric amount of time.
The YouCompose app is very basic, but conceptually it's not bad at all. It composes short musical forms -and even short symphonies (!)- on musical phrases generated by the application itself or provided by the composer. It's not uncommon for the output to be usable.
But what makes you love it, is the time saved...
Sat, 2019-11-23 - 17:18 Permalink
Will the generative programming language interface be exposed to interested users for creating own scripts?
Big question. It's a rules-based language, not unlike PROLOG, with special elements that carry musical context. It is a far cry from scripting (although it is able to control the phrase editor). I'd think, to get a full grasp of it, you'd need a degree in computer science or math. Whether that is something musicians would want to deal with, I don't know.
Within the Q2 2020?
Sounds realistic, but can't promise. I have been working on this for more than two years now (with several failed experiments on the way) and am more than eager to finally show something that gets everyone excited.
Sat, 2019-11-23 - 17:23 Permalink
This generated stuff will also allow you to be more radical and surprising!
On a side note, this is what personally motivates me most as an artist. For whatever reason, my music tends to end up cheesy and soft. Building on generated elements will allow me to work with harsher, more extreme stuff that I can polish out. This might turn composing more into a process of discovery, which I find very promising.
Sat, 2019-11-23 - 19:12 Permalink
André, It sounds fantastic.
And I hope, and expect, you will do a better job than many other "intelligent" programs. (With no offence: Orb Composer, Rapid Composer, Pizzicato, Liquid Music, Improvisor, Riffer, Random Groove Generator, The Palette, Melody Generator II v.4, Virtual Music Composer, Nodal, Nova3, OpusModus, Bach, M).
Still I hope there will be room for creative influence on some parameters, like, amongst other:
- Overall: Choosing some basic style: Classical - Cinematic - Pop - Jazz - EDM / Disco. (With, very simplisticated, characteristics, from: Close melodies and simple rhythmes > to: > Jumping/arpeggiated melodies and complex rhythmes).
- Overall: the degree of change / variation.
- For melodies: the form of motive development (ascending, descending, arc up, arc down, ..... etc.)
Good Luck!
Sat, 2019-11-23 - 23:33 Permalink
room for creative influence on some parameters
Absolutely. To allow for this, I have avoided the neural network approach (deep learning - the hip tech of the moment), which is great at recognition and imitation, but not so much at building up unique expression and structure.
Sun, 2019-11-24 - 11:01 Permalink
I'd like a software with a robust assisted composition section. The composer assigns to the computer a task like: given the following xyz chords, the following extension, the following rhythmic accompanying figures, then please generate 250 possible melodies formed by 4+4+5+3 measurements with the climax repeated twice at least 5 measures apart.
In other words, I would like the computer to do the dirty work for me...
Sun, 2019-11-24 - 12:42 Permalink
Making a natural language interface for assigning tasks would keep a mid-size team at Google busy for years. That's not something we could ever accomplish.
What is absolutely doable is filling a structure with content that makes sense musically. This is an incremental process. You generate stuff and keep what you like while moving forward.
Or you generate a library and then use it like a palette for drag & drop composing.
It is important to keep in mind that Synfire doesn't implement style. The composer does so by making deliberate choices! I can imagine a number of presets though, that resemble a range of styles to start with. Otherwise, if one started from scratch, going from EDM to Orchestral by moving knobs and sliders would be quite a challenge.
Sun, 2019-11-24 - 14:42 Permalink
Making a natural language interface for assigning tasks would keep a mid-size team at Google busy for years. That's not something we could ever accomplish.
Of course, I was thinking of a graphical interface, not by command line!
A music modeling software with sliders, knobs and colored lights, an interface similar to RapidComposer or Riff Generator by InSessionAudio.
https://insessionaudio.com/products/riff-generation-outside-in/
Sun, 2019-11-24 - 14:48 Permalink
Otherwise, if one started from scratch, going from EDM to Orchestral by moving knobs and sliders would be quite a challenge.
Ok, but suppose that you want to fade the end of one section over the beginning of the other, roughly as Synfire does by morphing between containers. Will there be a simplification of that function? In my opinion it's essential for those who make music for movies, for example: think about the transition between a busy scene to, suddenly, a static one.
Sun, 2019-11-24 - 14:59 Permalink
A music modeling software with sliders, knobs and colored lights
Nah. Not static stuff at a low level like that. Looks like step sequencing. More high-level properties that control distribution probabilites of structures, rhythm, recurring motifs, self-similarity, etc.
Morphing already does what you describe, but it can certainly benefit from presets for morphing entire containers.
Mon, 2019-12-02 - 17:06 Permalink
Rhythm is any pattern on the time axis (not unlike the Step parameter). Whether you use that for drums, bass or melodies, is entirely your choice.
But these patterns must not be random. Music is highly structured and organized, which is the opposite of random! And that's where the music-as-a-language approach will come into play. Language is extremely expressive, but never random.
If you carefully listen to a drum pattern, you'll recognize it as a 'sentence' of sorts of a rhythmic language. There are tiny motifs, references, variations and similarities, which can be written down as a hierarchical structure with random variables. But what is produced isn't random anymore: It has deep structure (not unlike those CGI tools that generate random landscapes and planets).