arduino-audio-tools
Loading...
Searching...
No Matches
Classes

Audio Encoder. More...

Classes

class  AACEncoderFDK
 Encodes PCM data to the AAC format and writes the result to a stream This is basically just a wrapper using https://github.com/pschatzmann/arduino-fdk-aac. More...
 
class  AACEncoderVO
 AAC Encoder based on the VisualOn vo-aacenc implementation (https://github.com/pschatzmann/codec-vo-aacenc). More...
 
class  ADPCMEncoderXQ
 Encoder for ADPCM-XQ - Depends on https://github.com/pschatzmann/arduino-adpcm-xq. More...
 
class  APTXEncoder
 Encoder for OpenAptx - Depends on https://github.com/pschatzmann/libopenaptx. More...
 
class  BinaryContainerEncoder
 Wraps the encoded data into Config, Data, and Meta segments so that we can recover the audio configuration and orignial segments if this is relevant. We assume that a full segment is written with each call of write(); The segments are separated with a new line character. More...
 
class  Codec2Encoder
 Encoder for Codec2 - Depends on https://github.com/pschatzmann/arduino-libcodec2. More...
 
class  CodecChain
 CodecChain - allows to chain multiple decoders and encoders together. More...
 
class  CopyEncoder
 Dummy Encoder which just copies the provided data to the output. More...
 
class  EncoderBase64
 EncoderBase64s - Encodes the input data into a Base64 string. By default each audio frame is followed by a new line, so that we can easily resynchronize the reading of a data stream. The generation of the new line can be configured with the setNewLine() method. More...
 
class  EncoderBasic
 EncoderBasic - supports mime type audio/basic. The content of the "audio/basic" subtype is single channel audio encoded using 8bit ISDN mu-law [PCM] at a sample rate of 8000 Hz. Requires https://github.com/pschatzmann/arduino-libg7xx. More...
 
class  EncoderFloat
 EncoderFloats - Encodes 16 bit PCM data stream to floats data. More...
 
class  EncoderL16
 EncoderL16s - 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. More...
 
class  EncoderL8
 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...
 
class  EncoderNetworkFormat
 Encoder which converts from the host format to the network format. More...
 
class  FLACEncoder
 FLACEncoder. More...
 
class  G711_ALAWEncoder
 64 kbit/s g711 ALOW Encoder based on https://github.com/pschatzmann/arduino-libg7xx More...
 
class  G711_ULAWEncoder
 64 kbit/s g711 ULOW Encoder based on https://github.com/pschatzmann/arduino-libg7xx More...
 
class  G711Decoder
 64 kbit/s g711 ULOW Decoder based on https://github.com/pschatzmann/arduino-libg7xx Supported decoder parameters: alaw2linear, ulaw2linear More...
 
class  G721Encoder
 32Kbps G721 Encoder based on https://github.com/pschatzmann/arduino-libg7xx More...
 
class  G722Encoder
 Encoder for G.722 - Depends on https://github.com/pschatzmann/arduino-libg722. Inspired by g722enc.c. More...
 
class  G723_24Encoder
 24Kbps G723 Encoder based on https://github.com/pschatzmann/arduino-libg7xx More...
 
class  G723_40Encoder
 40Kbps G723 Encoder based on https://github.com/pschatzmann/arduino-libg7xx More...
 
class  G729Encoder
 G.729 encoder using the bcg729 library. More...
 
class  G7xxEncoder
 g723_24, g721, g723_40 Encoder based on https://github.com/pschatzmann/arduino-libg7xx More...
 
class  GSMEncoder
 Encoder for GSM - Depends on https://github.com/pschatzmann/arduino-libgsm. Inspired by gsmenc.c. More...
 
class  H264Encoder
 H.264 video encoder: wraps TinyH264Encoder (https://github.com/pschatzmann/TinyH264). Configure via setSize()/ setQp() (or setTargetBitrate() for rate control) same as TinyH264Encoder and setVideoFormat() for the raw picture format write() expects (I420 - planar Y/U/V concatenated in one buffer - by default), then feed raw pictures via write() - the resulting Annex-B bitstream is written to the Print target configured via setOutput() (e.g. a Muxer's addVideoFrame() by way of an adapter, or any other Print) instead of a caller-supplied buffer. More...
 
class  H264EncoderESP32S3< Alloc >
 H.264 video encoder for ESP32-S3: wraps esp_h264::H264Encoder (https://github.com/pschatzmann/ESP32S3-h264) - the ESP32-S3-specific counterpart of H264Encoder (CodecH264.h, the portable TinyH264-based encoder). Configure via setSize()/setFrameRate()/setBitrate()/ setGop()/setQpRange()/setVideoFormat() (I420 - the default -, RGB565 or YUV422), then feed raw pictures via write() - it writes the resulting Annex-B bitstream straight to the Print target passed to setOutput() (the underlying esp_h264::H264Encoder methods already take a Print& and handle the write, retrying on partial writes - see H264Encoder.h's encode()). More...
 
class  ILBCEncoder
 Encoder for iLBC - Depends on https://github.com/pschatzmann/libopenilbc. More...
 
class  LC3Encoder
 Encoder for LC3 - Depends on https://github.com/pschatzmann/arduino-liblc3. More...
 
class  MP3EncoderLAME
 Encodes PCM data to the MP3 format and writes the result to a stream This is basically just a wrapper using https://github.com/pschatzmann/arduino-liblame. More...
 
class  MPGEncoder
 MPEG-1 part 2 video encoder wrapper around TinyMPGEncoder. More...
 
class  Muxer
 Common interface for muxers (MuxerAVI, MuxerMP4) that combine an already-encoded video track (and optionally an audio track) into a container written to a Print (a local File to record, or e.g. a network Client to publish a live stream to an HTTP/TCP client). Write code against this interface instead of a concrete class if it should work with either container format. More...
 
class  MuxerAVI
 Configuration for the (single) video track written by MuxerAVI. More...
 
class  MuxerMP4
 Video track configuration for MuxerMP4 - update before calling begin(). More...
 
class  MuxerMPG
 MPEG-1 System (Program) Stream Encoder, as defined by ISO/IEC 11172-1: muxes an already-encoded MPEG-1 video elementary stream (ISO/IEC 11172-2) and an optional MPEG-1 audio elementary stream (ISO/IEC 11172-3, Layer I/II/III) into pack_header/system_header/PES_packet framing written to a Print (a local File to record, or e.g. a network Client to publish a live stream). More...
 
class  OggContainerEncoder
 Encoder for Ogg Container. Encodes a packet for an Ogg container. The Ogg begin segment contains the AudioInfo structure. You can subclass ond overwrite the writeHeader() method to implement your own header logic. When an optional encoder is specified in the constructor we package the encoded data. Dependency: https://github.com/pschatzmann/arduino-libopus. More...
 
class  OpusAudioEncoder
 Encode for Opus audio. More...
 
class  OpusMultiStreamAudioEncoder
 Encoder for Opus multistream audio. Supports up to 255 channels by combining multiple Opus streams into a single packet. Each fully encoded frame is written to the output stream. More...
 
class  OpusOggEncoder
 Opus Encoder which uses the Ogg Container: see https://datatracker.ietf.org/doc/html/rfc7845 Dependency: https://github.com/pschatzmann/arduino-libopus. More...
 
class  OSCContainerEncoder
 Wraps the encoded data into OSC info and data segments so that the receiver can recover the audio configuration and orignial segments. More...
 
class  SBCEncoder
 Encoder for SBC - Depends on https://github.com/pschatzmann/arduino-libsbc. Inspired by sbcenc.c. More...
 
class  WAVEncoder
 A simple WAV file encoder. If no AudioEncoderExt is specified the WAV file contains PCM data, otherwise it is encoded as ADPCM. The WAV header is written with the first writing of audio data. Calling begin() is making sure that the header is written again. More...
 

Detailed Description

Audio Encoder.