Creating sound engine | sound basics & windows functions

Started by
3 comments, last by Vortez 9 years, 7 months ago

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.

Advertisement

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.

Stay gold, Pony Boy.

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.

Beginner here <- please take any opinions with grain of salt

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.

In addition to openal there's also the FMOD library, it's relatively easy to use too.

This topic is closed to new replies.

Advertisement