Sign in to follow this  

Creating sound engine | sound basics & windows functions

This topic is 1198 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello everyone!

I'm making game engine. I think im pretty great with graphical stuff but i have no idea how sound works in computers.
All i know right now is that there's a sound files for example wav and programs what play it.

There are games what play wav by i guess manipulate with sound buffer for example by making sound 3D
( You know, make it seems like sound is playing behind you for example )

And some game engine are changing sound this way, that it feels like it is playing underwater or with echo.
Well, my wish is to learn how do they do it and create something on my own.

I wish to create sound engine what is able to do similar like fl studio does.
If you don't know what program it is then few things what im having in my mind:
Changing sound pitch, changing sound pitch without increasing/decreasing sound length, increasing/decreasing sound length without changing pitch, making sound echo, controlling how loud sound is playing in left or right speaker basically everything what comes to my mind and doing all this in real time not pre rendering things.

All i need to know is how to create basic buffer and play a sound.
When i know that, i can start playing with it and for example create my own sound files and stuff.

 

Share this post


Link to post
Share on other sites

You may wish to check out openAL (open audio library).

This is a page about some basics in openAL.

 

If you have ever used an analogue synthesizer, one of the effects they have is called a "filter".

 

Low pass filters cut off the high frequencies of the audio, making the audio sound muffled. This has a similar affect to standing behind a wall when somebody is playing music.

A low pass filter can achieve the "underwater" affect you are talking about.

High pass filters cut off the low frequencies of the audio, getting rid off all the "bass".

 

To get an echo sound you need to take a clip of audio, and repeat it at a certain interval, each time making the sound quieter.

 

To make audio sound like it is coming from somewhere else, you need to pan the audio between the left and right speakers.

 

OpenAL can't do all of this by itself, you may wish to use a higher level library such as JSyn for java.

Share this post


Link to post
Share on other sites

I use sfml in my games. Even if you're not using the graphics or input modules, the sound ones are really handy. You can change pitch/speed/3d spatialization, stream from source for larger music files and you can alter everything in real time. It's not as robust as fl studio by any means (i'm personally unaware of a library that is), but, for me, the ease of use makes it my usual choice when dealing with audio.

 

I'm not sure if you can apply filters, but I image a combination of pitch/speed/volume/direction can get you most of the effects you're looking for.

Share this post


Link to post
Share on other sites

I use sfml in my games. Even if you're not using the graphics or input modules, the sound ones are really handy. You can change pitch/speed/3d spatialization, stream from source for larger music files and you can alter everything in real time. It's not as robust as fl studio by any means (i'm personally unaware of a library that is), but, for me, the ease of use makes it my usual choice when dealing with audio.

 

I'm not sure if you can apply filters, but I image a combination of pitch/speed/volume/direction can get you most of the effects you're looking for.

Thanks, its perfect!
As long as i can get access to the sound buffer, its awesome. 

Anyways, do you have a facebook? It would be great to share knowledge sometimes.

Share this post


Link to post
Share on other sites

This topic is 1198 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this