Skip to content

gallagher-tech/ofxAudioCapture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ofxAudioCapture

capture audio from mic input

ofxAudioCapture audioCapture;

// list all audio devices
AudioCapture::printDeviceList();

// get a ofSoundStream device (using MS DirectSound API)
ofSoundStream soundStream;
auto devices = soundStream.getDeviceList( ofSoundDevice::Api::MS_DS );

// setup to capture from ofSoundStream / mic input:

ofSoundStreamSettings soundSettings;
soundSettings.setInDevice( devices[0] );    // use specific audio device
soundSettings.sampleRate        = 48000;    // hz, also 44100 is common
soundSettings.numOutputChannels = 0;        // no output, just input
soundSettings.numInputChannels  = 1;        // one channel input
soundSettings.bufferSize        = 512;      // ? seems to work
soundSettings.numBuffers        = 4;        // ^

int bitsPerSample = 16;     // bits per sample of audio writer, also 24 is common

audioCapture.setupAudioInputRecorder( soundSettings, bitsPerSample );

// begin capturing
auto path = ofToDataPath( "audio_capture.wav", true );  // absolute path
audioCapture.beginRecording( path );

// ... mic input is automatically piped to the audio capture writer ...

// later - end capture
audioCapture.endRecording();

// now WAV is saved to `bin/data/audio_capture.wav`

capture audio manually

ofxAudioCapture audioCapture;

int numInputChannels    = 1;        // number of channels
int sampleRate          = 48000;    // Hz sample rate (e.g. 44100)
int bitsPerSample       = 16;       // bits per sample of audio writer (e.g. 24)

audioCapture.setupManualRecorder( numInputChannels, sampleRate, bitsPerSample );
std::vector<float> buffer;

// begin capturing
auto path = ofToDataPath( "audio_capture.wav", true );  // absolute path
audioCapture.beginRecording( path );

// fill buffer...
// add audio frames...
audioCapture.audioIn( buffer.data(), buffer.size() );

// later - end capture
audioCapture.endRecording();

// now WAV is saved to `bin/data/audio_capture.wav`

About

simple wav audio recorder

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published