Виртуальный звуковой генератор «РадиоМастер» позволяет получать электрические сигналы в звуковом диапазоне частот: от 20 Гц до 15..20 Кгц с амплитудой напряжения от нуля примерно до 1 вольта. Форма сигналов может быть синусоидальной, треугольной и прямоугольной. Перед реальным генератором данный прибор имеет одно преимущество: он нематериален, а значит дешев. Недостатки Вы увидите сами.
Частота дискретизации (цифроаналогово преобразования) фиксированная — 48 кГц, разрядность ЦАП — 16. Генератор выдает одинаковый сигнал по обоим каналам выхода звуковой карты.
Выходное напряжение генератора определятся регулятором Амплитуда, а также положением звуковых регуляторов громкости и баланса Windows, максимальная амплитуда сигналов без искажений — около 1 В.
Испытайте генератор совместно с Виртуальным осциллографом «РадиоМастер». Комплект из этих двух приборов поможет вам в налаживании звуковой аппаратуры и других низкочастотных устройств.
Дата добавления: 09.09.2013
Генератор сигналов из iPhone за две минуты
Источник: radio-hobby.org
Программная генерация звуков
Звук можно представить ввиде бесконечного количества волн различной частоты
и амплитуды. Волны, в свою очередь, могут иметь практически любую форму.
Из самых распространенных и чаще всего используемых можно назвать: синусоидальная (sine), квадратная (square), пилообразная(saw), треугольная (triangle), и шум (noise). Сначала попробуем разобраться с основными параметрами волны: период и амплитуда.
Частота (измеряется в герцах) — количество периодов в секунду. Например при частоте 44100Hz количество периодов равно 44100. Теперь когда основные термины изучены перейдем непосредственно к алгоритму генерации волн.
float samplerate; // частота сэмпла
float wavefrequency; // частота волны
float wavevolume; // громкость волны
float period=samplerate/wavefrequency/2; //вычисляем период волны
float pi=3.14; //число pi
int n;
for(int a=0;a
n=wavevolume*sin(a*pi/period); //вычисление sine-волны
buffer[a]=n; //заносим вычисленное значение в буфер
>
Например нам надо получить 16-килобайтный синусоидальный звук частотой 1000Hz и при этом качество сэмпла должно быть 44100Hz, тогда наши параметры будут иметь следующие значения: samplerate=44100, wavefrequency=1000, samplelenght=16384.
Особенного пояснения требует параметр wavevolume. Издавна известно, что качество звука пропорционально зависит от его битности (8-bit, 16-bit, 24-bit и т.д.). Для 8-bit — значение от 0..255, для 16-ти – 0. 65536, для 24-х – 0. 16777216. Какой выбрать? Смотря какая у вас задача, но меньше 16-ти я бы не посоветовал (хотя бывают и исключения – когда надо сократить объем сэмпла взамен качеству).
2) Пилообразная волна (saw)
float sr_2m=samplerate/wavefrequency; //Вычисляем период
AudioWave
int c=0; //Специальная переменная для проверки
//на окончание периода
for(int a=0;a
if(c>=sr_2m) c=0; //если период закончился, то начать следующий
buffer[a]=wavevolume*(c/period)-wavevolume; //вычисление волны
c++;
>
3) Треугольная (triangle)
float period=samplerate/wavefrequency/2; //вычисляем период волны
int c=period*2;
int c2=-1;
float sr_2m=period;
float sr=samplerate/wavefrequency/4;
Теперь усложним задачу — сложим две волны разной частоты и амплитуды.
float tone1=65,tone2=131;
float samplerate=44100/2; // Частота дискретизации
int a,b,amp1=128,amp2=64;
С таким сэмплом уже можно писать мелодии. В принципе, это основа wave
synthesis при помощи которой можно создать любой звук.
И напоследок пара советов:
1) Для получения более насыщенного звука складывайте волны с различными
формами: sine+square, triangle+saw, или вот такой вот монстр: saw+square+
triangle+saw.
2) Перкусия (hat) лучше всего получается путем сложения noise+sine.
Источник: habr.com
Виртуальный звуковой генератор «РадиоМастер»
Виртуальный звуковой генератор «РадиоМастер» позволяет получать электрические сигналы в звуковом диапазоне частот: от 20 Гц до 15..20 Кгц с амплитудой напряжения от нуля примерно до 1 вольта. Форма сигналов может быть синусоидальной, треугольной и прямоугольной. Перед реальным генератором данный прибор имеет одно преимущество: он нематериален, а значит дешев. Недостатки Вы увидите сами.
Частота дискретизации (цифроаналогового преобразования) фиксированная — 48 кГц, разрядность ЦАП — 16. Генератор выдает одинаковый сигнал по обоим каналам выхода звуковой карты.
Выходное напряжение генератора определятся регулятором Амплитуда, а также положением звуковых регуляторов громкости и баланса Windows, максимальная амплитуда сигналов без искажений — около 1 В.
Испытайте генератор совместно с Виртуальным осциллографом «РадиоМастер». Комплект из этих двух приборов поможет вам в налаживании звуковой аппаратуры и других низкочастотных устройств.
Кол-во закачек: 275778
freeware | russian
Размер: 1854 Кб
Мнения читателей
Вы можете оставить свой комментарий, мнение или вопрос по приведенному выше материалу:
Источник: www.radioradar.net