Как стать автором
Обновить

Случайные заметки. MDCT.

Время на прочтение 1 мин
Количество просмотров 739
Насколько позволяет время, работаю над проектом бесплатной и свободной библиотеки рендеринга 3D звука, о которой писал в прошлом посте.
Работа продвигается медленнее чем хотелось бы, в основном потому что приходится жертвовать драгоценным временем сна. :)

Что сделано к следующему публичному релизу:
  • Добавлено и оттестировано MDC преобразование (вместо преобразования Фурье). Если делать преобразование Фурье, пускай с перекрытием, даже в пол-окна (на границах окон результаты микшируются кросс-фейдом), то после преобразований Фурье появляется так называемый blocking-effect(аналогичный эффект можно наблюдать на плохом качестве jpeg'ах или видео — разноцветные квадраты), хорошо различимый на слух. Это биения на частоте <частота дискретизации>/<размер окна FFT>. MDCT специально разработан чтобы избавиться от таких эффектов. Почитать про него можно тут. Теперь на слух никаких артефактов не слышно, кроме небольшого клиппинга(связанного с увеличением энергии сигнала), но с этим мы ещё поборемся :-D
  • Попутно оказалось, что до сих пор, даже на новом core2duo, считать sin/cos достаточно накладно. Тест из 51.200.000 вычислений синусов работает 4 секунды против 0,7 секунд для кэшированной таблицы.
  • Встретился с необходимостью отсечения одинаковых звуков. Введёно ограничение на количество одновременно играющих одинаковых звуков.
  • Выкинул kiss за ненадобностью, в пользу более чистого c++ кода. Пропала поддержка SSE, вернётся чуть-чуть попозже :-D
  • Начата демка «ножниц»(виртуальный парикмахер), чтобы проверить правильность всего предприятия.
Теги:
Хабы:
+5
Комментарии 2
Комментарии Комментарии 2

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн