RoboGame blog [RIP]Форум

Звуковой модуль. Девять кругов ада. (комментарии)

#0
5:27, 3 апр 2009

Звуковой модуль. Девять кругов ада. (комментарии)

Это сообщение сгенерировано автоматически.

#1
5:27, 3 апр 2009

Жаль разочаровывать, но в висте и Win7 нет никакого аппаратного звука.
Так что решением проблемы это будет исключительно под XP.

#2
11:03, 3 апр 2009

В програмировании не силён, но кое какой опыт в микшировании звука у меня есть, так что есть подозрения почему так происходит.
1) Суммарная громкость всех проигрываемых звуков не должна превышать 100%
2) Если проигрываются одинаковые звуки от разных источников, то неплохо было бы их проигрывать хоть с какой то задержкой друг относительно друга.
3) Использовать pitch в чистом виде при софтварном обсчёте не самая лучшая идея. Честный способ довольно таки русурсоёмок, а "быстрые" могут давать всяческие артефакты, либо вобще просто дублировать или отрезать куски звука в зависимости от того что надо сделать. Советовал бы использовать какой нить свой алгоритм для этого.

#3
19:23, 3 апр 2009

B.F.
>Жаль разочаровывать, но в висте и Win7 нет никакого аппаратного звука.
>Так что решением проблемы это будет исключительно под XP.

Блин.. надо будет потестить... иногда из-за таких тупняков у меня руки начинают опускаться


B.F.
>В програмировании не силён, но кое какой опыт в микшировании звука у меня есть,
>так что есть подозрения почему так происходит.
>1) Суммарная громкость всех проигрываемых звуков не должна превышать 100%

С громкостью всё окей, потрескивает при отсутствии аппаратного звука только SetPitch..

>2) Если проигрываются одинаковые звуки от разных источников, то неплохо было бы
>их проигрывать хоть с какой то задержкой друг относительно друга.

С этим тоже вроде траблов нету, т.к. для каждого эффекта задан небольшой случайный pitch, для большей вариативности звука.

>3) Использовать pitch в чистом виде при софтварном обсчёте не самая лучшая
>идея.

Ну а какие варианты то? Для моторов полюбому он нужен. Причём с постоянным обновлением.Для остальных звуков его использую только один раз при начале воспроизведения.

>Честный способ довольно таки русурсоёмок, а "быстрые" могут давать
>всяческие артефакты, либо вобще просто дублировать или отрезать куски звука в
>зависимости от того что надо сделать. Советовал бы использовать какой нить свой
>алгоритм для этого.

Какие алгоритмы то например? Я и так туда имплементировал отрубание тихих источников, запрещение изменения питча для не важных источников и т.д.
Думаешь стоит ограничить количество одновременно воспроизводимых звуков? Но этож такая жесть....

#4
0:17, 4 апр 2009

Протестил на Висте, вроде всё ок..

#5
14:50, 4 апр 2009

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

#6
20:55, 4 апр 2009

DEN 3D
>XIRMAC
>Не понимаю почему все стремятся для звука использовать какие-то непонятные
>либы...
>Ведь нет ничего сложного, чтобы написать свой мини-модуль для работы с
>3D-звуком
>на основе DirectSound3D напрямую... Там совсем ничего сложного нет.. Подобный
>модуль я писал за день...

Cо стриммингом с диска, с менеджментом каналов, с поддержкой треккерных форматов, с EAX... и всего за день? :)
Да даже мне и один день дорог (а вспоминая как я прогал на DirectSound - это там далеко не один день чтобы сделать все нужные фичи). Чёрную низкоуровневую работу стараюсь делать с помощью чужих библиотек.

#7
13:00, 5 апр 2009

XIRMAC
Ну стриминг с диска я пока не трогал - ИМХО он нужен только для проигрывания музыки (больших звуковых данных).
А для проигрывания коротеньких звучков вроде выстрелов и взрывов можно и целиком в память данные ложить...
Менеджмент каналов уже есть в DS3D - причём как и софтварный, так и аппаратный (и выбирается автоматически в за-
висимости от возможностей звучки). Число программных каналов там не ограничено, что очень радует (знаю, что в не-
которых либах их не больше 10-20).
Трекерные форматы - эт я так понимаю для музыки) Поэтому это отдельная тема)
EAX - это вообще другое API, зачем оно, если у всех есть поддержка DS3D? :)

#8
6:07, 6 апр 2009

>Какие алгоритмы то например? Я и так туда имплементировал отрубание
>тихих источников, запрещение изменения питча для не важных источников и т.д.
Я имел в виду софтварный обсчёт самого питча. Чтобы на микширование шли уже готовые звуки.
Может даже стоит сделать несколько зарание подготовленых звуков.
Эта библиотечка кстати своими средствами питч считать умеет?

>Думаешь стоит ограничить количество одновременно воспроизводимых звуков?
>Но этож такая жесть....
Если дело в количестве, то стоит проверить при каком количестве звуков в софтваре начинает глючить.

DEN 3D
>EAX - это вообще другое API, зачем оно, если у всех есть поддержка DS3D? :)
Это вопрос из разряда:
А зачем вам DX3D, если можно в софтваре считать?

#9
7:38, 6 апр 2009

B.F.
DS3D имеет аппаратную поддержку при её наличии в железе.

Кстати, насчёт изменения питча - это есть не что иное как изменение частоты, в DS3D я делал через метод SetFrequency - там можно любое значение загонять до опред. лимита. Работает быстро. Я у себя использую для симуляции звука двигателя машины при наборе скорости. Довольно реалистично звучит. А делать набор звуков с разными питчами - это гон.

#10
8:34, 7 апр 2009

>DS3D имеет аппаратную поддержку при её наличии в железе.
Имела.
начиная с висты есть только софтвар.

#11
11:06, 7 апр 2009

DEN 3D
>Кстати, насчёт изменения питча - это есть не что иное как изменение частоты,

Капитан Очевидность? :)

>DS3D я делал через метод SetFrequency - там можно любое значение загонять до
>опред. лимита. Работает быстро.

Ну так аудиер и использует по дефолту direct sound и наверно этот же SetFrequency для изменения питча\частоты. (может ещё через winmm рабобтать но там ужас со звуком)

>Я у себя использую для симуляции звука
>двигателя машины при наборе скорости.

Ну так я для тогоже использую)) Вообщем когда 20-30 роботов проигрывают звук мотора, иногда появляются щёлкающие звуки...

> Довольно реалистично звучит. А делать
>набор звуков с разными питчами - это гон.

Да, если квантовать - придётся 1000 вариантов делать.. иначе будут слышны переходы

#12
11:10, 7 апр 2009

B.F.
>Если дело в количестве, то стоит проверить при каком количестве звуков в
>софтваре начинает глючить.

Да там ещё от паннинга и громкости сильно зависит... вообще я во многих коммерческих гамесах такие артефакты звука слышал))

Вообщем пока оставлю как есть, если будет потом сильно не радовать - буду переползать на чтото другое...

#13
18:32, 23 апр 2009

Я с год назад в XAudio2 ковырялся.
Именно потому, что ДиректСаунд устарел серьёзно. Под Висту мелкомягкие, кажись, не рекомендуют использовать.

Вообще с подобными эффектами в звуке много досадных граблей. Здесь правильнее всего мидлваре использовать. Уповая на то, что разработчики часть косяков уже обошли. Печально, что адекватные разработки в данном направлении стоят недёшево.

RoboGame blog [RIP]Форум

Тема в архиве.