signal-processing

C/C++ library for reading MIDI signals from a USB MIDI device

I want to write C/C++ programs that take input from a MIDI device. The MIDI device connects to my PC using a USB connector. I'm looking for a (C/C++ implemented) library that I can use to read the MIDI signals from the MIDI device through the USB port. I'm happy manipulating the MIDI data once I get it, I just don't want to have to ...

What Are High-Pass and Low-Pass Filters?

Graphics and audio editing and processing software often contain functions called "High-Pass Filter" and "Low-Pass Filter". Exactly what do these do, and what are the algorithms for implementing them? ...

Software Phase Locked Loop example code needed

Hello Does anyone know of anywhere I can find actual code examples of Software Phase Locked Loops (SPLLs) ? I need an SPLL that can track a PSK modulated signal that is somewhere between 1.1 KHz and 1.3 KHz. A Google search brings up plenty of academic papers and patents but nothing usable. Even a trip to the University library that c...

Music - How do you analyse the fundamental frequency of a PCM or WAC sample

Sample held in a buffer from DirectX. It's a sample of a note played and captured from an instrument. How do I analyse the frequency of the sample (like a guitar tuner does). I believe FFT's are involved, but I have no pointers to HOWTO's. ...

Beats per minute from real-time audio input

I'd like to write a simple C# application to monitor the line-in audio and give me the current (well, the rolling average) beats per minute. I've seen this gamedev article, and that was absolutely no help. I went through and tried to implement what he was doing but it just wasn't working. I know there have to be tons of solutions for t...

Any good recommendations for MP3/Sound libraries for java?

Hello all! I am writing my masters thesis which is closely related to processing sound files (mp3 and alternative formats such as ogg, aac, ...) and sound in Java. Because Java has so much open source support, I didn't think I would have any problems in finding everything I need already coded, but so far results are very sparse. I want...

Integrating gyro and accelerometer readings

I have read a number of papers on Kalman filters, but there seem to be few good publically accessible worked examples of getting from mathematical paper to actual working code. I have a system containing a three-axis accelerometer and a single gyro measuring rotation around one of the accelerometer axes. The system is designed to be hel...

Saturating Addition in C

What is the best (cleanest, most efficient) way to write saturating addition in C? The function or macro should add two unsigned inputs (need both 16- and 32-bit versions) and return all-bits-one (0xFFFF or 0xFFFFFFFF) if the sum overflows. Target is x86 and ARM using gcc (4.1.2) and Visual Studio (for simulation only, so a fallback im...

VB FFT - stuck understanding relationship of results to frequency

Trying to understand an fft (Fast Fourier Transform) routine I'm using (stealing)(recycling) Input is an array of 512 data points which are a sample waveform. Test data is generated into this array. fft transforms this array into frequency domain. Trying to understand relationship between freq, period, sample rate and position in fft a...

Fast fourier transform in c#

Where can I find a free, very quick, and reliable implementation of FFT in C#? Can be used in a product? or are there any restrictions? ...

Bandlimited waveform generation

I am writing a software synthesizer and need to generate bandlimited, alias free waveforms in real time at 44.1 kHz samplerate. Sawtooth waveform would do for now, since I can generate a pulse wave by mixing two sawtooths together, one inverted and phase shifted. So far I've tried the following approaches: Precomputing one-cycle perfe...

Creating sine or square wave in C#

How do a I generate an audio sine or square wave of a given frequency. I am hoping to do this to calibrate equipment, so how precise would these waves be? ...

How does a DSP/FPGA phase accumulator work?

I'm looking at the code for a phase accumulator, and I must be a simpleton because I don't get it. The code is simple enough: Every Clock Tick do: accum = accum + NCO_param; return accum; accum is a 32-bit register. Obviously, at some point it will roll-over. My question really is: How does this relate to the phase? ...

What is the simplest way to continuously sample from the line-in using C#

I want to continuously sample from my PC's audio line in using C# (then process that data). What is the best way to do the sampling? ...

Downsampling and applying a lowpass filter to digital audio

I've got a 44Khz audio stream from a CD, represented as an array of 16 bit PCM samples. I'd like to cut it down to an 11KHz stream. How do I do that? From my days of engineering class many years ago, I know that the stream won't be able to describe anything over 5500Hz accurately anymore, so I assume I want to cut everything above tha...

How do I process the microphone input in real-time?

I'm starting to create a proof of concept for an idea I have, and at this point, I need some guidance as to how I should begin. I need to sample the microphone input, and process that signal in real-time (think Auto-Tune, but working live), as opposed to "recording" for a while. What I'm doing is "kind of" a "mic input to MIDI converte...

Can I do band filtering easily with DirectSound? If not, how can I do it?

I'm wondering whether something like this is possible (and relatively easy to do), and if so, how I could do it? I would like to do band filtering on a wave file I'm reproducing. Something similar to the "Equalizer" you see in most Winamp-like applications. My idea is, however, not to equalize the sound, but to use very high negative dB...

Note onset detection

I am developing a system as an aid to musicians performing transcription. The aim is to perform automatic music transcription (it does not have to be perfect, as the user will correct glitches / mistakes later) on a single instrument monophonic recording. Does anyone here have experience in automatic music transcription? Or digital signa...

Low pass filter software?

I'm looking for digital low pass filter code/library/class for a .net windows forms project, preferably written in c, c++ or c#. I probably need to set the number of poles, coefficients, windowing, that sort of thing. I can't use any of the gpl'd code that's available, and don't know what else is out there. Any suggestions appreciated. ...

Tone Generation in Cocoa Touch

I need to generate a tone that I can manipulate frequency and wave. The overall goal is to create a basic piano. Does anyone know how I can achieve this? My development platform is the iPhone 2.x ...