As you know, MP3 format is built using some hacks based on things that our ear can't hear. For example human hearing aid can not hear for a milliseconds after short and loud sound. Mp3 compressing uses that and removes that sound bite after 'kicks'.
Is cat hearing aid working the same way? Or cats can hear every compression hack? My cat doesn't care about Strauss at all, is that an MP3 problem?
Related
I am trying to make a game where I need to play many sounds simultaneously I know v.basic or rather just know about the func. PlaySound() to run .wav sounds.
The problem is that with SND_ASYNC I cannot play multiple sound at once but the sound which plays first skips in the middle and plays the next sound.
Is there any way (simple and easy to understand) so that I can play multiple sounds at once?
Playsound is not meant for mixing sounds. Essentially, it's an older technology that can easily be outdone by more recent ones.
You can use DirectX for sound development in games (a popular choice).
I personally use FMod since it's really easy to use. Here is a tutorial to get you started.
I recommend you to use the latest version of fmod (fmod Studio) that give you posibilities to create diferen channels and play various sounds on each channel and aply effects for each one.
i have a course project in making a music player in linux with ffmpeg, can anyone give me some instruction about it. Does anyone know of any good resources for learning how to use ffmpeg? Considering I just want to write a simple music player with support for a broad range of formats and codecs, is ffmpeg too heavyweight for a project of this scope? thank you!
This is not a specific question, there are a lot of tutorials on the Internet like http://dranger.com/ffmpeg/tutorial01.html and other tutorials.
I want to develop an application that would take audio(.wav) as input and display its real time simultaneous frequency spectrum . From what i have looked upon the subject , this requires fourier transform of the waves . Can someone suggest where i should start with ? Possible references and books . I want to learn the details of the implementations of realtime frequency spetrum rather than the development of GUI which i am quite familiar with(in C# and in C++).
There are already many libraries to do FFTs for you. No reason to reinvent the wheel. DirectX has an implementation but it might only be in the most recent version. Here's an open source C library for it.
If you want to understand the math behind it, here's a simple explanation and here's a complicated explanation.
You should begin with opening the wav file, extracting the audio stream and decoding it. There are 3rd party libraries to help on this operation.
Take a look at FFTW.
As far as books go, the classic text book on signal processing is Oppenheim and Schafer's Digital Signal Processing. Its college level but it is quite through. You do need some knowledge of calculus in places.
One should understand a bit of the theory before going off and implementing an application to display something. Here are some free online resources on digital signal processing, which is the basis for understanding FFTs and frequency spectrums, and maybe how not to misuse them.
http://www.dspguide.com/pdfbook.htm
http://www.bores.com/courses/intro/index.htm
http://ccrma.stanford.edu/courses/320/Welcome.html
http://yehar.com/blog/?p=121/
I am writing a small program in C++ that receives mic input and does some simple live audio processing. I have been looking around and the only things I have been able to find that work on Linux are PortAudio, QAudioInput, and fmod.
I am trying to stay away from any super low level programming and use a minimal amount of lines.
Which one of these would fit my needs best?
Check out JUCE. Juce will build on many platforms. JUCE does a lot more than just audio, but it was made with audio programmers in mind. Look at he JUCE demo application and then just chop up the source code from the audio demo to suit your needs. The API documentation is really good also. The abstraction from the low level stuff is good.
Can you recommend a powerful audio lib?
I need it to timestrech & pitchshift independently, as well as give me full access to the raw audio data and let me stream bytes into its pipeline.
Other effects like eq, filtering, distortion are a plus.
Needs to be accessible from C++ / Linux.
Maybe gstreamer, xine or mplayer would work? Or what would you suggest.
I think FMod is widely recognized as one of the most powerful audio engine available for free until you do something commercial with it, and cross-platform, like in console-mac-pc cross-platform.
Now, OpenAL is worth giving a try.
OpenAL, PulseAudio, JACK, and Phonon, I believe, each have these features in some form.
If you willing to pay for it Miles is very nice. I can't recommend FMOD for much outside of hobby projects. It's had some truly nasty bugs, and I've seen new versions introduce as many as they fix.
I've used soundtouch in the past. Focused on changing speed/pitch/etc.
ALSA looks like the big one.
JACK for Linux also looks promising.