Можно ли получить «список длины трека» от Audacity?

262
machineghost

У меня есть проект Audacity (ну, на самом деле, несколько), и я хочу использовать его с набором слайдов для создания видео. Чтобы сделать слайды в нужное время, мне нужно знать точную длину каждой дорожки.

Я знаю, что Audacity обладает этой информацией, и я могу получить ее, вручную выделив каждую дорожку, посмотрев на нижнюю часть (после изменения раскрывающегося списка на «Начало и длина выделения»), а затем напечатав ее в другом файле ... но наверняка есть более простой способ?

0

2 ответа на вопрос

1
francescop21

Мне кажется, что вам лучше использовать инструмент командной строки, такой как mediainfo.

Вы можете получить длительность (в мс) звуковых дорожек из одного или нескольких файлов:

$ mediainfo --Output="Audio;%Duration%" filename 193306 

Вывод может быть отформатирован по-разному:

$ mediainfo --Output="Audio;%Duration/String%" filename 3mn 13s $ mediainfo --Output="Audio;%Duration/String1%" filename 3mn 13s 306ms $ mediainfo --Output="Audio;%Duration/String3%" filename 00:03:13.306 

Он может обрабатывать несколько файлов одновременно:

$ mediainfo --Output="Audio;%Duration/String%\n" file1 file2 file3 3mn 13s 2mn 12s 4mn 14s  $ mediainfo --Output="Audio;%Duration/String%\n" *.mp3 2mn 47s 3mn 18s 4mn 35s 
Спасибо за предложение, но оно не очень помогает моему делу. Мои файлы Audacity содержат более 20 треков, и мне нужно узнать длину каждого из этих треков. Если я сериализую файл в MP3, я получу только длину всего (более 20) наборов треков. Кроме того, даже если бы я мог сериализовать каждую дорожку в отдельный mp3, это заняло бы намного больше времени и запустило `mediainfo`, чем то, что я сейчас делаю (щелкнув по каждой дорожке и напечатав ее длину в отдельный файл). Но это похоже на отличное решение для не-Audacity пользователей. machineghost 5 лет назад 0
0
machineghost

Казалось бы (к сожалению), что нет способа извлечь длину каждого трека из проекта Audacity. Надеюсь, команда Audacity когда-нибудь исправит ситуацию, и тогда я смогу изменить принятый ответ на этот вопрос.