Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 29.06.2016, 20:25   #1
softcrasoft
Знающий
 
Регистрация: 21.03.2015
Сообщений: 262
Написано 6 полезных сообщений
(для 7 пользователей)
Звук в DirectX или Bass

Hi all.
Кто работал с DirectSound или Bass, опишите формулу для 2д и 3д звука.
Интересует формула и к DirectSound, и к Bass. Ибо они там разные.
(Offline)
 
Ответить с цитированием
Старый 30.06.2016, 05:39   #2
L-ee-X
Разработчик
 
Аватар для L-ee-X
 
Регистрация: 06.06.2011
Адрес: Ирк. обл.
Сообщений: 541
Написано 133 полезных сообщений
(для 220 пользователей)
Ответ: Звук в DirectX или Bass

Ты для начала хотябы в Blitz3D разберись, а потом уже лезь в дебри такие как C++ и C#
__________________
(Offline)
 
Ответить с цитированием
Старый 30.06.2016, 14:58   #3
softcrasoft
Знающий
 
Регистрация: 21.03.2015
Сообщений: 262
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Звук в DirectX или Bass

Я в Блитце со звуком нормально работаю. А на Шарп, Плюсах и Питоне я пишу достаточно давно.
(Offline)
 
Ответить с цитированием
Старый 30.06.2016, 15:38   #4
L-ee-X
Разработчик
 
Аватар для L-ee-X
 
Регистрация: 06.06.2011
Адрес: Ирк. обл.
Сообщений: 541
Написано 133 полезных сообщений
(для 220 пользователей)
Ответ: Звук в DirectX или Bass

Ну тогда и формулу напиши сам раз ты давно работаешь.
__________________
(Offline)
 
Ответить с цитированием
Старый 30.06.2016, 16:44   #5
softcrasoft
Знающий
 
Регистрация: 21.03.2015
Сообщений: 262
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Звук в DirectX или Bass

я работаю с языком, а не с технологией.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Gector (01.07.2016)
Старый 30.06.2016, 19:53   #6
L-ee-X
Разработчик
 
Аватар для L-ee-X
 
Регистрация: 06.06.2011
Адрес: Ирк. обл.
Сообщений: 541
Написано 133 полезных сообщений
(для 220 пользователей)
Ответ: Звук в DirectX или Bass

Вот иди и изучай технологии. В чем проблема то? Почему за тебя должны делать?
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Gector (01.07.2016)
Старый 30.06.2016, 22:11   #7
softcrasoft
Знающий
 
Регистрация: 21.03.2015
Сообщений: 262
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Звук в DirectX или Bass

Я повторяю. Мне нужен не код, а формулы.
(Offline)
 
Ответить с цитированием
Старый 01.07.2016, 23:40   #8
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Звук в DirectX или Bass

Сообщение от softcrasoft Посмотреть сообщение
Hi all.
Кто работал с DirectSound или Bass, опишите формулу для 2д и 3д звука.
Интересует формула и к DirectSound, и к Bass. Ибо они там разные.
Сообщение от softcrasoft Посмотреть сообщение
Я повторяю. Мне нужен не код, а формулы.
Не знаю, что ты там куришь, но это явно не легкое дерьмо.
1. Формулу звука? Вот после этого не гони мне, что ты работал с lib_sound. Звук, это (СЮРПРИЗ!) колебания. Гуглим школьную программу и узнаем что такое колебания. Простейшие колебания - это синусоида.
Sin(x) - вот тебе простейшая синусоида. Чем выше число колебаний - тем выше звук.

2. У 3д звука нет формулы. Это тот же звук только ты громкость зависит от дистанции, а от положения в пространстве панорамирование (распределение на правый и левый динамик).

Сообщение от softcrasoft Посмотреть сообщение
Интересует формула и к DirectSound, и к Bass. Ибо они там разные.
Ты в курсе, что попираешь мироздание этим высказыванием? Формула звука не может быть разной даже если одна библиотека написана на питоне, а другая на машинном языке. Интерфейсы библиотек, алгоритмы обработки могут быть разными, но на выходе ты получаешь те же колебания. Даже воспроизводя записанные природные звуки - ты выводишь те же колебания, которые тупо не имеют четко заданной в программе формулы (если это не та же синусоида).

Скажи честно - ты закончил начальную школу? Я помню, что у тебя инвалидность по зрению, но блин, это даже не надо гуглить. Это нас окружает. Можно просто послушать.
(Offline)
 
Ответить с цитированием
Старый 02.07.2016, 01:02   #9
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,354
Написано 2,470 полезных сообщений
(для 6,850 пользователей)
Ответ: Звук в DirectX или Bass

Сообщение от Gector Посмотреть сообщение
Можно просто послушать.
Ты можешь опеределять функцию "на слух"?
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 02.07.2016, 09:40   #10
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Звук в DirectX или Bass

Сообщение от Randomize Посмотреть сообщение
Ты можешь опеределять функцию "на слух"?
Функция тут не причем. Достаточно знать школьную программу и хоть сколько-нибудь подумать. Все на поверхности. Звук это колебания. А уж с гуглом это и того проще.
(Offline)
 
Ответить с цитированием
Старый 13.08.2016, 13:34   #11
softcrasoft
Знающий
 
Регистрация: 21.03.2015
Сообщений: 262
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Звук в DirectX или Bass

По поводу школы, я сейчас перехожу в 10 класс. Программа у нас почти такая же. Немного отстаёт. А так обычно как в средней школе.
По поводу звука, нам рассказывали о звуковых волнах, о молекулах и как происходит звук. Но увы, я с физикой не очень. Если вам что-то даст, у меня по физике, если по пятибалке 3 с минусом за год. Алгебра и гуманитарные на много лучше.
По поводу формул, формулы разные. В DirectSound и Bass они отличаются, так как DirectSound низкоуровневая библиотека, а Bass высокоуровневая.
Например, вот код 3д звука одной библиотеки Python:
def position_sound_3d(handle, listener_x, listener_y, listener_z, source_x, source_y, source_z, pan_step, volume_step, behind_pitch_decrease, behind_volume_decrease=0):
position_sound_custom_2d(handle, listener_x, listener_y, listener_z, source_x, source_y, source_z, pan_step, volume_step, behind_pitch_decrease, behind_volume_decrease, 0.0, 0.0, 100.0)

def position_sound_custom_3d(handle, listener_x, listener_y, listener_z, source_x, source_y, source_z, pan_step, volume_step, behind_pitch_decrease, behind_volume_decrease, pitch_step, pitch_range, start_pan, start_volume, start_pitch):
delta_x=0
delta_y=0
delta_z=0
final_pan=start_pan
final_volume=start_volume
final_pitch=start_pitch

# First, we calculate the delta between the listener and the source.
if(source_x<listener_x):
delta_x=listener_x-source_x
final_pan-=(delta_x*pan_step)
final_volume-=(delta_x*volume_step)

if(source_x>listener_x):
delta_x=source_x-listener_x
final_pan+=(delta_x*pan_step)
final_volume-=(delta_x*volume_step)

if(source_y<listener_y):
final_pitch-=abs(behind_pitch_decrease)
final_volume-=abs(behind_volume_decrease)
delta_y=listener_y-source_y
final_volume-=(delta_y*volume_step)

if(source_y>listener_y):
delta_y=source_y-listener_y
final_volume-=(delta_y*volume_step)

delta_z=abs(source_z-listener_z)
final_volume-=delta_z*volume_step*0.5 # Z should have the least effect on volume.
if(source_z<listener_z) :
delta_pitch=pitch_step*(listener_z-source_z)
if(delta_pitch>pitch_range):
delta_pitch=pitch_range
final_pitch-=delta_pitch

if(source_z>listener_z) :
delta_pitch=(source_z-listener_z)*pitch_step
if(delta_pitch>pitch_range):
delta_pitch=pitch_range
final_pitch+=delta_pitch


# Now we set the properties on the sound, provided that they are not already correct.
fp=float(final_pan/10.0)
fv=float(final_volume/10.0)
if fp<=-1:
fp=-1
if fp>=1:
fp=1
if fv<=-1:
fv=-1
if fv>=1:
fv=1
try:
handle.pan=fp
except:
print "Oops? "+str(fv)+" "+str(fp)
try:
handle.volume=1+fv
except:
print "Oops? "+str(fv)+" "+str(fp)
Таким образом, я смею предположить, что в 3д звуке по формулам изменяется позиция в панораме и громкость.
(Offline)
 
Ответить с цитированием
Старый 13.08.2016, 15:35   #12
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Звук в DirectX или Bass

Самая удачная по соотношению "простота изложения / объём" книга для введения в теорию звука (из тех, что мне попадались) это:
А. Ю. Радзишевский "Основы аналогового и цифрового звука"

Сообщение от Gector Посмотреть сообщение
2. У 3д звука нет формулы.
Ну это от степени формализации зависит. Вот из другой области пример:
https://ru.wikipedia.org/wiki/Уравнение_рендеринга



С другой стороны
Сообщение от softcrasoft Посмотреть сообщение
Интересует формула и к DirectSound, и к Bass. Ибо они там разные.
тут, похоже, другой случай.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Gector (29.08.2016)
Старый 13.08.2016, 15:44   #13
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Звук в DirectX или Bass

Сообщение от softcrasoft Посмотреть сообщение
По поводу формул, формулы разные. В DirectSound и Bass они отличаются, так как DirectSound низкоуровневая библиотека, а Bass высокоуровневая.
Например, вот код 3д звука одной библиотеки Python:
Формулу с функцией не путаете?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Gector (29.08.2016)
Старый 29.08.2016, 14:16   #14
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Звук в DirectX или Bass

Сообщение от impersonalis Посмотреть сообщение
Ну это от степени формализации зависит. Вот из другой области пример:
Ну тут именно вопрос сформулирован так.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (29.08.2016)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 14:26.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com