Posted
Export Clips (at one time discussed in Feature Requests as 'Snippet Bounce to Disk')
Hi,
Getting started with Export Clips (aka 'Export Audio Loops')
I made my first attempt ...
It seemed to go well, with each of 48 snippets visited and played for export.
Where do I find the output files?
Do., 19.09.2024 - 16:08 Permalink
I think it would be good if the path to the output files was displayed somewhere, possibly as the clip export is being done:
or possibly in a pop-up when the export is complete.
Do., 19.09.2024 - 16:09 Permalink
I get the runtime error dialog every time I try to export a single clip.
There doesn't seem to be a crash report to send in.
Do., 19.09.2024 - 16:45 Permalink
Hi again.
I just realized that my most common working scenario is one that may not have been considered in the initial implementation of Export Clips.
To wit, I'm usually driving an external multi-timbral hardware instrument:
The reason this is my most common working scenario is that I have many dozens of carefully crafted and vetted "full band" multi-timbral setups in my Yamaha Motif. And all of them are just one MIDI command or knob twist away. This resource would take me years to recreate from scratch in soft-synths.
That said, it is a ToDo for me to at least come close to representing a handful of those setups via soft-synths, but I know as a practical matter that I will never have the time available to "remake" this extensive resource in in anything close to it's entirety.
This leads to my questions:
- Is there currently a way to be capturing the audio generated in the external hardware for use in the Synfire Export Clips operation, with output file results just as-is the audio were being created internally?
2. Assuming the answer to #1 above may be "No", is that a kind of change that might be possible to work into Synfire at a future point? ( IOW, to be able to accept and treat incoming audio from external hardware in the same way(s) as internally generated audio is treated wrt. Export Clips.)
Thanks for considering what is or might be possible here and letting me know.
Do., 19.09.2024 - 16:46 Permalink
The files are created next to the arrangement. File >> Show File In Finder (or: Explorer)
Do., 19.09.2024 - 16:53 Permalink
The files are created next to the arrangement. File >> Show File In Finder (or: Explorer)
If all my instruments were external connections, like the post just above, would the files be non-existent?
Do., 19.09.2024 - 16:55 Permalink
Is there currently a way to be capturing the audio generated in the external hardware for use in the Synfire Export Clips operation
Unfortunately this is not possible. In order for Synfire to be able to capture and trim its audio output and account for PDC involved with FX chains and mastering tools, it must render the stream itself.
It works with external servers in the LAN, like VEP, or any hardware that sends audio output back to a plug-in for streaming.
Do., 19.09.2024 - 17:18 Permalink
It works with external servers in the LAN, like VEP, or any hardware that sends audio output back to a plug-in for streaming.
Thanks.
VEP? Is that this:
https://www.vsl.co.at/en/Vienna_Software_Package/Vienna_Ensemble_Pro
(looks like it is back-to-school time for me)
Are you saying that with this software, properly configured along with Synfire, the issue I've described above is definitely solvable?
Do., 19.09.2024 - 17:21 Permalink
VEP is for hosting plug-ins on different computers in the LAN. It can't (probably) handle analog signals either. I just mentioned it as an example for what's possible regarding remotely hosted sounds.
Do., 19.09.2024 - 17:33 Permalink
Here is a possibility that occurs to me.
I have and use Gig Performer, which offers a feature they call GP Relay. It works like this -
In Gig Performer itself, you put a "GPSender" anywhere you want to in the signal chain (which is a giant wiring diagram that you can tap into anywhere).
Then, over in your DAW, you put a "GPReceiver" which is a VST plugin that knows how to receive from a GPSender. You set them to the same # and voila, the datastream from Gig Performer appears in your DAW for recording, etc.
Since Gig Performer itself can accept audio input from my MOTU audio interface, to which I have the Motif keyboard connected, it seems offhand like I should be able to route that out of Gig Performer via a GPSender which will talk to a GPReceiver plugin loaded in the Local or Global Rack in Synfire.
Is that logical?
Do I understand that so long as the audio I want is available inside Synfire from a plugin hosted by Synfire, then the Export Clips operation should be able to work with it? (mix it in and print it)
Do., 19.09.2024 - 17:44 Permalink
That might be worth a try.
There will be added latencies that Synfire cannot account for when it trims the files. The clips may be trimmed slightly off beat.
If latencies can be adjusted somewhere, run a drum kit in the Audio Engine and synchronize it with an analog drum kit from the outside.
Do., 19.09.2024 - 17:58 Permalink
Thanks.
Making an attempt leads to another issue:
Is there a difference from Synfire's POV between a VST "Instrument" and a VST "Effect"?
Does there have to be?
Do., 19.09.2024 - 18:06 Permalink
Yes. FX require input, instruments don't. You can load that FX into any insert slot. If it's a global mix you could load it into the AUX module of the global rack also.
Do., 19.09.2024 - 18:35 Permalink
OK, I see:
FX require [audio] input, instruments don't
Thanks.
Let me ask about the Audio Engine ...
Would it be correct that references to Synfire's "Audio Engine" are really a shorthand way to say "Synfire's Audio Output Engine"?
IOW, everything offered in the list above is a system output that Synfire can stream audio out to, yes?
Wouldn't it be more-or-less a reverse use of the same underlying tech to write a "Synfire Audio Input Engine"?
IOW, to give to Synfire the ability to connect to system inputs and accept an audio stream from them.
Certainly it would be a task - but I'm thinking that the fundamental building blocks for it probably already exist.
And if "Synfire Audio Input Engine" existed, then Synfire could manage the latency correction too.
True, not true? I'm thinking out loud here ...
Do., 19.09.2024 - 18:44 Permalink
I found a way to load the GP Relayer -
The pic above, of course, shows that effect inserted after an instrument plugin (ARP 2600, in this case).
I presume that's a problem (?).
Is there a way to insert the GP Relayer effect under a blank/null entry for the associated Instrument plugin?
Or, could a 'Null Instrument' plugin be written to be used for that purpose?
Do., 19.09.2024 - 19:38 Permalink
Audio Engine is a headless "DAW" that runs in the background controlled by Synfire. It is not a system audio device like ASIO.
You can load the FX into a rack module, select a device (can be a dummy 1-channel thing) and let it sit there. No need to assign an instrument. It just feeds its output into the master output.
Do., 19.09.2024 - 19:59 Permalink
You can load the FX into a rack module, select a device (can be a dummy 1-channel thing) and let it sit there. No need to assign an instrument. It just feeds its output into the master output.
Embarrassing to say, but I don't understand these instructions, even after some experimentation.
Any chance I could get a step-by-step guide for implementing the suggestion, starting from a blank arrangement rack?
Do., 19.09.2024 - 20:03 Permalink
Audio Engine is a headless "DAW" that runs in the background controlled by Synfire. It is not a system audio device like ASIO.
An output-only DAW, or is it bi-directional?
Do., 19.09.2024 - 21:28 Permalink
Doubleclick on the empty rack space to create a module. Drop an FX plugin on it.
Do., 19.09.2024 - 22:30 Permalink
Doubleclick on the empty rack space to create a module. Drop an FX plugin on it.
Exactly so. Thanks!
So, when I do that, with my Motif audio routed thru GigP and out Relay #1 then I can run a snippet connected externally to the Motif and see the Motif audio come back into the GP Receiver in my Synfire rack.
Just want we want to see, but ...
the Export Clips process still produces silent files.
It seems that either the audio from the GP Relayer FX is not actually routed to the Master, or else the Master is not connected to the final file output during the Export Clips operation. or else ???
Another Q: How would I monitor in Synfire the audio we see above coming into Relay #1?
I easily monitor it externally, but that is not the same thing.
Thanks for what you can tell me here.
Do., 19.09.2024 - 22:37 Permalink
This the the rack module where the GP Relay Device is living:
in case there is something relevant to see there.
BTW, I think that what I'm aiming at here with Gig Performer and the GP Relayers is essentially the same things as using a Blue Cat Connector ( https://www.bluecataudio.com/Products/Product_Connector/ ). I mention this because if the approach is valid for Synfire, or can be made so, then the tech involved seems to be generally available for users.
Fr., 20.09.2024 - 11:15 Permalink
Might work with an AUX module on the global rack. That module is able to load an FX plug-in directly. Drop one from the sidebar and load the relay.
Fr., 20.09.2024 - 11:58 Permalink
Hi. Thanks for the suggestion.
That worked very well, as far as the monitoring is concerned. The external audio from the Motif arrives thru the GP Relayer into the Synfire rack module and I hear it.
Unf., for some reason, the Export Clips process now produces no output - no directory, no files, nothing, even though it appears to run.
Fr., 20.09.2024 - 13:19 Permalink
I imagine that the audio from the Instruments to which each snippets group is tied is mixed into the Export Clips process, whereas any audio coming in from the AUX bus currently (2.5.0) is not.
It seems though that using the AUX bus as an input for external audio, as demonstrated here, is a working proposition, and so if the AUX bus could be a participant in the Export Clips process then everything desired wrt. using external hardware as the source should be technically (and hopefully straightforwardly) possible.
Even any latency from the AUX buss should be correctable (?), but if not, it can be lived with (as opposed to not being able to do this at all!)
I think we would need 3 modes or the Export Clips process:
- Ignore the AUX bus (much of the time there would be nothing there anyway)
- Use only the AUX bus as the audio source. (IOW, all the desired audio will be coming in externally)
- Mix in the the AUX bus along with the internal Instruments (when a blend is desired)
Or perhaps these use-cases can be accommodated somehow without specific modes (?).
Fr., 20.09.2024 - 13:28 Permalink
A few general questions -
When a snippet doesn't have its own embedded Harmony parameter, what Harmony is the Export Clips process using for that snippet?
Does the presence of Harmony-only clips in the Snippets Grid have any effect on the Export Clips process at all, or are Harmony-only clips in the grid ignored?
To confirm what I seem to observe, has the previously discussed 3x playback for exporting clips been set aside in favor of 1x playback?
Fr., 20.09.2024 - 17:57 Permalink
Clips are recorded behind MASTER output which includes everything you hear.
When a snippet doesn't have a Harmony parameter, the currently selected harmony snippet is used. You must select one before you begin the export.
Only clips that produce output are exported. Harmony snippets and parameter-only snippets don't.
Each snippet is played 1x plus 1m gap for all sounds to settle.
Fr., 20.09.2024 - 21:34 Permalink
Only clips that produce output are exported. Harmony snippets and parameter-only snippets don't.
Maybe this is the key to the null results I've reported above.
Is it the case that routings to external instruments are considered by the Export Clips operation as "not producing [audio] output", and thus skipped?
If so, just the fact that I have some external audio routed back into the AUX bus is not going to change that.
And again, if so, we need to be able to tell the process "no, really, just pretend the audio is there, because it is (on the AUX bus!)".
Fr., 20.09.2024 - 22:14 Permalink
You are genius. Yes, that's the culprit. External MIDI is not considered producing audio output.
Not sure how to solve this yet, but good to know.
Di., 01.10.2024 - 15:42 Permalink
I'm wondering if using a "relayer" in an insert slot as discussed above seems like the desirable way to go, or if the "headless DAW" can be used to offer at least one stereo input (from the system) to be used for creating audio clips when the sound is generated externally.
Mi., 02.10.2024 - 17:35 Permalink
Creating audio clips/loops from external input is fundamentally difficult. Loops must be cut with sample-precision. The advantage of virtual instruments is 100% timing control and transparent PDC.
Doing that with external input and its varying latencies is hard. Adjusting for latencies manually may be possible in theory. Doing that in practice takes many (many) retries and judgement purely by ear. And then these latencies change every time you modify something with your external hardware. That's a lot of effort for an export job.
Some of this could be automated with tricks and hacks, making this a major new feature. I don't see many users using it, though. The overwhelming majority of users uses virtual instruments for music that lends itself to audio loops. Those with external hardware probably prefer dynamic Snippets anyway or use MIDI loops export.