|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - Генератор сигналов на основе звуковой карты (Bass.Net) |
|
.NET - Генератор сигналов на основе звуковой карты (Bass.Net)
|
Старожил Сообщения: 230 |
Профиль | Отправить PM | Цитировать
Хотел бы создать генератор сигналов различной формы (в том числе и сигналов постоянного уровня). Мне нужно просто выводить сигнал на выход звуковой карты, без записи сигналов в файл и его воспроизведения из файла. Я попробовал сделать так:
int sample = Bass.BASS_SampleCreate(256, 440 * 64, 1, 1, BASSFlag.BASS_SAMPLE_LOOP | BASSFlag.BASS_SAMPLE_OVER_POS); if (sample == 0) ShowMes("Error SampleCreate"); short[] data = new short[128]; // data buffer for (int i = 0; i < 1024; i++) data[i] = (short)(32767.0 * Math.Sin(i * 6.283185 / 64)); // sine wave if(!Bass.BASS_SampleSetData(sample, data)) ShowMes("Error SampleSetData"); |
|
Отправлено: 22:37, 15-05-2021 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать А в комплекте bass.chm файлик был?
Цитата из документации с примером
Цитата:
Перевод интересующей строки: Цитата:
|
||
------- Последний раз редактировалось YuS_2, 16-05-2021 в 14:05. Отправлено: 13:59, 16-05-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 230
|
Профиль | Отправить PM | Цитировать Спасибо большое, файл справки есть, но невнимательно прочитал.
|
Отправлено: 16:28, 16-05-2021 | #3 |
Старожил Сообщения: 230
|
Профиль | Отправить PM | Цитировать Возникли еще вопросы.
1. На хабре приведена такая форма расчета для синуса: float samplerate; // частота сэмпла float wavefrequency; // частота волны float wavevolume; // громкость волны float period=samplerate/wavefrequency/2; //вычисляем период волны float pi=3.14; //число pi int n; for(int a=0;a<samplelenght;a++) //устанавливаем цикл на длину сэмпла { n=wavevolume*sin(a*pi/period); //вычисление sine-волны buffer[a]=n; //заносим вычисленное значение в буфер } 2. Почему длина семпла 256, а размер буфера 128? Помогите, пожалуйста, разобраться, первый раз пытаюсь создать звук на ПК |
Последний раз редактировалось tumanovalex, 17-05-2021 в 16:20. Причина: Добавил вопрос Отправлено: 16:17, 17-05-2021 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Звук - [решено] live-cd для проверки звуковой карты на работоспособность? | E100 | Прочее железо | 2 | 21-07-2014 12:52 | |
нестыковка видtо карты и звуковой карты | dizerro | Непонятные проблемы с Железом | 0 | 02-09-2012 15:59 | |
использование физической звуковой карты на win2003 с RDP доступом | DonBellozy | Microsoft Windows NT/2000/2003 | 4 | 08-12-2008 02:05 | |
Подскажите на счет звуковой карты | Yakovmusic | Ноутбуки | 3 | 05-11-2008 12:00 | |
Драйвер - [решено] Установка Directx на ПК без звуковой карты. | borison | Microsoft Windows 2000/XP | 1 | 19-04-2008 09:44 |
|