[SOLVED] Generating a timestamp map according to tracks

Hello everybody !
I’m new to audacity and I encountered a problem that would save me a lot of times if it was solved, here it is :
I have a lot of audio tracks that I would like to align as a single big audio file, process it, and cut it back to multiple files as it was before. What I would like to achieve is generating a label track with each label named as the corresponding track. If I could automate this process, this would save me days of work, but I failed to find something on the internet.

Thanks for your help in advance, you look like an amazing community and Audacity rocks !

This is what I would like to achieve :

You may not need to use labels, Export Multiple can export each track as a separate file. Just ensure that “Trim blank space before first clip” is enabled if you don’t want the leading silence in each track.

Thank you for your help, unfortunately I think I do need labels if I want to extract my multiple audios from the big file when I will be done processing it.

The result would look like this after I would have processed the big audio file, then I would just have to export multiple according to labels and it would be done :
aide audacity 2

And for this, I specifically need to generate the labels according to the tracks like I’ve showed in the 1st picture, but this I did manually. Is there a “generate labels from tracks” feature, or maybe a script ? I think this can be done by coding but this is way out of my skills.

Why not export before mixing down to a single track?

Because what I want to do is process the big track elsewhere and then put it back into Audacity to cut it as before. I have to process it as a big track, not multiple files, and the process part is not made in audacity.
What would solve my problem is a way to automatically set labels according to the tracks, each label named like the track it matches with (like picture in 1st post). I think it might be possible ?

This topic has a solution to creating labels for each clip, but you would need to either add the names yourself manually, or modify the Nyquist code: Create Label for Each Clip in Track

This is a great lead, thank you for your help I will dig into it and try to learn how to modify the Nyquist code !

Thank you so much for your help, I don’t know much about coding so I provided the code from the topic you linked and some Nyquist informations to ChatGPT and it managed to generate me a working code that does exactly what I want !
It is probably not the most elegant one but here is what it came with, if someone ever needs it too :

(let* ((cliplist (get 'track 'clips)) ; Get the list of clips for the track
(labels '()) ; Initialize labels list
(num-clips (length cliplist))) ; Get the number of clips
(do ((i 0 (1+ i)))
((>= i num-clips) labels)
;; Get the current clip and its corresponding track name
(let* ((clip (nth i cliplist))
(track-name (get 'track 'NAME))) ; Get the track name
;; Create the label with track name and push onto “labels” list
(push (append clip (list track-name)) labels))))

EDIT : I asked it to make it more elegant and here is the result :

(let* ((cliplist (get 'track 'clips)) ; Get the list of clips for the track
(labels '())) ; Initialize labels list
(dolist (clip cliplist (reverse labels))
(let ((track-name (get 'track 'NAME))) ; Get the track name
(push (append clip (list track-name)) labels))))

Congratulations.

If you do this kind of work very often, you could turn that code into an installable plug-in. You would just need to add the appropriate headers, save it as a plain text file, and rename it with a “.ny” file extension.

This topic was automatically closed after 30 days. New replies are no longer allowed.