Jump to content
  • Advertisement
Sign in to follow this  
lomateron

Producing sound question

This topic is 1870 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

Is there any way I can produce sound coding it bit by bit and outputting the sound directly using a loop?

 

Like creating a .wav raw file but outputing the sound directly hz by hz as it loops through the code

 

I am using C++

Edited by lomateron

Share this post


Link to post
Share on other sites
Advertisement

Just noticed for the first time that there is no audio technical section...

 

I had a similar project a few years ago. While I have no expertise to share, I did well by searching out sites put up by people learning/using DSP. A lot of them will test effects algorithms and wave gen techniques on the CPU using c++ and you can see how they load and play arbitrary samples generated at run-time. I found a c++ square-wave generator that taught me everything I needed to know.

Share this post


Link to post
Share on other sites

Is there any way I can produce sound coding it bit by bit and outputting the sound directly using a loop?

 

Like creating a .wav raw file but outputing the sound directly hz by hz as it loops through the code

 

I am using C++

 

Why?

 

Understanding the "why" will help others answer.

 

 

CAN you?  Yes, you can write a CPU-based audio processor.  You can use the CPU to mix the sound if you want, but then you are no longer programming a game.  You are programming a digital signal processor, something your machine has many of.  You are building something that the hardware was designed for, and can do both faster and better than you.

 

If your goal is to learn about digital signal processing, there are many excellent books on the subject.  Most require some pretty intense math, but the subject is fun to many people.

 

If your goal is to create something useful for a game, you are probably heading down the wrong path.

Share this post


Link to post
Share on other sites

@jms bc:I made this same realization a yea or two ago, and even suggested one at one point in time, but never saw it materialize.

@op which systems are you targeting? are you programming to win32 api, directx, or are you using a library such as sfml? depending on the answers to these questions as well as your experience you may have a long road ahead.

Share this post


Link to post
Share on other sites

I just want to create some sound bit by bit and output the sound directly, so i could interact with the sound in real time using a pc input mixed with the code that produces the sound.

The part of having  bit by bit control of the sound is the most important.

Sound cards can do this, I will like to know how too use them, does someone knows were to start?

Edited by lomateron

Share this post


Link to post
Share on other sites

@op:

typically, a person will use the relevant APIs (such as DirectSound or Win32 mmsystem) to get a sound buffer which they can mix into.

pretty much the rest mostly comes down to filling in arrays of sample data.

 

AFAIK, for most common audio chipsets (of the AC'97 and HD Audio variety), pretty much all the mixing is done on the CPU anyways (typically in the sound-libraries or drivers).

 

luckily, for the most part audio-processing isn't usually all that particularly computationally demanding (at least provided it is within "reasonable limits").

 

but, yeah, "usual warnings still apply"...

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!