0
0

Hello,

I am working on an augmented reality game that is played on a desk. The sound setup currently is four speakers on each corner of the desk. What I want to do is have sounds play louder the closer they are to a speaker.

So for example lets say I have my Front Left Speaker at position (x,y) of the table, when an object gets closer to the speaker I need sound to get louder on that speaker only. If I then move it towards the Front Right Speaker the sounds should get quieter on the front left and louder on the front right. Is there any way to accomplish this? It doesn’t seem like too difficult a concept. I’ve searched for the last few hours with no luck.

Thanks,
Richard

  • You must to post comments
0
0

After some discussion its apparent that FMOD has a step before playing a sound in which it translates how the sound is to be played on the speakers based on the listeners position, is there any way to skip that step and only play the sound in relation to the speakers instead of the user.

Thanks,
Richard

  • You must to post comments
0
0

I don’t see any way to update the subject of my post but I have some changes to the question. Nor can I really think of a better title. What I have done is created 4 listeners and positioned them where my speakers are. Is it possible to connect a listener with a speaker.

As it is right now whenever a sound gets close to a listener it plays the sound on all speakers, what I want is for the sound to play on the speaker that is in the same 3d space as the listener. So if my sound is close to the front left listener than it is played on the front left speaker.

  • You must to post comments
0
0

[quote:3gadxhap]Is it possible to connect a listener with a speaker. [/quote:3gadxhap]
No.

Not only that, but by having multiple listeners you’re going to lose all 3D panning. When there are multiple listeners FMOD pans all 3D sounds to the centre.

Your task of creating a project where there are speakers at the boundary and a sound source inside is unusual, and in turn it will probably require an unusual solution.

The listener in FMOD is considered a discrete point, with no volume. The loudness in any speaker is determined by the direction of sound source relative to the point and the listener orientation.

The only way to have multiple listeners using 3D panning is to create a FMOD::System object per speaker. NOTE: using multiple system object is not recommended.

Another method is to just use a 2D sound with custom panning. You’ll have full control of where the sound is played. For this method you’ll need to use software mixing and use Channel::setSpeakerMix.

Hope this helps.

-Pete

  • You must to post comments
0
0

Why are you using 3d sounds? Just use a 2d sound and setSpeakerMix.

  • You must to post comments
0
0

At the time I thought it was necessary to use 3D sounds as fundamentally it is 3D. But indeed I have to switch to 2D sounds and use setSpeakerMix()

Thanks for the help,
Richard

  • You must to post comments
0
0

This was covered in another post. You have 4 virtual "game" speakers if I read this right? Like a game character turns on a virtual music box or stereo? Or you have a character in a concert hall walking arround…

Create 4 channels using the same 3d sound… Start them up at the same time and set their positions where the in games skeakers are… Your listener, when it gets close to a speaker will do the rest…

  • You must to post comments
0
0

I guess the best way to put it is think of a desk with a pencil on it. Now lets say I attach a sound to that pencil and put a speaker on each corner of the desk. When I move the pencil close to a speaker the sound should get louder on the speaker it is close to.

Now once that idea has settled, here is how it all goes together. I have a real desk, with four speakers on the corners. And I move virtual objects on it so the 4 speakers need to play sounds as if a real object was on the desk making the sound. In this way the speakers are not simulating where the object is in relation to the user, rather the speakers are simulating where the object is in the isolated environment, in this case the desk.

  • You must to post comments
0
0

The method I mentionned should do it then

  • You must to post comments
0
0

I’ll try it once I get back to my house tonight, but I am hopeful it will.
Thanks very much if it does, the question I would like to add though is by "Your listener, when it gets close to a speaker will do the rest…" do you mean the actual person walking around the desk, or the listener object in fmod, because there can be a number of people standing around the desk, and therefore I cant effectively track or calculate their positions.

Again thanks very much,
Richard Pitul

  • You must to post comments
0
0

[quote="RP520":2vpjsl6d]I’ll try it once I get back to my house tonight, but I am hopeful it will.
Thanks very much if it does, the question I would like to add though is by "Your listener, when it gets close to a speaker will do the rest…" do you mean the actual person walking around the desk, or the listener object in fmod, because there can be a number of people standing around the desk, and therefore I cant effectively track or calculate their positions.

Again thanks very much,
Richard Pitul[/quote:2vpjsl6d]

As in the listener in the 3d sound environment… The FMOD listener…

having it "hear" the sound off the 4 speakers at the 4 corners of the 3d sound environment should give the same effect you want, it should look like the pen is generating noise in the virtual world and being picked up by 4 microphones at the 4 corners of the virtual desk then being played at the 4 speackers of the real desk.

You may have to play with the 3d min max distance values and set the fading to linear

  • You must to post comments
Showing 10 results
Your Answer

Please first to submit.