Direkt zum Inhalt

Figure Preview / Instant Playback and DAW synced Drums plugin

Posted

Hi,

to circumnavigate the lack of a "drum & percussion" specialized figure editor - I wish there was one, but I can understand that its not the core focus and purpose of synfire - I will use a VST Drum & Percussion plugin that delivers sounds, pattern creation & playback.

Hence the only thing I need to "program" in Synfire is to switch the preset patterns by means of custom controller or MIDI notes that are "MIDI learned" in the VST Plugin.

Currently I am testing Playbeat 3 from Audiomodern (MDrummer seams to be another interessting alternative) and making good progress, but stumpled upon an "oddity" : the instant preview / playback feature of Synfire when a figure is created or selected, which is a nice feature to have, also starts the Playbeat Plugin which is set to "sync to DAW", which in this case is Synfire.

Which means, as soon Synfire starts it transport for "instant preview" of the drawn or selected figure, so Playbeat will start as well and the currenty active drum pattern will be audible.

And by the way : its not visible that the "instant preview" feature starts the transport for this (the button in the transport visual do not change), but I think that's the case, as Synfire has to trigger and feed the Instruments (VST plugins) with MIDI to produce an "audible preview" of the figure ... but which could also be done without starting transport, as e.g. one can play an instrument in a DAW with a MIDI keyboard, which means as long as MIDI input is armed for that instrument, there is no need for DAW transport to run.

This kind of "DAW sync" in combination with the preset switching via single MIDI CC messages (custom controllers) oder MIDI notes as triggers, cannot always sync to the right position in the timeline of the synfire arrangement (this is a drawback of this circumnavigation / technique), and hence the "instant playback" of figures will trigger the "wrong" drum patterns - so far, so clear and no problem (its not a bug, its a drawback ;-).

BUT if I try to mute the entire instrument (Playbeat) in the arrangement rack - in order to focus on figure composition and using instant playback on purpose - the audio output of Playbeat is still audible.

I can imagine using "mute" on the track in the structure page won't work, as it only mutes the figures (and generated MIDI) of the track - hence Synfire starting its transport for its instant playback of a drawn or selected figure, will also activate Playbeat as its "DAW snyced" and does not need any MIDI notes to produce audio output.

+++

A workaournd would be to turn this feature off via menu Playback -> instant feedback or via the Speaker button in the top most toolbar, but there are lots of situation in which it is very useful and more than nice to have.

Any ideas to use "DAW synced" plugins for drum & percussion pattern composition and playback and programming their "pattern / preset switching" in Synfire are also very wellcome.

Cheers

 


Do., 26.10.2023 - 14:39 Permalink

This is a known issue. As all plugins are on the engine transport, they will get the playhead position supplied no matter what the purpose of the transport is - preview or playback

Do., 26.10.2023 - 17:08 Permalink

But what's about the mute of the instrument in the track header respectively in the arrangement rack?

If I mute an instrument (at least in the arrangement rack), I expect that no sounds will audible from it, independent from note input or a running transport causing a playback of an internal pattern.

But muting the Playbeat instrument in the arrangement rack has no impact - its sounds & patterns are still audible.

Veriying this very quickly with the Pigments Synthesizer, it seems to be (it sounds like) that mute only sends a "all notes off" and does not use the Audio Engine to mute the audio output of the instrument / plugin, as I can still hear the delay & reverb tail after muting the instrument track.

Do., 26.10.2023 - 17:20 Permalink

Mute prevents notes from being passed to the loaded plugin. It does not cut off the audio stream as there may be other instruments also provided by the plugin.

Do., 26.10.2023 - 17:39 Permalink

Okay that makes sense, although its strange ;-).

Moving on to MDrummer I experience another issue : with a Pitch Symbol I cannot get notes lower than C0.

In the attached screenshot you see a Pitch symbol at C-1 (see the Figure Parameter Inspector), but Synfire plays C0 and its also the note that's beeing rendered on export, as you can see in Ableton MIDI Editor.

I set the category of the instrument (MDrummer) to Synth (and not Drums) to get the full range of MIDI notes.

Do I miss something else?

Attachments

Do., 26.10.2023 - 18:06 Permalink

Move the symbol down with the arrow keys. C0 vs. C1 is merely a label that depends on what is considered middle C. 

Do., 26.10.2023 - 18:38 Permalink

There will be an option to automatically mute unused plug-ins. 

That should fix the DAW-synched mess. And it will also finally silence Synthesizer-V Solaria, who's currently singing along every phrase I am playing ;-)

Do., 26.10.2023 - 18:57 Permalink

Im using another drum VST and it is DAW synced. I did notice this. I usually wil just have the drums playing in the back ground just to get a rough idea of the groove I am looking for. When it plays, Ill just press on the transport to mute the drums. Ill make final drum edits in my DAW but not for much longer...

 

I have Mdrummer and I really like Mdrummer but please save yourself the headache. Dont get me wrong, if you can get it to work with Synfire, you are the man but two beasts working together? There is bound to be some technical difficulties somewhere down the line. Thats alot of complex programing. 

 

An alternative could be to just use a drum sampler that you can trigger and where you can create your own drum sounds. The pitch symbols in Synfire are really underrated. You can literally create your own drum phrases, save them and reuse them later like building blocks. This is actually amazing.  You can set up your own simple loops just to preview your stuff right in synfire. Which I havent done yet but plan to this weekend!

Do., 26.10.2023 - 23:38 Permalink

@andre : that's great news, because it will help in several situations ... and your hint on Synthesizer-V Solaris is awesome, if their YouTube Trailer "Erode" isn't a fake ;-).

I was looking for a real sounding "human singing voice synthesizer" for a long, long time and did some experiments with Vocaloid, which is nice, but in the end it sounds artifical - nice for a background singer or some specifc genre style, but its not a "real singer alike" ... but the "Erode" trailer of Synthesizer-V Solaris makes my creative heart vibrate in pure excitement!

It's a off topic, but what are your experiences : is it "real alike" and worth to explore and dive into?

+++

@housekeeper : moving down the symbol in MIDI pitch range does not help, as the output keeps being nailed on C0 and this happens for the Synfire internal playback as well as the MIDI file drag & drop to Ableton. 

To understand the screenshots I attached : the red key in the keyboad visual of the MDrummer UI is the MIDI note that it receives and which triggers a correspondig loop.

And by the way : the UI & concept of MDrummer could be a nice inspiration for Synfire, to combine its existing Factory features for Drums with a new Drums & Percussion Editor ... the most basics in less the 2 min (from 2:28 till 4:04) :  https://www.youtube.com/watch?v=qfXuNcfDuIA&t=148s .

BUT I found the cause & the solution : its the middle register playing range - it clips the rendered MIDI Note to C0 (refering to the logic of the Interpretation parameter).

After giving the middle register playing range the full MIDI Note range, Synfire rendered MIDI Note output as expected.

Or in other words : the Pitch symbol seems to be tied to the middle register playing range, which is a surprise as I though Pitch Symbol means fixed pitch and no further interpretation by Synfire.

Anyways ... problem solved ... have a nice day.

Fr., 27.10.2023 - 12:55 Permalink

I think Synthesizer-V Solaris is awesome. I much like the voice in the lower registers (probably not intended for a soprano, but really has something to it). Haven't tried the other voice databases yet.

If the AU/VST3 API wasn't so primitive and limited, data exchange with plug-ins like this could be so much more powerful, e.g. Synfire could provide the notes AND lyrics, so you don't need to manually edit them. Synfire could even use the ChatGPT API to generate random lyrics, which are ok for composing/songwriting purposes.

Pitch symbols should probably ignore playing ranges altogether. Thanks for pointing this out.

Fr., 27.10.2023 - 13:02 Permalink

Regarding drum pattern editors, I always thought these 1/16 grid blocks are too rigid and simple. I get that many users got used to them from groove boxes and other hardware and some DAW have added them. 

Drawing pitch symbols in a 1/16 grid is pretty easy already. Not sure if a dedicated pattern editor would add much to that other than looks.

Fr., 27.10.2023 - 16:44 Permalink

Well it would be cool to have a dedicated drum editor or dedicated symbols for just drums. This way a lane could be locked to a specific percussive layer. Ex: The 0 lane will always denot the Bass drum. This would help in rerouting drums from different players. This could also help synfire automatically reroute Drum phrases that were pulled from one drum vst to the next. Not to mention, this could also enhance the drum factories generate more intricate patterns that can be used with other VSTs as well. 

This actually could help with drum phrasing as well. If we have a complex drum that is a figure,at the moment, if we dragged it onto a drum instrument with a different VST it could trigger incorrect drums. If the lanes are denoted and recognized by Synfire, synfire now as the knowledge to reroute it to the correct triggers, assuming the device has been setup and added in advance.

Fr., 27.10.2023 - 17:50 Permalink

There is already a widely recognized GM pitch mapping for drums. It's very practical and most drums MIDI files use it. Synfire displays the instrument names on the parameter inspector for drum kits.

Using a small number of lanes for drum instruments works for some popular music styles, but many other styles require more flexibility.

A pattern editor would be incompatible with Figure (reverse mapping not possible). It would have to be a separate parameter with its own inspector, etc. It's worth thinking about.

Sa., 28.10.2023 - 20:00 Permalink

@Andre : I heard your little work in progress - very nice and I am more than impressed about this Solaria voice, I am blown away. 

That even sharp sounding consonants are so clear and smooth ... unbelievable but great ;-).

Honestly Synthesizer V and the Solaris & Asterian voices are another level (compared to Vocaloid) and a game changer for me. 

This warmth & soul and smooth power in the voice of Asterian is awesome too.

Also the Hayden voicebank sounds quite nice, especially in this little user composition (https://youtu.be/zBqIsthfcp0?feature=shared), as in this piece the voice has less "sh" sounds as in the demo song from Dreamtonics - whereby this was maybe explicitly composed with a voice mode or parameter, but even if not, could most probably be tamed by a plugin like iZotope Nectar.

But the Solaria and Asterian voicebanks from Eclipse Sounds are outstanding, which I believe is due to the excelent human performers who lent their voice - their full & rich sounding voice really shines through and is preserved when we create new melodic lyrics they never have sang before. 

So after listening to a lot of examples on YouTube and fiddling around with the free basic and lite voicebanks version I am convinced and will buy the full version.

+++

As you mentioned the AU/VST3 API and already sketched a "wishful" workflow between Synfire and Synthesizer V, you hooked me on it ;-).

I saw their scripting feature, supporting JavaScript (uses the Duktape embeddable Javascript engine and I am not sure if its possible to load third party libraries) and Lua and in this Video (https://youtu.be/qXsiC32PSqU?feature=shared) a user shows off the usage of ready made script to let the voice "growl".

The scripting manual (https://resource.dreamtonics.com/scripting/) states : "What is possible with scripting? ... Read, add, edit and remove notes/groups/parameters/tracks ... Access and modify the current selection (of notes and groups)".

Curious if lyrics can be chamged this way too, which would be essential - I did not dig into it yet.

I do not know if this is the API you were talking about, but what came to my mind - assuming that what you wrote means the Host -> Plugin API is not that useable - let's use a path outside the tools : use a Synfire export and import it with a JavaScrip / Lua script into Synthesier V and update the MIDI Notes and Lyrics.

Whereby this is no fluid and "frictionless workflow", it could still be better, faster and much less cumbersome as to reedit the MIDI notes (and maybe the lyrics as well) in Synthesizer V with every change and creative exploration of another harmony (chord progression) in Synfire ... what makes Synfire so great, gets stuck in the front of Synthesizer V ;-).

I did not experiment with the Synfire export by now, but I saw that MusicXML is an option - hence everything what's needed should be present there.

Just as an idea : if there could be a specialized export for such a voice track in JSON format the work that has to be done JavaScript (JSON parsing is a breeze, XML parsing is like climbing nested spiral staircases of for-each's ;-) and maybe even in Lua could be substantially lowered.

Disclaimer : I did not check / research if their scripting api supports a file import.

What do you think?

 

So., 29.10.2023 - 17:04 Permalink

My pleasure ... Synfire working hand in hand with Synthesizer V would be really great - writing songs not only with lyrics, but also immediately sung by realistic sounding synthesizer is a entire new level of song composition.

Although Synfire claims only to be for music prototyping, joining forces and capabilities with Synthesizer V, puts working with Synfire into a another room - together with a great vocalist.

Yes I know, all that host automation stuff and "sound designing" the output of the instruments with chains of audio effects etc. is not possible, not meant to be done within Synfire ... BUT ... having a great singer in the room is a completely different & "leveled up" story - well, fun & musical joy, depening of the genre of course.

Just as an intro ;-) ... in my opinion, its real worth spending time, thoughts and effort into this setup, to make it work as smooth as possible.

+++

Doing a little more research, it seems that it would take some effort to bring this "couple together" ;-), ontop or beforehand the already mentioned "note & lyrics" exchange, as the lyrics parameter of Synfire is not compatible with Synthesizer V.

The syntax of distributing the syllables of a sentence is different, most obvious the underscore character "_" in Synfire functioning as an extender to let the syllable sound over multiple notes in succession AND the minus character "-" in Synthesizer V, which does the same and is called legato : https://manual.synthv.info/quickstart/entering-lyrics/.

The spelling and arrangement (with characters like +, - and others as well) of the lyrics is cruical for Synthesizer V and goes beyond that seems originially intended with Synfires lyrics parameter, which I think was for a proper print out or usage in other notation software.

There are also some other "Voice Commands" that are used alongside the normal words of the lyrics like "br" and "hh" for generting breath sounds, which in some cases are really needed to smooth out artifical sounding artefacts - not only for a realistic sounding voice ... and which are completely unknown to the lyrics parameter of Synfire, but as they are meant to use similar as syllables (duration of a note), they should be not that hard to support.

I found this awesome tutorial for Synthesizer V that shows the aspects mentionied above and other techniques to smooth out artifically sounding artefacts, which is really impressive - its worth spending 22 min watching this : https://www.youtube.com/watch?v=5RtWbhC6lkI. And besides that, the channel seems to have further great tutorials on detail technical aspects of Synthesizer V.

+++

The points I see so far : lyrics are crucial for Synthesizer V and not only for "getting the words in" that should be sung, but to programm or parameterize the AI based algorithm for best sounding or creative results.

That's a different purpose than the existing lyrics parameter of Synfire has. This might call the need for a different lyrics parameter mode or an entire new parameter, so that the existing workflows keep working as expected (never ruin a beloved feature ;-). Not mentioned the transition of the data from Synfire to Synthesier V.

This smells like a need for a cooperation of Cognitone and Dreamtonics to make this working out in a smooth manner, where both companies have to do work on their side and Synfires lyrics parameter becoming likely a (another) lyrics editor for Synthesizer V ... a very specialized feature, for a (only currently ?) not as huge group of user benefiting from this.

Another more hack alike approach : one or two pieces of software that implement a bridge between Synfire and Synthesizer V - from Synfires MusicXML (or specialized version) export to a Synthesizer V script ... but this cannot be as frictionless and easy to use as a direct interaction between Synfire Host and the Synthesizer V plugin.

Just my 2 or some more cents ;-).

So., 29.10.2023 - 22:28 Permalink

… its getting even more complex … as always if the research digs deeper ;-)

First of all the phonemes take a huge role in the quality of the outcome and can even completely substitute the lyrics.

Great explanations & tutorial on these : https://youtu.be/Ueu22VTwVmU?feature=shared

Also the several adjustable parameters can have a great impact, where one of them might directly have an impact when syncing Synfire Symbols (MIDI note output) to Synthesizer V : the somehow automatic Pitch curve and the ability to adjust it with the pitch deviation parameter. 

Which means that Synthesizer V automatically creates pitch curves between the individual MIDI note pitches and it seems to be not seldom that these needs some adjustments to get the kind of expression we need for a song.

These Pitch curves can be easily edited in a parameter curve inside Synthesizer V editor (as an offset), but they make only sense for certain pitches.

So if we update the harmony parameter in Synfire and get new pitches into Synthesizer V - even if the MIDI note sync would be seamless - the previous crafted pitch curve might now sound wrong.

So MIDI notes and lyrics are not the only aspects for a great souding Synthesizer V patch and its editor exists for a good reasons respectively great sounding outcome.

Whereby these are aspects of getting the sound quality realistic and nearly to ones taste, one can argue that this is beyond the music / song prototyping stage.

But that’s like sound design for lead synthesizer sound - would one use a bad sounding lead sound to compose a melody in Synfire?

In the end it’s a matter of taste and how sensitive the composer (aka Synfire & Synthesizer V user) is to the human voice.

For me a singer or vocalist is even more present and dominating the feeling of a song like a lead sound and hence hearing a singing voice that’s sound off or artificial, kills my creative flow ;-)

