Как автоматически разделить аудиофайл по месту возникновения тона?

У меня есть аудиозапись, в которой тоны 1 кГц делят свои сегменты. Существует так много сегментов, что потребуется Audacity, чтобы вручную разбить файл. Существует ли автоматический плагин или программа для этого?

2 ответа

Решение

На самом деле это возможно с помощью плагина анализа Audacity Beat Finder в сочетании с полосовым фильтром.

  1. Дублируйте вашу моно аудио дорожку.
  2. Найдите точную частоту тона.
    1. Выберите тон, который вы хотите, чтобы Audacity обнаружил, и выберите "Анализ" → "Спектр графика".
    2. Установите размер до 16384.
    3. Наведите указатель мыши на самый высокий пик.
    4. Ищите "пиковую" частоту.
  3. Используйте полосовой фильтр, чтобы удалить все, кроме тона.
    1. Выберите всю дорожку обнаружения тона и выберите "Эффекты" → "Запрос Найквиста".
    2. Тип (reson s 1000 1 1) в коробку.
    3. замещать 1000 с частотой, которую вы получили из шага 2.
    4. Нажмите ОК.
  4. При желании примените эффект "Усиление", установив значение "Новая пиковая амплитуда" на ноль.
  5. Используйте Analyse → Beat Finder. Начните с порогового процента, равного 100; уменьшайте этот процент, пока Audacity не обнаружит тональный сигнал.
  6. Используйте Файл → Экспорт нескольких, чтобы фактически сохранить отмеченные сегменты как отдельные файлы.

Хм, как поживаете? Мультиэкспорт Audacity, как описано http://wiki.audacityteam.org/wiki/Splitting_recordings_into_separate_tracks делает то, что вы хотите, при наличии соответствующих меток.

Кажется, что можно было бы объединить сценарий автоматической метки-тишины оттуда (названный SilenceMarker.ny) с простым примером спектральной обработки из http://audacity-forum.de/download/edgar/nyquist/nyquist-doc/examples/rbd/03-fft-tutorial.htm сделать маркировку на основе freq. Если бы мне пришлось это сделать, я бы попробовал, но lisp - не один из моих языков.

Другие вопросы по тегам