CSOUND Ошибка масштабирования таблицы функций

В настоящее время я работаю над многоканальным аудиоконвертером, использующим Csound. Я создаю два ftables и загружаю два разных IR длиной 2048 точек в них с частотой дискретизации 48 кГц. Я использую команды таблицы функций первого поколения (iRL ftgen 0, 0, 2048, -1, "IRL.wav", 0, 0, 0) и (iRR ftgen 0, 0, 2048, -1, "IRR.wav", 0, 0, 0).

Одна из проблем, с которой я столкнулся на данный момент, - установка номера таблицы функций на отрицательное значение (-1) останавливает масштабирование, но каждый файл таблицы масштабируется по-своему. Одно значение scalemax составляет 0,155, а другое 0,145. Я хотел знать, как я могу полностью остановить это масштабирование, чтобы оба ИК не масштабировались и не загружались в таблицу.

1 ответ

Я думаю, что вы делаете правильно, хотя вы устанавливаете не "номер таблицы функций на отрицательное (-1)", а номер GEN (1 для нормализации и -1 для простого копирования).
Я не могу поверить, что Csound выполняет масштабирование в описываемом вами случае, поэтому я вижу две возможности для различия в значении scalemax:
1) Входные файлы имеют эти (разные) максимумы. Это очень вероятно, если они являются реальными стерео импульсными реакциями.
2) Убедитесь, что вы действительно импортируете монофонический аудиофайл в таблицу. Если "IRL.wav" имеет более одного канала, вы получите беспорядок. (В качестве альтернативы вы можете импортировать оба канала в таблицу, используя стереофонический звуковой файл.)
Как примечание, мне было интересно, не нужны ли вам глобальные переменные для таблиц (giRL и giRR, а не iRL и iRR).

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