Questions tagged [audio-processing]

Audio processing involves the study of mathematical and signal processing techniques to understand or alter the nature of audio signals. The different kind of audio signals under study include speech, music, environmental audio and computer audio. Audio is analyzed in the temporal or spectral domain by applying various filters.

Key concept is to transform the audio into PCM format so you have access to the raw audio curve. Each channel will have its own curve.

Digital audio is represented by a series of points on this curve. Each point is called an audio sample. Numerical value of each sample can be represented in either integer or floating point.

Be aware to map each audio sample numerical value to memory typically requires several bytes of storage. One byte can store only 2^8 distinct values (256) which will result in noticeable distortion. High quality audio is typically stored using at least two bytes of storage per audio sample. When we use two bytes this gives us 2^16 possible values of the raw audio curve height as the audio wobbles up and down. The more bytes we use for storage the higher fidelity we gain as this reduces the gap between each distinct curve height measurement. This called bit depth. CD quality audio uses two bytes per audio sample per channel. The other fundamental aspect of digital audio is Sample Rate with determines the number of samples per second of time.

556 questions
0
votes
2 answers

How to read IMediaSample 24 bit PCM data

I have the following method which collects PCM data from the IMediaSample into floats for the FFT: public int PCMDataCB(IntPtr Buffer, int Length, ref TDSStream Stream, out float[] singleChannel) { int numSamples = Length /…
Marino Šimić
  • 7,318
  • 1
  • 31
  • 61
0
votes
1 answer

Methods of custom-implementation of TargetDataLine aren't invoked

I tried to get to work with the javax.sound.sampled-package. I tried implementing my own version of TargetDataLine (for test purposes at this point). To my very dismay, however, when I was done and tried to "play" it, neither one of it's methods…
TreffnonX
  • 2,924
  • 15
  • 23
0
votes
0 answers

Find AMR silent packets

I am using opencoreamr library in a real-time project.I see that the library has a kind of VAD functionality which makes the noise packets silence.I want to distinguish the noise packets from voice ones which decode to the silence packets.How can I…
harsini
  • 326
  • 2
  • 14
0
votes
1 answer

Operate on single audio channels without deinterleaving

I am processing a waveform stored in a vector. The audio channels are interleaved. I have to process the channels separately and then provide the final result as interleaved (again). The functions that operate on every single channel accept a range…
gd1
  • 11,300
  • 7
  • 49
  • 88
0
votes
1 answer

Cross-platform library for generating pure sound with adjustable level of volume/dB written in C or C++

I'm looking for a Cross-platform library for generating pure sound with adjustable level of power/dB written in C or C++. It must not be GPL.
Viet
  • 17,944
  • 33
  • 103
  • 135
0
votes
0 answers

variable showing strange value when implementing NLMS algorithm in Android

I have been scratching my head about this all day and have run out of ideas now, so I am posting this here I am trying to implement a feedback suppressor in Android using the NLMS algorithm I use an AudioRecord to obtain audio samples from the MIC…
user13267
  • 6,871
  • 28
  • 80
  • 138
0
votes
1 answer

need to understad how AudioRecord and AudioTrack work for raw PCM capture and playback

I use the following code in a Thread to capture raw audio samples from the microphone and play it back through the speaker. public void run(){ short[] lin = new short[SIZE_OF_RECORD_ARRAY]; int num = 0; // am =…
user13267
  • 6,871
  • 28
  • 80
  • 138
0
votes
0 answers

How SOA based Signal Processing?

I am working on a problem regarding noise removal from recorded signals using some Adaptive Filtering ( e.g Wiener Filter ). It's a typical DSP problem in a following way. Recording Time Signals Windowing into Blocks FFT Performing Noise…
Usman
  • 2,742
  • 4
  • 44
  • 82
0
votes
1 answer

Using the WaveformTimeline Control in the WPF Sound Visualisation Library

I am having problems using the WaveformTimeLine class in the WPF Sound Visualization Library using the NAUDIO class library.I have followed the instructions they have put out in their documentation but it's just not working for me. My code behind…
KillaKem
  • 995
  • 1
  • 13
  • 29
0
votes
2 answers

read multiple wav files in matlab

I want read multiple wav files one by one in one folder. I wrote this way, but it gives "Invalid Wave File. Reason: Cannot open file." error. But when i change t to number, it works. for t=1:10 myFile=['path\','t.wav']; [ speech, fs] =…
user2386416
  • 3
  • 1
  • 3
0
votes
1 answer

FFMPEG audio decoding: efficient conversion from short to float sample buffer

I am using the FFMPEG avcodec_decode_audio to decode audio input files of various types. The resulting samples are of type SHORT. These samples are processed with another library which requires the samples in FLOAT input format. Finally, for…
Hyndrix
  • 4,282
  • 7
  • 41
  • 82
0
votes
1 answer

XAudio2 occlusion processing

I'm working on a home brew game engine and I am currently working on the audio engine implementation. This is mostly for self-educational reasons. I want to create an interface wrapper for generic audio processing, so I can switch between OpenAL,…
Erik Frantz
  • 437
  • 4
  • 13
0
votes
1 answer

ActionScript 3: How can I keep an accurate BPM counter?

I'm looking to create a drum machine in ActionScript 3 (as an Adobe AIR Android app), which will keep to a user defined tempo (BPM). I am struggling to find a way to keep the project in time, I have, at the moment, made it so that 5 different sounds…
Tom Haddad
  • 377
  • 2
  • 5
  • 12
0
votes
3 answers

calculating fft with complex number in c#

I use this formula to get frequency of a signal but I dont understand how to implement code with complex number? There is "i" in formula that relates Math.Sqrt(-1). How can I code this formula to signal in C# with NAduio library?
0
votes
0 answers

Play mutiple audio at a time

I need to play multiple audio track at a time from sd card. I was trying to play with SoundPool. But it does not support larger files. I tried with AudioTrack but it needs pure PCM code. PCM code generation bit of complex from mp3 or 3gp file, as…
asish
  • 4,767
  • 4
  • 29
  • 49