arduino-audio-tools
|
EncoderL8s - Condenses 16 bit PCM data stream to 8 bits data. Most microcontrollers can not process 8 bit audio data directly. 8 bit data however is very memory efficient and helps if you need to store audio on constrained resources. This encoder translates 16bit data into 8bit data. By default the encoded data is represented as uint8_t, so the values are from 0 to 255. More...
#include <CodecL8.h>
Public Member Functions | |
EncoderL8 (bool isSigned=false) | |
EncoderL8 (Print &out) | |
AudioInfo | audioInfo () |
provides the actual input AudioInfo | |
virtual AudioInfo | audioInfoOut () |
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream | |
bool | begin () override |
starts the processing using the actual RAWAudioInfo | |
virtual bool | begin (AudioInfo info) |
bool | begin (Print &out) |
starts the processing | |
int16_t | convertSample (int16_t sample) |
void | end () override |
stops the processing | |
bool | isOpen () |
const char * | mime () override |
Provides "audio/pcm". | |
operator bool () override | |
void | setAudioInfo (AudioInfo from) override |
Defines the sample rate, number of channels and bits per sample. | |
void | setOutput (Print &out_stream) override |
Defines the output Stream. | |
void | setSigned (bool isSigned) |
By default the encoded values are unsigned, but can change them to signed. | |
size_t | write (const uint8_t *data, size_t len) override |
Writes PCM data to be encoded as RAW. | |
Protected Member Functions | |
void | writeBlocking (Print *out, uint8_t *data, size_t len) |
Protected Attributes | |
Vector< int8_t > | buffer |
AudioInfo | info |
bool | is_open |
bool | is_signed = false |
Print * | p_print = nullptr |
EncoderL8s - Condenses 16 bit PCM data stream to 8 bits data. Most microcontrollers can not process 8 bit audio data directly. 8 bit data however is very memory efficient and helps if you need to store audio on constrained resources. This encoder translates 16bit data into 8bit data. By default the encoded data is represented as uint8_t, so the values are from 0 to 255.