Звук в DirectX или Bass
Hi all.
Кто работал с DirectSound или Bass, опишите формулу для 2д и 3д звука. Интересует формула и к DirectSound, и к Bass. Ибо они там разные. |
Ответ: Звук в DirectX или Bass
Ты для начала хотябы в Blitz3D разберись, а потом уже лезь в дебри такие как C++ и C#
|
Ответ: Звук в DirectX или Bass
Я в Блитце со звуком нормально работаю. А на Шарп, Плюсах и Питоне я пишу достаточно давно.
|
Ответ: Звук в DirectX или Bass
Ну тогда и формулу напиши сам раз ты давно работаешь.
|
Ответ: Звук в DirectX или Bass
я работаю с языком, а не с технологией.
|
Ответ: Звук в DirectX или Bass
Вот иди и изучай технологии. В чем проблема то? Почему за тебя должны делать?
|
Ответ: Звук в DirectX или Bass
Я повторяю. Мне нужен не код, а формулы.
|
Ответ: Звук в DirectX или Bass
Цитата:
Цитата:
1. Формулу звука? Вот после этого не гони мне, что ты работал с lib_sound. Звук, это (СЮРПРИЗ!) колебания. Гуглим школьную программу и узнаем что такое колебания. Простейшие колебания - это синусоида. Sin(x) - вот тебе простейшая синусоида. Чем выше число колебаний - тем выше звук. 2. У 3д звука нет формулы. Это тот же звук только ты громкость зависит от дистанции, а от положения в пространстве панорамирование (распределение на правый и левый динамик). Цитата:
Скажи честно - ты закончил начальную школу? Я помню, что у тебя инвалидность по зрению, но блин, это даже не надо гуглить. Это нас окружает. Можно просто послушать. |
Ответ: Звук в DirectX или Bass
Цитата:
|
Ответ: Звук в DirectX или Bass
Цитата:
|
Ответ: Звук в 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д звуке по формулам изменяется позиция в панораме и громкость. |
Ответ: Звук в DirectX или Bass
Самая удачная по соотношению "простота изложения / объём" книга для введения в теорию звука (из тех, что мне попадались) это:
А. Ю. Радзишевский "Основы аналогового и цифрового звука" Цитата:
https://ru.wikipedia.org/wiki/Уравнение_рендеринга С другой стороны Цитата:
|
Ответ: Звук в DirectX или Bass
Цитата:
|
Ответ: Звук в DirectX или Bass
Цитата:
|
Часовой пояс GMT +4, время: 11:10. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot