arduino-audio-tools
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations
BaseConverter.h File Reference
#include "AudioFilter/Filter.h"
#include "AudioTools/CoreAudio/AudioBasic/Collections.h"
#include "AudioTypes.h"

Go to the source code of this file.

Classes

struct  AppropriateSumType< T >
 We reduce the number of samples in a datastream by summing (binning) or averaging. This will result in the same number of channels but binSize times less samples. If Average is true the sum is divided by binSize. More...
 
struct  AppropriateSumType< int16_t >
 
struct  AppropriateSumType< int24_t >
 
struct  AppropriateSumType< int32_t >
 
struct  AppropriateSumType< int8_t >
 
class  BaseConverter
 Abstract Base class for Converters A converter is processing the data in the indicated array. More...
 
class  Bin
 Provides reduced sampling rates through binning. More...
 
struct  Bin::BinState
 
struct  Bin::BinStateT< T >
 
class  BinT< T >
 
class  CallbackConverterT< T >
 You can provide a lambda expression to convert the data. More...
 
class  ChannelAvg
 We average pairs of channels in a datastream. E.g. if we have 4 channels we end up with 2 channels. The channels will be (channel_1 + channel_2)/2 (channel_3 - channel_4)/2. This is equivalent of stereo to mono conversion but will also work for quadric, sexic or octic audio. This will not work if you provide single channel data! More...
 
class  ChannelAvgT< T, AvgT >
 We average pairs of channels in a datastream. E.g. if we have 4 channels we end up with 2 channels. The channels will be (channel_1 + channel_2)/2 (channel_3 - channel_4)/2. This is equivalent of stereo to mono conversion but will also work for quadric, sexic or octic audio. This will not work if you provide single channel data! More...
 
class  ChannelBinDiff
 Provides combination of binning and subtracting channels. More...
 
struct  ChannelBinDiff::ChannelBinDiffState
 
struct  ChannelBinDiff::ChannelBinDiffStateT< T >
 
class  ChannelBinDiffT< T >
 We first bin the channels then we calculate the difference between pairs of channels in a datastream. E.g. For binning, if we bin 4 samples in each channel we will have 4 times less samples per channel E.g. For subtracting if we have 4 channels we end up with 2 channels. The channels will be channel_1 - channel_2 channel_3 - channel_4 This is the same as combining binning and subtracting channels. This will not work if you provide single channel data! More...
 
class  ChannelConverter< T >
 Increasing or decreasing the number of channels. More...
 
class  ChannelDiff
 
class  ChannelDiffT< T >
 We calculate the difference between pairs of channels in a datastream. E.g. if we have 4 channels we end up with 2 channels. The channels will be channel_1 - channel_2 channel_3 - channel_4 This is similar to background subtraction between two channels but will also work for quadric, sexic or octic audio. This will not work if you provide single channel data! More...
 
class  ChannelEnhancer< T >
 Increases the channel count. More...
 
class  ChannelMixer< T, SumT >
 We mix all input channels in a datastream. E.g. if we have stereo input data we end up with 2 identical mono channels. More...
 
class  ChannelReducer
 We combine a datastream which consists of multiple channels into less channels. E.g. 2 to 1 The last target channel will contain the combined values of the exceeding source channels. More...
 
class  ChannelReducerT< T >
 We combine a datastream which consists of multiple channels into less channels. E.g. 2 to 1 The last target channel will contain the combined values of the exceeding source channels. More...
 
class  Converter1Channel< T >
 Converter for 1 Channel which applies the indicated Filter. More...
 
class  ConverterAutoCenter
 Makes sure that the avg of the signal is set to 0. More...
 
class  ConverterAutoCenterT< T >
 Makes sure that the avg of the signal is set to 0. More...
 
class  ConverterFillLeftAndRight< T >
 Make sure that both channels contain any data. We copy the data from the non-empty channel to the empty one. More...
 
class  ConverterNChannels< T, FT >
 Converter for n Channels which applies the indicated Filter. More...
 
class  ConverterScaler< T >
 Multiplies the values with the indicated factor adds the offset and clips at maxValue. To mute use a factor of 0.0! More...
 
class  ConverterSwitchLeftAndRight< T >
 Switches the left and right channel. More...
 
class  ConverterToInternalDACFormat< T >
 special case for internal DAC output for the ESP32. The incomming PCM buffer needs to be converted from signed 16bit to unsigned More...
 
class  CopyChannels< T, Cn, Cx, S >
 Copy channel Cx value of type T shifted by S bits to all Cn channels. More...
 
class  Decimate
 Provides a reduced sampling rate by taking a sample at every factor location (ingoring factor-1 samples) More...
 
struct  Decimate::DecimateState
 
struct  Decimate::DecimateStateT< T >
 
class  DecimateT< T >
 Provides reduced sampling rates. More...
 
class  MultiConverter< T >
 Combines multiple converters. More...
 
class  NOPConverter
 Dummy converter which does nothing. More...
 
class  NumberReader
 Reads n numbers from an Arduino Stream. More...
 
class  PoppingSoundRemover< T >
 Big value gaps (at the beginning and the end of a recording) can lead to some popping sounds. We will try to set the values to 0 until the first transition thru 0 of the audio curve. More...
 
class  SilenceRemovalConverter< T >
 Removes any silence from the buffer that is longer then n samples with a amplitude below the indicated threshhold. If you process multiple channels you need to multiply the channels with the number of samples to indicate n. More...
 
class  SmoothTransition< T >
 Changes the samples at the beginning or at the end to slowly ramp up the volume. More...
 

Namespaces

namespace  audio_tools
 Generic Implementation of sound input and output for desktop environments using portaudio.
 

Enumerations

enum  FillLeftAndRightStatus { Auto , LeftIsEmpty , RightIsEmpty }
 Configure ConverterFillLeftAndRight. More...