Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.31;
Скачать: CL | DM;

Вниз

Генерация двух тонов одновременно. Консольное приложение.   Найти похожие ветки 

 
ut1wpr ©   (2005-03-29 11:50) [0]

Как все засекречено!
Перерыл много форумов, почемучек и прочего. Мало толку.
Задача:
Необходимо при помощи звуковой карты генерировать два ОДНОВРЕМЕННО ЗВУЧАЩИХ синусоидальных сигнала.
Начало звучания с запуском программы, окончание и выход - по нажатию любой клавиши.
Приложение хочется иметь консольное. Требования для исполнения под "чистым" ДОС-ом нет. В командной строке в качестве параметров указать частоты 1 и 2 и амплитуды 1 и 2.
То, что я нарыл - это "проигрывание" заранее сформированного звукового файла, или "подставка" вместо файла некоего буфера, заполненного данными по форме колебания.
Я-то думал, что используя стандартный синтезатор звуковой карты можно просто подать ряд команд, описывающих форму выходного колебания (из ряда стандартных: синус, пила, меандр, треугольник, переменная скважность), форму огибающей (attack, sustain, desay, release), времена элементов огибающей и далее наслаждаться сотворенным.
Неужели нельзя?
Куда конкретнее ткнуться. (С английским нет проблем, промлемы с местами поиска или с формированием критерия поиска в гуглях/яндексах).
Всем спецам заранее огромное спасибо!

Вик/ut1wpr


 
WondeRu ©   (2005-03-29 12:41) [1]

блин, а самому трудно чтоли формировать сигнал???!!!


 
ut1wpr ©   (2005-03-29 12:45) [2]

Ответ сказочно информативен!
Трудно. Подскажите как, если знаете.


 
Digitman ©   (2005-03-29 13:08) [3]


> стандартный синтезатор звуковой карты


ну и какой же такой "стандартный" ? просвети уж ...


 
ut1wpr ©   (2005-03-29 13:26) [4]

2 Digitman:
Вроде я первый просил меня просветить... :-)
Уже второй наезд за последние полчаса. Весьма "дружелюбный" форум.
Если я выразился "вне" Вашей терминологии - поправьте, пожалуйста.

Благодарю.


 
Digitman ©   (2005-03-29 13:38) [5]


> ut1wpr ©   (29.03.05 13:26) [4]


> Уже второй наезд за последние полчаса


какой еще "наезд" ? мало ли что ты под "стандартом" подразумеваешь !

если ты взаимодействуешь с аудиокартой штатным образом (т.е. средствами, предоставляемыми Win32 MultimediaAPI), выбор у тебя невелик - либо синтезировать звук программно и использовать для вывода синт.звука зарегистрированное в системе WaveOut-устройство, либо использовать стандартнеы MIDI-спецификации и положиться на синтезирующие алгоритмы того или иного зарегистрированного MidiOut-устройства

смотри справку по Microsoft Multimedia API

есть и третий вариант - использовать спецификацию MS DirectSound, но она принципиально мало чем отличается от использования WaveOut - точно так же тебе придется самому программно синтезировать сигналы, с той лишь разницей что DirectSound избавит тебя от необходимости программно смешивать две твои "синусоиды"


 
ut1wpr ©   (2005-03-29 14:04) [6]

>смотри справку по Microsoft Multimedia API

Спасибо. Вот в этом направлении и поищу.

Вик/ut1wpr


 
WondeRu ©   (2005-03-29 14:06) [7]

к [5] посоветую использовать OpenAL ( только им пользуюсь), но все-таки форму сигнала всегда нужно формировать самому или паять железяку на сигнальном проце!


 
Digitman ©   (2005-03-29 14:11) [8]


> в этом направлении и поищу


может и в направлении MS DirectSound стоит пошукать ... тоже не самый худший вариант ... по кр.мере самому месить вэйвформы не придется ..



Страницы: 1 вся ветка

Текущий архив: 2005.07.31;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.036 c
1-1121229328
oduvan
2005-07-13 08:35
2005.07.31
Как сделать перемещение большой картинки мышкой в ScrollBox


3-1119533893
Alex17
2005-06-23 17:38
2005.07.31
Как заменить символ


1-1121149309
ZSergey
2005-07-12 10:21
2005.07.31
Динамический двумерный массив


1-1121258487
SergP.
2005-07-13 16:41
2005.07.31
Порядок в uses


14-1121179919
Cosinus
2005-07-12 18:51
2005.07.31
Вопрос по WHS, VBS и другим языкам скриптов (из серии "можно ли")





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский