Russian Qt Forum
Ноябрь 22, 2024, 18:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Осциллограмма звука  (Прочитано 3646 раз)
Yegor
Гость
« : Июль 26, 2013, 20:30 »

Здравствуйте!

У меня есть задача нарисовать осциллограмму звука.
За основу буру пример который находится в examples\multimedia\audioinput.
Там в AudioInfo::writeData получаю сырые байты звука, и сохраняются они по очереди через переменную value.
Я все эти байты складываю в массив.

А теперь как эту звуковую волну из массива нарисовать? И что представляют собой эти сырые байты звука?
Записан
Akon
Гость
« Ответ #1 : Июль 27, 2013, 02:35 »

Вот прямо сейчас звуковую волну и рисую. Вот так, например, выглядит счет 1-2-3. Прикольно, задача обработки звука может превратиться в задачу обработки изображения.

По делу: байты есть значение напряжения сигнала в моменты дискретизации. Например, PCM 8 бит:
мин. значение 0, нулевое 128, макс. - 255. PCM 16 бит имеет другую раскладку.

Вот пара функций для PCM формата, возвращающие знаковые значения отсчетов:
Код:
	static int sampleSignedValue(char value) { return (unsigned char)(value) - 0x80; }
static int sampleSignedValue(short value) { return value; }
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 20.