Change tempo on macros bugged? [SOLVED]

I’m trying to do this macro having in mind i have two .wav files loaded:

Select All
Change tempo: To Lenght (0.4) (Just same lenght for both audios)
Mix Stereo Down to Mono (So i have two mono audios)
Stereo Track (New Stero Track))
Mix and Render (To get a stereo track)
Select All
Mix and Render
Apply Pseudo-Stereo Effect
Export Wav

But can’t figure how to do it correctly.

1.- Seems tempo is really controlled by % not the lenght. I mean, i can manually set to 0.4 and its set the % that fits to it for a X lenght audio. If next time the lenght audio changes that % will be different and the lenght not till be 0.4 . I don’t know if i explaining well.

How i can make that when i set “change tempo” via macro the audio files always are changed to X lenght?

2.- Get to mono tracks ans “Make Stereo” is no the same as Adding a new stereo track and render to get a stereo track. The first one got a better stereo sound due on each pan it sounds one. So after apply the Pseoudo-Stero looks great. But there is no option on on macros for “Make stero track”.

Any idea how to fix? Or maybe i’m complicated and there is a more easy way?

That is correct.

You need to use a “Nyquist Macro” which can calculate the % change required, and apply the Change Tempo effect with the correct % value.
I think I made a Nyquist plug-in to do that - I’ll see if I can find it…

Does this help: Missing features - Audacity Support

The Make stero track macro you posted does the same thing as add new stereo track and mix render with the others, also it says

“his Macro assumes that there is only one mono track”

But i have two different mono audios with different lenght, which i want to set same lenght and make one stereo track on each audio plays on a different pan, that is what “make stereo track” does when you have two mono audios. Then i apply that Pseudo-Stero efects to mix better the sound.

This is what i’m trying to do:

Load 2 different stereo sounds with different lenght
Set same lenght for both tracks
Set mono tracks for each one (Using mix stereo down to mono)
// At this point i have two mono tracks with same lenght
Make stereo track > Each track, sounds on a different pan
Apply Pseudo-Stereo efect that with delay/mix gives the final result.

Why do you need to use a Macro? Wouldn’t it be a lot simpler to just do it manually?

Really? Apply macro will be just one click.

Now i have to:

Select one track, set tempo to X lenght,
Select the other track, set tempo to Xlenght,
Select all > go to tracks tab for Mix Stereo Down to Mono
2 Clicks for Make Stero Track
Go to effects tab, scroll down, click on the effect desired and other click for apply.

This takes me around 30 seconds. Now imagine do this for 500 audios… the time and my hand, well…

Also wonder if there is a way to use the batch process picking two files instead one. So i just give a list 500 audios and:

Load two audios > Apply this macro > Export file
Pick next two audio files from the list > apply this macro > export file
etc…

So i can just do a few clicks and process all this for all the audios i want while i do other stuff.

but if you factor in the amount of time and effort to develop a Nyquist Macro (or some other “automation” method) to do the task…

Do you have 500 tracks to process in this way?

No there isn’t, at least not with Audacity’s “Macro” function.
I expect that it would be possible to develop a Python program to automate Audacity via mod-script-pipe (which is now included in Audacity), but you would need to know how to program in Python.

I’m not clear about what exactly you are trying to do. You wrote:

What is “the effect desired”? If that’s not the same in each case, then how is it possible to automate?

The effect / process is always the same. Is the Pseudo-Stereo.

So, seems for all the complex things with batch processing/Macros i’m gonna need a Python coder.

  1. Select All
  2. Change tempo: To Lenght (0.4) (Just same lenght for both audios)
  3. Mix Stereo Down to Mono (So i have two mono audios)
  4. Stereo Track (New Stero Track))
  5. Mix and Render (To get a stereo track)
  6. Select All
  7. Mix and Render
  8. Apply Pseudo-Stereo Effect
  9. Export Wav

What is the purpose of step 3 (Mix Stereo Down to Mono)? Why no just:

  1. Select All
  2. Change tempo: To Lenght (0.4) (Just same lenght for both audios)
  3. Export Wav

Because the wav files are stereo. So i set them to mono that makes now i have 2 different mono audios, so on make stereo they are added on different channel, one on left and other audio to right. After that i apply the pseudo-stereo fx that mix in a better way for final sound to not be so different in each channel.

Also select all and Change tempo not works well due is based in % of lenght audio, so if one is 1.5 and other 2s for example… so the change tempo for multiple files not works and if there is no way to make stereo via macro, so well… :S

We can work around that. I’m just trying to get a clear picture of what result you are wanting to achieve so that I can provide a good solution.

A simpler way to retain a natural sounding stereo, with one of the tracks more over to the left, and the other track more over to the right:
Try doing this and see how it sounds - if you like the results, then I think we can achieve most of it with a “Nyquist-Macro”

  1. Import the two tracks (you will still need to do this part manually).
  2. Adjust the tempo of one track to match the length of the other (do you prefer to shorten the longer track, or lengthen the shorter track?)
  3. Pan the first track about 20% to the left (Audio Tracks - Audacity Manual)
  4. Pan the other track about 20% to the right.
  5. Select All
  6. Mix and Render
  7. Normalize to -1 dB

Ok the pan thing does the trick via macro, the mix is the same as make stereo track now, each channel have their own different sound.

The unique thing i can’t fix to put inside the macro is the tempo. I was gonna look in the change tempo code but this one is built-in, so i will look later if there is some vst or effect to change tempo to some fix X lenght to add in the macro and it should be all fixed.

I saw there is one change tempo on nyquist plugins:
https://wiki.audacityteam.org/wiki/Nyquist_Effect_Plug-ins#Tempo_Change

But is about multiply/divide by number not to set the exact lenght.

Try this plug-in:
equal-length-tracks.ny (1.33 KB)

Works manually but not when i add on the macro

On apply macro it selects all but no apply the equal lenght and no continue with the rest of the macro.

After this:

The macro stops.

Also at the end the equal lenght is not made, the tracks are still different lenght. So, something is wrong with macros? Because manually it does the work from tools Z equal lenght

OK, I see the problem, and it’s an easy fix.
I also see some additional improvements - I’ll get back to you with a new version.

Also in my macro code you see export wav but is not need due actually i have to load 2 tracks manually, apply this macro and then export wav manually, due as we talked the batch export there is no function to pick 2by2 files for that. Just to have in mind.

I’d suggest that you disable the previous plug-in and delete it from your plug-ins folder.

Here’s a new plug-in that does the stretching, panning and mixing. I named the effect after you :slight_smile:
matriax.ny (1.71 KB)

Haha oh THANKS! Works perfect, i did a macro with that thing and then the Pseudo-Stero one and did the work :slight_smile:

Super :slight_smile:
I’ll close this topic as “solved”, and I’ll move it to the “Scripting” part of the forum.