I’ve been trying to make a macro that performs a few operations, but surprisingly the one I’m finding hardest by far is just moving my track 0.005 seconds ahead. From what I’ve found, there is absolutely no way to move tracks with macros directly other than with Time Shift, which uses pixels, which is useless.
I saw in this thread the recommendation to just add silence to the start of my track. But any way I try to use Silence in my macro, it will either fail to work as ““Silence” requires one more tracks to be selected” or overwrite existing audio if it’s provided a selection.
How can I just add silence to the start of my track, not overwrite anything?
I think you can get a Macro to do all that. There are no decisions and all the work is plain tools performed on a single track.
Yup, that process works manually. But unfortunately in a Macro it throws the ““Silence” requires one more tracks to be selected” error every time. I’ve tried every form of Select command: Select Track, Select with 0-0 as the parameters, Move Focus to next track, all of them result in the same error.
Setting any kind of time frame for the Select command will result in the silence just overwriting that selection, not being added to the start of the track.
Steve’s suggestion is a little unwieldy, but looks like the easiest way to at least accomplish what I need. (Though your link appears to be set as Private?)
Thanks for the help fellas.
Sorry about that. Muse group changed the forum software, which unfortunately broke a lot of links and made many topics inaccessible. I’ve moved the relevant topic so that the link should now work.
@Jacksaur - yes I got that too when I tried to build a Macro to do that.
I’m thinking that it is a bug that the Generate Silence fails to work in the Macro - I would have thought that the macro should work as by moving the cursor to the start of the selection (or track) there is a selection in that track (indeed that’s why doing the same thing manually works).
I will consider logging a bug for this on Muse’s GitHub - but I won’t be holding out much hope for a fix as Muse are currently totally focussed on programming AU4.
Besides, Macros are riddled with known issues and there never seems any great urge to fix them:
So for now, the only route is @steve 's workaround.
further testing that underlying issue appears to be that although the Macro commands for the generators enable you to set a duration for the generator:
From this and from testing I infer that if you use the Macro to first set the cursor to the beginning of the track or the project then you only have a zero-length point “selection” - and Audacity is actually objecting to working the generator at zero length.
I.e. Audacity is just ignoring any settings you make in the macro command’s parameters - and instead thinks it wants to use the current Selection - indeed testing cofirmms this to be the case.
create a macro that generates 5 seconds of silence
Generate a 30 second chirp
select from 10-20 seconds
run the macro on the project
Observe: 10 seconds of silence is generated from 10-20 seconds
This is true for all generators not just Generate Silence.
This isn’t a bug, it’s an implementation detail, and it has its roots in how the “Silence” effect evolved.
In Audacity, “Silence” was written as an “Effect”, but was moved into the “Generate” menu for convenience. If you think of it as an “Effect”, then the behaviour totally makes sense - it processes the selected audio, setting all selected sample values to zero.
The confusion arises because when we use the effect manually via the GUI, we can override the default behaviour and insert silence, but when using a macro we can only access the underlying “Effect”.
If muse group add support for “Instruments” as has been suggested, then that will redefine how “generators” work.
@steve in which case why on earth is there the ability in the macro commands for generators to set a time duration for the generation?
It makes no sense at all if Audacity just ignores that and relies instead on the length of the selection, which in @Jacksaur 's use case (and my test use case is zero and thus useless, resulting in a somewhat opaque error message).
So perhaps the bug is that the macro generetor commands should not have the abilty to set a time duration for the generator - and thus be more clear to the user how they work?
Because those are real “generators”, whereas the “Silence” command is really an “effect”.
The inconsistency is that the “Silence” command is in the “Generator” menu, when technically it should be in the “Effect” menu. But on the other hand, for end users it is more intuitive to look in the Generator menu for “generating” silence.
You could raise an Issue on GitHub for a real “generator” for generating silence, but I strongly suspect that it would not be considered before Audacity 4 (or 5), and at this stage we don’t know if the current macro functionality will still exist in future versions of Audacity, or how generators will be handled when real-time generators become a thing.
My advice would be to wait until Audacity 4 is released, because until then we don’t know if the issue will exist.