-
Беру wav с nSamplesPerSec = 22050 Создаю новую шапку, где nSamplesPerSec = 8000 И перегоняю данные
Когда проигрываю новый wav он становится длиннее примерно в 3 раза и "тянет" звук т.е. примерно в 22050/8000 раза длиннее
А как надо? Может, писать каждый 3й байт? (Или не байт, а 4байта.. Каждый третий "четыре байта")
-
Интерполяция нужна.
-
Перекодирование, а вернее операция ресемплирования состоит из двух частей сглаживания и децимации. Причем на верх и вниз алгоритмы разные. А за подробностями читайте учебник: А.Б.Сергиенко_Цифровая обработка сигналов(2003)
-
спасибо )
читал-читал.. "немцы какие-то .. конгресс.."
В итоге, через bass.dll сделал. А именно надо скачать bassenc.dll Там есть и пример. Плюс форум у них неплохой, нашел что нужно почти 1:1, одну строку поправил только ) И rate собственно свой во второй строке )
-
кстати, вдруг кто будет делать глубина float32 и signed16 - одно и тоже получается, походу. А то полдня убил, не понял как конвертировать Потом отрезал шапку - 44 байта и скормил оборудованию - все нормльно, схавало Хотя wav, как пишет audacity - float32, а оборудование заточено на signed16 - 100%
|