Автоматическая коррекция записи с небольшим отклонением от основного тона?

Предположим, у меня есть запись живого концерта известной группы. Можно предположить, что концерт был сыгран на настроенных инструментах, в стандартном строе. Это было в 1990-х, поэтому концерт был записан на аналоговую кассету (или на мастер-диск DAT), а затем распространялся среди коллекционеров через продажу кассет. Это означает, что к тому времени, как запись дошла до меня, она прошла через несколько поколений копирования с одной магнитофонной деки на другую (перезапись на двухдековом проигрывателе, как правило, не одобрялась), и нет никакой гарантии, что обе кассетные деки воспроизводились с одинаковой скоростью. точно такая же скорость при копировании - как раз наоборот часто бывало - и ошибка могла накапливаться с каждым поколением. Это означает, что лента в моих руках почти наверняка в определенной степени не соответствует тональности. Теперь, когда я преобразовал ленту в цифровой файл, я хочу исправить ошибку.

Мой типичный способ сделать это — найти песню, которую я умею играть, подобрать настроенный инструмент и подыгрывать, регулируя скорость воспроизведения, пока песня не будет соответствовать моему инструменту. Когда я нахожу правильный коэффициент изменения скорости, я применяю его к аудиофайлу и сохраняю результат.

Это отлично подходит для исправления одной или двух записей, не так много, когда у меня их сотня.

Я думаю, что алгоритм теоретически может проанализировать запись и определить, не отличается ли она от основного тона, предполагая стандартную настройку. Предположим, что моя запись резкость на 0,2 полутона, алгоритм должен быть в состоянии предложить коррекцию -1,2/-0,2/+0,8/+1,8 (очевидно, он не может угадать, какое направление является правильным, и как далеко мы от исходного тона ). Поиск в Google программного обеспечения для коррекции высоты тона неизменно приводит меня к плагинам автокоррекции для вокальных треков, что на самом деле не то, что я ищу.

Используя свой довольно сильный C++, но очень ограниченное понимание математики цифровой обработки сигналов, я попытался написать программу, которая анализирует выходные данные sox song.wav -n stat -freq(которая выполняет ДПФ для аудио и выводит результаты), находит доминирующие частоты и проверяет, соответствуют ли они совпадать с частотами стандартных нот или отклоняться от них на фиксированное соотношение, но мне не удалось извлечь осмысленные результаты — возможно, потому, что вывод из soxдовольно грубый. Итак, здесь я спрашиваю, существует ли инструмент, который уже реализует такой алгоритм, или какие-либо советы по тому, как сделать это самостоятельно (мне нужно будет выполнить ДПФ с использованием какой-либо программной библиотеки или достаточно ли данных? и т. д.), или soxэто гораздо более сложная проблема, чем я себе представляю, неразрешимая с помощью простых эвристик.

Если бы у вас все еще были все отдельные треки, несведенные, шанс был бы, но с целой записью, особенно с мультигенерацией, это большой вопрос.
Почему вы хотите? В любом случае разные исполнители, разные жанры и т. д. могут выбирать немного разные исходные тона. Что вы ожидаете получить от всего этого? Вам было бы намного лучше либо отрегулировать настройку вашего инструмента, либо оцифровать и использовать программное обеспечение для изменения высоты тона, такое как Audacity.

Ответы (1)

Это не полный ответ. Возможно, это вызов фрейма, но это также просто начало «темы для разговора», которое может в конечном итоге привести к ответу на еще не озвученный вопрос… потерпите меня…

Еще до того, как мы приступим к исправлению презентации на цифровой копии, у меня есть несколько проблем, которые нужно решить в первую очередь… потеря поколений абсолютно не ограничивается скоростью; потеря азимута будет огромной, так как «изменения» EQ умножаются и делятся.

Так что… если все, что у вас есть, — это мультигенная копия, первое, что вы должны сделать, — это «пожертвовать» хорошим кассетным плеером ради общего дела.

Вам нужна кассетная дека, переднюю часть которой можно отрезать, чтобы можно было дотянуться до азимутального винта во время воспроизведения. Затем вы покупаете легкий твикер, чтобы сделать это. Металлической отверткой это сделать нельзя.
Настройте азимут на слух во время воспроизведения кассеты. Это не идеальное решение, но на данный момент
мы далеки от идеальных решений.

Следующий шаг — снять корпус с кассетной деки, найти двигатель и измерить сопротивление на «потенциометре», который у него есть — у них всегда есть крошечный ручной регулятор для установки скорости, часто прямо внутри корпуса двигателя. . Это гибкие металлические зажимы, поэтому для фактической разборки не требуется много техники.
Сделать это можно с помощью мультиметра, отвертки и паяльника.

Измерьте сопротивление по всему горшку, затем при текущей скорости. Угадайте значения, которые дадут вам лучший спред где-то в пределах этого, вы можете буферизовать банк и этот спред [снова потерпите со мной].
Если ваш банк 200 Ом, а при текущей скорости вы на 70 Ом, и назовите это спредом 20 Ом.
Вы можете поиграться с оригинальным потенциометром, чтобы увидеть, какое изменение дает один или два тона… учитывайте это. Купите новый потенциометр 20 Ом с высокими характеристиками и резисторы 60 Ом и 120 Ом [вам может потребоваться добавить последовательно, чтобы получить окончательные значения].

Замените свою кастрюлю на новую - красиво подключенную к задней панели, а затем добавьте в нее средства для макияжа.
Теперь у вас есть примерно один или два тона с высокой уверенностью и большей стабильностью.

Воспроизведите ленту, зафиксируйте азимут и настройте скорость еще до того, как вы ее запишете.

Если к настоящему времени вы думаете, что это полностью и совершенно ментально, у меня есть точно такая же кассетная дека Blue Peter, сделанная для очень и очень похожего проекта.
Знаете ли вы, что жучки тоже меняют скорость примерно в течение первого часа непрерывного воспроизведения? Что ж, теперь вы это делаете :P Начните любую сессию, играя все обе стороны «отработанной» 60-минутной кассеты, пока она не успокоится… затем почистите головки [снова].

Я пожертвовал NAD и Nakamichi, чтобы сделать это. В целом Nakamichi был лучше, но после модов NAD стал вести себя лучше.

о… и выключите Dolby. Вы настолько далеки от того, чтобы помочь точности, что вам следует просто взять все самое высокое, что вы можете получить, из источника.

Кстати, есть программное обеспечение, которое усложнит эту задачу… оно стоит 4000 долларов… ага. Церемония [известности Melodyne] Capstan

В качестве альтернативы… проверьте, что звукозаписывающая компания не просто официально выпустила бутлеги — их сейчас так много; они считают, что могут сделать это официально и получить свою долю.
Было бы довольно грустно приложить все усилия, а потом обнаружить, что он уже есть на iTunes в гораздо лучшем качестве. [ссылка: большинство старых бутлегов Боуи 1970-х]

На самом деле вы дали мне полный и довольно интересный ответ. То есть, если бы мой вопрос был "как мне настроить кассетную деку для достижения наилучших возможных результатов воспроизведения". Изменение азимута головки ленты в лучшем случае компенсирует плохо настроенную головку самого последнего поколения (т. е. деки, используемой для записи одной конкретной ленты). Это может улучшить звучание одной ленты, но мои ленты взяты из многих источников, поэтому процесс нужно будет повторить для каждой ленты; Я действительно не хочу туда идти. И настройка скорости моей колоды — это совсем не то, чем я хотел заниматься. Celemony Capstan интересен, спасибо.
То, что вы пытаетесь сделать, на самом деле является одной из тех «вы не хотите начинать отсюда». Фиксация азимута и базовой скорости в первую очередь будет лучшим решением. У Izotope есть азимутальный модуль , но софт не может творить чудеса. Человеческое ухо — лучший инструмент для угадывания любой задачи, подобной этой. В последний раз я выполнял это задание несколько лет назад - мне нужно было сделать почти 40 кассет, так что я чувствую вашу боль. У меня также были 30 ¼-дюймовые мастер-ленты, которые нужно было сначала запечь, а затем таким же образом спасти. В целом на это ушло 6 месяцев.
Мне все же удалось раздобыть действительно высококачественное оборудование на BBC, чтобы сделать это, тем не менее, Revox и несколько великолепных предусилителей. ;)