Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Как программируется звук ?

961  
kiwi_ball постоялец11.09.10 18:43
kiwi_ball
NEW 11.09.10 18:43 
Доброго здоровья!
В двух словах, как получается звук, исходящий из динамиков при игре на компе? Можно ли его самому программировать?
Спасибо
#1 
Murr патриот11.09.10 21:43
Murr
NEW 11.09.10 21:43 
в ответ kiwi_ball 11.09.10 18:43
как получается звук, исходящий из динамиков при игре на компе?
------
На динамик подается переменное напряжение в диаппазоне 20-20000 герц.
Можно ли его самому программировать?
-----
Пока не случалось видеть чтобы это было сделано самим компостером...
#2 
kiwi_ball постоялец12.09.10 09:56
kiwi_ball
NEW 12.09.10 09:56 
в ответ Murr 11.09.10 21:43
Уважаемая Мurr, ребенку понятно почему так происходит. Мне интересно знать, как возникают шумы и звуки во время компьютерных игр. Например, гонки на автомобилях. Звук естественно изменяется в зависимости от колличества приведенных в действие клавишь. Возможно ли самому создавать подобные звуки?
Спасибо за прикол.
#3 
Murr патриот12.09.10 17:45
Murr
NEW 12.09.10 17:45 
в ответ kiwi_ball 12.09.10 09:56
Мне интересно знать, как возникают шумы и звуки
------
Именно это тебе и написано - переменное напряжение подается на динамик. Ничего другого не происходит. Динамик просто не в состоянии сделать что-либо другое, кроме как выполнить преобразование переменного тока в механические колебания своей диафрагмы. Какой именно звук определяется комбинацией частот и, в зависимости от имеющегося устройства, амплитуды напряжения.
Возможно ли самому создавать подобные звуки?
------
Это зависит от тренировки... Но не думаю что человеческая глотка в состоянии воспроизвести одновременно все необходимые частоты - там всего три точки частотного регулирования...
Звук естественно изменяется в зависимости от колличества приведенных в действие клавишь.
------
Это естественно для инструмета типа рояля или клависина, где происходит непосредственное механическое воздействие клавишь на струны производящие механические колебания. Для компьютера это не естественно, а лишь является частным результатом обработки информации об состоянии клавишь...
#4 
Mr.Smit постоялец17.09.10 14:12
Mr.Smit
NEW 17.09.10 14:12 
в ответ Murr 12.09.10 17:45
Дети, вы прослушали диалог на тему "Правильная формулировка вопросов для получения адекватных ответов". =)
#5 
Murr патриот17.09.10 18:03
Murr
NEW 17.09.10 18:03 
в ответ Mr.Smit 17.09.10 14:12
Ну а как иначе то? Неужто описывать управление паралельным портом для писка динамиком? Ведь не поймут-с...
#6 
Victor! посетитель17.09.10 22:22
Victor!
NEW 17.09.10 22:22 
в ответ Murr 17.09.10 18:03
В ответ на:
uses crt;
const
speaker_port=$61;
var
portval:byte;
Begin
portval:=port[speaker_port] and $FC;
while not keypressed do
begin
port[speaker_port]:=portval or 2;
delay(50);
port[speaker_port]:=portval;
delay(500);
end;
readkey;
End.

во, на паскале, не помню точно как, но пищит писихрюкером, судя по коду - один низкий один высокий, пока не нажать клавишу - чем не спец эффекты, почти гибдд из моствантед
могу конечно скинуть код по сложнее, там целая пианина, с диез бемолями ))
#7 
Murr патриот18.09.10 12:52
Murr
NEW 18.09.10 12:52 
в ответ Victor! 17.09.10 22:22
во, на паскале, не помню точно как, но пищит писихрюкером
-----
Угу... Правда в Выне НТ доступ к портам изолирован... ну да пустяки - перед началом надо получить соответствующие привелегии...
Более приемлемый вариант - void Beep (int frequency, int duration)
Правда для спрашивающего оба варианта - китайская грамота...
#8 
apique прохожий22.09.10 02:27
22.09.10 02:27 
в ответ kiwi_ball 12.09.10 09:56
> Например, гонки на автомобилях. Звук естественно изменяется в зависимости от колличества приведенных в действие клавишь.
Чтобы звук моторы сымитировать, нужно записать звук мотора, работающего на определённой частоте. Делается семпл. Потом, звук сжимается по временной шкале, для чего есть много известных алгоритмов, и получается звук мотора, работающего на нужных оборотах, или, чуть хитрее, с ускорением.
То есть, большинство звуков в играх хранится с виде семплов, с ними делаются какие-то несложные преобразования (вроде эха, ускорения/замедления, и т.п.). Полностью аналитически никто звуки в играх, думаю, не получает.
#9 
Victor! посетитель24.09.10 15:19
Victor!
NEW 24.09.10 15:19 
в ответ apique 22.09.10 02:27
ну и плюс потом 3D движок, который распространяет звук по сцене, учитывает поверхности, отражения и т.д.
#10