+++

The good news are : Dreamtonics is about to add ARA support, which might help the Synfire Host to Synthesizer V plugin communication, see : https://forum.synthesizerv.com/t/topic/10189.

I do not know if the ARA interface can be used for other data exchange than audio, but at least it means Dreamtonics is open to and currently working on I/O with DAWs - maybe a good time to get in contact with them ;-).

There are great examples for Synthesizer V scripts by a pro user that shows file I/O in Lua script and other essential actions (processing notes, lyrics, phonemes) :  https://claire-west.github.io/svstudio-scripts/

cheers

Di., 31.10.2023 - 23:54 Permalink

Andre, as I am digging deeper into Synfire, I believe I can speak for several folks by stating, we would love some type of Pattern editor.

I've seen this come up several times before in the forum before but I say it again, I would love more flexibility editing drums. I like the static pitch symbols, dont get me wrong...

I realized I can create a separate instruments for each drum part and edit them individually. Thats a tedious workflow for drums as the whole kit has to work together. What if i want to make a simple Tom Roll between my toms? Id have to paint them on each tom, separately and they wouldn't even be a single phrase at that point.

I would like the ability to edit lanes in a drum instrument separately. This would be fantastic. 

The ability to apply parameters to individual drum parts, the ability to implement polyrhythms in a single Drum instrument, the ability to paint drum rudiments directly ,BFD3 has this and it literally sets them apart from almost any other drum sequencer. The ability to select and paint rudiments between different parts at once, then it become a phrase that you can later use. 

Maybe all of this can be in the pattern editor. Please, please, please roll something out like this soon. This would be absolutely amazing. We would never need any other drum editor in the world.

So., 05.11.2023 - 01:17 Permalink

Hey Synfire team. Any thoughts on the above? This would be really, really benefical for all genres even cinematic compositions. If so, what is a realistic timeline looking like for something like this to roll out?

So., 05.11.2023 - 20:25 Permalink

Not yet sure how a drum pattern editor would work.

What if i want to make a simple Tom Roll between my toms?

That's one reason why pattern editors may not be ideal. There are five toms? So a pattern editor would fill five rows with buttons, only for an occasional tom roll?

I would like the ability to edit lanes in a drum instrument separately.

You can already do that. The rectangle selection is your friend. And you can even nudge symbols around in groups. Or change the sound with the arrow keys (transpose). There's a tutorial video, albeit for v1. With a pattern editor you'd have to enabled/disable each "button" separately. A fixed 1/16 grid also isn't enough for most rhythms.

Maybe I misunderstand what you have in mind. Can you show some screenshots?

Di., 07.11.2023 - 18:30 Permalink

Sure, only that the pattern editor would be capable of producing much more than elaborate Tom rolls, I dont want to limit it to Tom rolls. 

Im speaking of the ability to to assign Synfire's Parameters to specific drum lanes, within the drum instrument. This could possibly yield some great effects.

Take a look at BFD3's Drum editor. It is very efficient and realistic. Something like this can be a great, great addition to Synfire for prototyping complex orchestral drums quickly. At least consider the ability to paint drum rudiments directly onto the grid using like a special paint feature. One click would automatically paint a flam, for example. Then change it to a duplet roll, then one click would paint that roll, for example.

Sa., 02.12.2023 - 21:04 Permalink

I also desire to use (any of my): "VST Drum & Percussion plugin that delivers sounds, pattern creation & playback." and have the results be correct and usable within Synfire.

The OP has described the situation well, I'm just adding that I share the very same desire/need.

At the risk of stating the obvious, these are distinct concepts:

1.  Sending MIDI to a plugin
2.  Sending transport to a plugin
3.  Sounding/not-sounding the audio output of a plugin
4.  Allowing/squelching the MIDI output of a plugin

IMO, the full potential of Synfire-with-plugins cannot be reached without a design and implementation that gives the user specific control over all 4 of those items on a plugin-by-plugin (instrument-by-instrument) basis.

It seems like the best-possible (and I don't say "perfect in all cases") solution will have to involve consideration of both  a) how to give the user on/off control of everything relevant that is under internal Synfire control  and b) how to give the user an ability to send messages to command the plugin in relevant ways for on/off control of things that can only possibly be switched by the plugin itself.

As far as specific VST Drum & Percussion plugins are concerned, I nominate

Jamstix
Superior Drummer
Playbeat
Captain Beat

as worthy test cases.  I would be happy to be a beta tester for new Synfire capabilities in this regard.

I wouldn't expect Cognitone to stock up on a couple-of-dozen candidates and test them all internally.

I do however hope that this subject can be taken seriously and that Cognitone can bring design chops to bear that in cooperation with consultation and testing in the field will ultimately yield solid solutions that work very well, at least for most people, and most plugins, most of the time! ;^)

 

So., 03.12.2023 - 09:11 Permalink

DAW-synchronized plug-ins can now be disabled when they are not actively used in a playback. That fixes the issue the OP had with previewing phrases.

 

So., 03.12.2023 - 14:17 Permalink

Surely a good step forward!

Q.   Will it be relevant/necessary/desirable to distinguish between various different contexts of playback that exist in Synfire?     

I'm thinking specifically (but not necessarily only) of the difference between actually playing back an arrangement (or section thereof) as distinct from all the different little audition playbacks that take place at various spots in the program.

 

 

So., 03.12.2023 - 16:35 Permalink

Looking at the code, I see an entire class hierarchy under class "TransportContext". Your guess is correct. That's exactly how things are implemented ;-) 

Mo., 04.12.2023 - 14:33 Permalink

Hi Andre,

great news to have the „disable unused plug-ins“ feature - very helpful!

Besides all the thoughtful arguments and reasonable thoughts & wishes from the users above - regarding a Drum & Percussion „pattern editor alike“ feature in Synfire, the first and foremost that comes to mind : an appropriate visual representation of the drum types (Kick, Snare, HiHat …) for the static pitch figures with which we can compose drums.

A visual map of drum types and their static pitches, that can be saved as a preset, since a lot of drum & percussion plugins have different midi note keyswitches for triggering their sounds.

For this reason I referred to MDrummer (see YouTube link above), which is a great example for such an UI - but for sure not the only one.

We can program a drum & percussion track with static pitches, yes. But some days later, using a different drum or percussion plugin in the meantime whose keyswitches are different and also not General MIDI compatible, and the entire static pitch figure in Synfire becomes a mystery.

Imagined description of a user experience : What the hell do these static pitches trigger, its a percussive sound, yes - but which one? Do I really have to look it up in the plugin, or even worse if the keyswitches are not visible in the UI to look it up in the manual, or do I have to hear the figure and create a visual map of static pitches and their sounds in my imagination, that will be lost, in the next few days? (;-)

Once upon a time mankind discovered tailored and self explanatory user interfaces (driven by iconography & visuals that naturally explain what happens) that demystify the unknown consequence and behaviour of switches and knobs on complex machines ;-).

But if icons or other visuals cannot be integrated in the existing UI „that easy“, colors can help out. Colors alone can make a big difference, especially when they are supplied with an easy to use color palette that supports continuous tints of a base color.

What I mean by tints of a color : thinking in HSL color space you got a „source“ color, which is chosen by hue + saturation and the tints (or shades) can be easily achieved by various level of lightness.

Which means the figures with static pitch symbols will no longer have 1 color, but each MIDI Note pitch has or can have its own color.

So e.g. we could color the static pitches for several kick drums with different tints of red - the more boomy kick on midi note pitch X with a desaturated dark red and the more punchy kick on pitch Y with a saturated light red. The snares in tints of blue and so on.

As drums and percussions will most probably have their own track and will only be used / programmed with static pitch symbols, there will be no conflicts with the existing color scheme of the other symbols.

Just as an idea ...

Mo., 01.01.2024 - 18:51 Permalink

DAW-synchronized plug-ins can now be disabled when they are not actively used in a playback. 

Could this statement be elaborated on.

IOW, what does it mean to be "actively used in a playback"?

If the 'Disable Unused Plug-Ins' is checked, under what circumstances will we still hear a plugin?

And is that a global setting?   ... applying to all plugins which happen to be "Unused"?

Do I observe correctly that this setting is only accessible under the Structure tab?

It's weird and a bit difficult to me when things that apply globally aren't accessible in a single location.

IOW, I find it logical and intuitive when global settings are made on a Global Settings page (or similar), as opposed to being somewhere, who knows where, hiding among all the various pages, tabs, and menus that might be present in a program.