Предлагаю программу для преобразования WAV файлов с целью внесения в файл контролируемых искажений. Оригинальный файл и файл с внесенными искажениями можно прослушать и в сравнении определить на слух разницу в звучании треков.
Формат файлов для которых создана программа - 16 бит квантование, расширение wav, стерео, без сжатия (формат треков обычных Аудио CD).
Вносимые искажения получаются из-за нелинейной передаточной характеристики преобразования. Нелинейная характеристика задается коэффициентами полинома пятой степени и может быть задана произвольно, по желанию. В программе расчитываются заданные этой нелинейностью гармоники сигнала, вплоть до пятой гармоники. Первая гармоника - это основной тон.
Работать с программой весьма просто. Для работы программы нужно создать директорию с любым именем и разместить в ней 3 файла:
HARMONI_16.exe - собственно программа
HARMONI.TXT - текстовый файл в котором лежат входные данные
*.wav - трек из которого при работе будет получен трек с искажениями. *-любое имя файла
В файле HARMONI.TXT в текстовом виде (построчно) находятся:
Строка 1: имя оригинального трека
Строка 2: имя создаваемого трека с искажениями
Строка 3: линейный коэффициент полинома
Строка 4: квадратичный коэффициент полинома
Строка 5: коэффициент при кубическом члене полинома
Строка 6: коэффициент при четвертой степени полинома
Строка 7: коэффициент при пятой степени полинома
остальные строки игнорируются. (Разделитель в числах -точка, а не запятая)
Линейный коэффициент полинома должен быть например 1. Если взять 0.5 (например) - амплитуда упадет в два раза и все. При квадратичном коэффициенте полинома отличном от нуля появляется вторая гармоника. Чем больше коэффициент, тем больше уровень гармоники. Это верно и для более старших коэффициентов - их величина влияет на старшие гармоники. Естественно величины коэффициентов должны быть разумными.
Если запустить exe файл программа выводит таблицу с уровнями гармоник и процент суммарных гармонических искажений, и спрашивает обрабатывать ли файл (Y/N)?
Если уровень искажений не устраивает, можно ответить "N" и изменить коэффициенты в HARMONI.TXT по желанию и снова запустить программу.
При работе создается файл новый фаил wav с искажениями, и два файла короткого отчета report.txt и report.doc.
Содержимое отчетов одинаковое, их два типа для удобства.
Исходный файл wav и вновь созданный одинаковы по размеру. (На обработку файла в 40 Мв уходит пара минут)
Все это сделано для того, чтобы интересующиеся тем, как искажения влияют на качество звучания могли провести тесты и прийти к самостоятельным выводам о влиянии искажений на звук. Повторю, что моделируется искажаение передаточной характеристики или нелинейная зависимость выходного сигнала от входного. Было бы очень интересно узнать, сколько процентов таких искажений может быть замечены на слух.
---------------------------
Новая версия программы HARMONI.EXE
Спасибо Ka4aN и Оллема, которые протестировали программу и замеченные баги были исправлены.
Новая программа без длинного звукового файла на форуме Vegalab:
HARMONI.zip
---------------------------
ссылка на предидущую версию программы с вложенным треком Bach: Cello Suit
https://turbo.to/6n8amwm7inmp.html
по ссылке файл HARMONI_16.zip
Если при преобразовании происходит ограничение в этой версии надо уменьшить первый коэффициент (первую гармонику).
Социальные закладки