Description | Uses | Classes, Interfaces, Objects and Records | Functions and Procedures | Types | Constants | Variables |
libspeex.dll wrapper.
Version 2.5.2010.01 Initial release
Name | Description |
---|---|
packed record SpeexBits |
|
record SpeexMode |
|
record tSpeexDSPLibrary_proc |
|
record tSpeexLibrary_proc |
|
Class unaSpeexCoder |
Base class fro Speex encoder and decoder. |
Class unaSpeexDecoder |
Speex Decoder |
Class unaSpeexDSP |
Speex DSP |
Class unaSpeexEncoder |
Speex Encoder. |
Class unaSpeexLib |
Loads Speex DLL into process memory. |
function speex_loadDLL(var speexProc: tSpeexLibrary_proc; const pathAndName: wString = c_speexDLL): int; |
function speex_unloadDLL(var speexProc: tSpeexLibrary_proc): int; |
function speex_loadDSPDLL(var speexDSPProc: tSpeexDSPLibrary_proc; const pathAndName: wString = c_speexDSPDLL): int; |
function speex_unloadDSPDLL(var speexDSPProc: tSpeexDSPLibrary_proc): int; |
pSpeexBits = ˆSpeexBits; |
speex_bits_init = procedure(bits: pSpeexBits); cdecl; |
speex_bits_init_buffer = procedure(bits: pSpeexBits; buff: pointer; buf_size: int); cdecl; |
speex_bits_set_bit_buffer = procedure(bits: SpeexBits; buff: pointer; buf_size: int); cdecl; |
speex_bits_destroy = procedure(bits: pSpeexBits); cdecl; |
speex_bits_reset = procedure(bits: pSpeexBits); cdecl; |
speex_bits_rewind = procedure(bits: pSpeexBits); cdecl; |
speex_bits_read_from = procedure(bits: pSpeexBits; buff: pointer; buf_size: int); cdecl; |
speex_bits_read_whole_bytes = procedure(bits: pSpeexBits; buff: pointer; buf_size: int); cdecl; |
speex_bits_write = function(bits: pSpeexBits; buff: pointer; max_size: int): int; cdecl; |
speex_bits_write_whole_bytes = function(bits: pSpeexBits; buff: pointer; max_size: int): int; cdecl; |
speex_bits_pack = procedure(bits: pSpeexBits; data: int; nbBits: int); cdecl; |
speex_bits_unpack_signed = function(bits: pSpeexBits; nbBits: int): int; cdecl; |
speex_bits_unpack_unsigned = function(bits: pSpeexBits; nbBits: int): unsigned; cdecl; |
speex_bits_nbytes = function(bits: pSpeexBits): int; cdecl; |
speex_bits_peek_unsigned = function(bits: pSpeexBits; nbBits: int): unsigned; cdecl; |
speex_bits_peek = function(bits: pSpeexBits): int; cdecl; |
speex_bits_advance = procedure(bits: pSpeexBits; n: int); cdecl; |
speex_bits_remaining = function(bits: pSpeexBits): int; cdecl; |
speex_bits_insert_terminator = procedure(bits: pSpeexBits); cdecl; |
spx_int16_t = int16; |
pspx_int16_t = ˆspx_int16_t; |
spx_uint32_t = uint32; |
spx_int32_t = int32; |
pSpeexMode = ˆSpeexMode; |
speex_encoder_init = function(mode: pSpeexMode): pointer; cdecl; |
speex_encoder_destroy = procedure(state: pointer); cdecl; |
speex_encode = function(state: pointer; _in: pFloat; bits: pSpeexBits): int; cdecl; |
speex_encode_int = function(state: pointer; _in: pspx_int16_t; bits: pSpeexBits): int; cdecl; |
speex_encoder_ctl = function(state: pointer; request: int; ptr: pointer): int; cdecl; |
speex_decoder_init = function(mode: pSpeexMode): pointer; cdecl; |
speex_decoder_destroy = procedure(state: pointer); cdecl; |
speex_decode = function(state: pointer; bits: pSpeexBits; _out: pFloat): int; cdecl; |
speex_decode_int = function(state: pointer; bits: pSpeexBits; _out: pspx_int16_t): int; cdecl; |
speex_decoder_ctl = function(state: pointer; request: int; ptr: pointer): int; cdecl; |
speex_mode_query = function(mode: pSpeexMode; request: int; ptr: pointer): int; cdecl; |
speex_lib_ctl = function(request: int; ptr: pointer): int; cdecl; |
speex_lib_get_mode = function(mode: int): pSpeexMode; cdecl; |
SpeexPreprocessState = pointer; |
speex_preprocess_state_init = function (frame_size: int; sampling_rate: int): SpeexPreprocessState; cdecl; |
speex_preprocess_state_destroy = procedure (st: SpeexPreprocessState); cdecl; |
speex_preprocess_run = function (st: SpeexPreprocessState; x: pspx_int16_t): int; cdecl; |
speex_preprocess_estimate_update = procedure(st: SpeexPreprocessState; x: pspx_int16_t); cdecl; |
speex_preprocess_ctl = function(st: SpeexPreprocessState; request: int; ptr: pointer): int; cdecl; |
SpeexEchoState = pointer; |
speex_echo_state_init = function(frame_size: int; filter_length: int): SpeexEchoState; cdecl; |
speex_echo_state_destroy = procedure(st: SpeexEchoState); cdecl; |
speex_echo_cancellation = procedure(st: SpeexEchoState; rec: pspx_int16_t; play: pspx_int16_t; out_: pspx_int16_t); cdecl; |
speex_echo_capture = procedure(st: SpeexEchoState; rec: pspx_int16_t; out_: pspx_int16_t); cdecl; |
speex_echo_playback = procedure(st: SpeexEchoState; play: pspx_int16_t); cdecl; |
speex_echo_state_reset = procedure(st: SpeexEchoState); cdecl; |
speex_echo_ctl = function(st: SpeexEchoState; request: int; ptr: pointer): int; cdecl; |
SpeexResamplerState = pointer; |
speex_resampler_init = function(nb_channels: spx_uint32_t; in_rate: spx_uint32_t; out_rate: spx_uint32_t; quality: int; var err: int): SpeexResamplerState; cdecl; |
speex_resampler_init_frac = function(nb_channels: spx_uint32_t; ratio_num: spx_uint32_t; ratio_den: spx_uint32_t; in_rate: spx_uint32_t; out_rate: spx_uint32_t; quality: int; var err: int): SpeexResamplerState; cdecl; |
speex_resampler_destroy = procedure(st: SpeexResamplerState); cdecl; |
speex_resampler_process_float = function(st: SpeexResamplerState; channel_index: spx_uint32_t; in_: pFloat; var in_len: spx_uint32_t; out_: pFloat; var out_len: spx_uint32_t): int; cdecl; |
speex_resampler_process_int = function(st: SpeexResamplerState; channel_index: spx_uint32_t; in_: pspx_int16_t; var in_len: spx_uint32_t; out_: pspx_int16_t; var out_len: spx_uint32_t): int; cdecl; |
speex_resampler_set_quality = function(st: SpeexResamplerState; quality: int): int; cdecl; |
speex_resampler_get_quality = procedure(st: SpeexResamplerState; var quality: int); cdecl; |
speex_resampler_skip_zeros = function(st: SpeexResamplerState): int; cdecl; |
speex_resampler_reset_mem = function(st: SpeexResamplerState): int; cdecl; |
speex_resampler_strerror = function(err: int): paChar; cdecl; |
pSpeexLibrary_proc = ˆtSpeexLibrary_proc; |
pSpeexDSPLibrary_proc = ˆtSpeexDSPLibrary_proc; |
c_opt4RTP_numbytes: int = 1100; |
c_opt4RTP_numframes: int = 5; |
function speex_loadDLL(var speexProc: tSpeexLibrary_proc; const pathAndName: wString = c_speexDLL): int; |
Loads the Speex DLL. Returns0 if successuf, -1 is some API is missing or Windows specific error code. |
function speex_unloadDLL(var speexProc: tSpeexLibrary_proc): int; |
Unloads the Speex DLL. Returns0 if successuf, or Windows specific error code. |
function speex_loadDSPDLL(var speexDSPProc: tSpeexDSPLibrary_proc; const pathAndName: wString = c_speexDSPDLL): int; |
Loads the Speex DSP DLL. Returns0 if successuf, -1 is some API is missing or Windows specific error code. |
function speex_unloadDSPDLL(var speexDSPProc: tSpeexDSPLibrary_proc): int; |
Unloads the Speex DSP DLL. Returns0 if successuf, or Windows specific error code. |
pSpeexBits = ˆSpeexBits; |
* Bit-packing data structure representing (part of) a bit-stream. */ |
speex_bits_init = procedure(bits: pSpeexBits); cdecl; |
*< Reserved for future use */ * Initializes and allocates resources for a SpeexBits struct */ |
speex_bits_init_buffer = procedure(bits: pSpeexBits; buff: pointer; buf_size: int); cdecl; |
* Initializes SpeexBits struct using a pre-allocated buffer*/ |
speex_bits_set_bit_buffer = procedure(bits: SpeexBits; buff: pointer; buf_size: int); cdecl; |
* Sets the bits in a SpeexBits struct to use data from an existing buffer (for decoding without copying data) */ |
speex_bits_destroy = procedure(bits: pSpeexBits); cdecl; |
* Frees all resources associated to a SpeexBits struct. Right now this does nothing since no resources are allocated, but this could change in the future.*/ |
speex_bits_reset = procedure(bits: pSpeexBits); cdecl; |
* Resets bits to initial value (just after initialization, erasing content)*/ |
speex_bits_rewind = procedure(bits: pSpeexBits); cdecl; |
* Rewind the bit-stream to the beginning (ready for read) without erasing the content */ |
speex_bits_read_from = procedure(bits: pSpeexBits; buff: pointer; buf_size: int); cdecl; |
* Initializes the bit-stream from the data in an area of memory */ |
speex_bits_read_whole_bytes = procedure(bits: pSpeexBits; buff: pointer; buf_size: int); cdecl; |
Append bytes to the bit-stream * * * * Parameters
|
speex_bits_write = function(bits: pSpeexBits; buff: pointer; max_size: int): int; cdecl; |
Write the content of a bit-stream to an area of memory * * * * * Parameters
ReturnsNumber of bytes written to the "bytes" buffer |
speex_bits_write_whole_bytes = function(bits: pSpeexBits; buff: pointer; max_size: int): int; cdecl; |
* Like speex_bits_write, but writes only the complete bytes in the stream. Also removes the written bytes from the stream */ |
speex_bits_pack = procedure(bits: pSpeexBits; data: int; nbBits: int); cdecl; |
Append bits to the bit-stream * * * Parameters
|
speex_bits_unpack_signed = function(bits: pSpeexBits; nbBits: int): int; cdecl; |
Interpret the next bits in the bit-stream as a signed integer * * * * Parameters
ReturnsA signed integer represented by the bits read |
speex_bits_unpack_unsigned = function(bits: pSpeexBits; nbBits: int): unsigned; cdecl; |
Interpret the next bits in the bit-stream as an unsigned integer * * * * Parameters
ReturnsAn unsigned integer represented by the bits read |
speex_bits_nbytes = function(bits: pSpeexBits): int; cdecl; |
Returns the number of bytes in the bit-stream, including the last one even if it is not "full" * * * Parameters
ReturnsNumber of bytes in the stream |
speex_bits_peek_unsigned = function(bits: pSpeexBits; nbBits: int): unsigned; cdecl; |
Same as speex_bits_unpack_unsigned, but without modifying the cursor position * * * * Parameters
ReturnsValue of the bits peeked, interpreted as unsigned |
speex_bits_peek = function(bits: pSpeexBits): int; cdecl; |
Get the value of the next bit in the stream, without modifying the * "cursor" position * * * Parameters
ReturnsValue of the bit peeked (one bit only) |
speex_bits_advance = procedure(bits: pSpeexBits; n: int); cdecl; |
Advances the position of the "bit cursor" in the stream * * * Parameters
|
speex_bits_remaining = function(bits: pSpeexBits): int; cdecl; |
Returns the number of bits remaining to be read in a stream * * * Parameters
ReturnsNumber of bits that can still be read from the stream |
speex_bits_insert_terminator = procedure(bits: pSpeexBits); cdecl; |
Insert a terminator so that the data can be sent as a packet while auto-detecting * the number of frames in each packet * * Parameters
|
spx_int16_t = int16; |
#ifndef _SPEEX_TYPES_H #define _SPEEX_TYPES_H #if defined(_WIN32) |
pspx_int16_t = ˆspx_int16_t; |
spx_uint32_t = uint32; |
spx_int32_t = int32; |
pSpeexMode = ˆSpeexMode; |
speex_encoder_init = function(mode: pSpeexMode): pointer; cdecl; |
* Returns a handle to a newly created Speex encoder state structure. For now, * the "mode" argument can be &nb_mode or &wb_mode . In the future, more modes * may be added. Note that for now if you have more than one channels to * encode, you need one state per channel. * * * Parameters
ReturnsA newly created encoder state or NULL if state allocation fails |
speex_encoder_destroy = procedure(state: pointer); cdecl; |
Frees all resources associated to an existing Speex encoder state. * Parameters
|
speex_encode = function(state: pointer; _in: pFloat; bits: pSpeexBits): int; cdecl; |
Uses an existing encoder state to encode one frame of speech pointed to by "in". The encoded bit-stream is saved in "bits". overwritten by the encoder and should be considered uninitialised after the call. Parameters
Returns0 if frame needs not be transmitted (DTX only), 1 otherwise |
speex_encode_int = function(state: pointer; _in: pspx_int16_t; bits: pSpeexBits): int; cdecl; |
Uses an existing encoder state to encode one frame of speech pointed to by "in". The encoded bit-stream is saved in "bits". Parameters
Returns0 if frame needs not be transmitted (DTX only), 1 otherwise |
speex_encoder_ctl = function(state: pointer; request: int; ptr: pointer): int; cdecl; |
Used like the ioctl function to control the encoder parameters * * * * * Parameters
Returns0 if no error, -1 if request in unknown, -2 for invalid parameter |
speex_decoder_init = function(mode: pSpeexMode): pointer; cdecl; |
Returns a handle to a newly created decoder state structure. For now, * the mode argument can be &nb_mode or &wb_mode . In the future, more modes * may be added. Note that for now if you have more than one channels to * decode, you need one state per channel. * * * Parameters
ReturnsA newly created decoder state or NULL if state allocation fails |
speex_decoder_destroy = procedure(state: pointer); cdecl; |
Frees all resources associated to an existing decoder state. * * Parameters
|
speex_decode = function(state: pointer; bits: pSpeexBits; _out: pFloat): int; cdecl; |
Uses an existing decoder state to decode one frame of speech from * bit-stream bits. The output speech is saved written to out. * * * * * Parameters
Returnsreturn status (0 for no error, -1 for end of stream, -2 corrupt stream) |
speex_decode_int = function(state: pointer; bits: pSpeexBits; _out: pspx_int16_t): int; cdecl; |
Uses an existing decoder state to decode one frame of speech from * bit-stream bits. The output speech is saved written to out. * * * * * Parameters
Returnsreturn status (0 for no error, -1 for end of stream, -2 corrupt stream) |
speex_decoder_ctl = function(state: pointer; request: int; ptr: pointer): int; cdecl; |
Used like the ioctl function to control the encoder parameters * * * * * Parameters
Returns0 if no error, -1 if request in unknown, -2 for invalid parameter |
speex_mode_query = function(mode: pSpeexMode; request: int; ptr: pointer): int; cdecl; |
Query function for mode information * * * * * Parameters
Returns0 if no error, -1 if request in unknown, -2 for invalid parameter |
speex_lib_ctl = function(request: int; ptr: pointer): int; cdecl; |
Functions for controlling the behavior of libspeex * * * Parameters
Returns0 if no error, -1 if request in unknown, -2 for invalid parameter |
speex_lib_get_mode = function(mode: int): pSpeexMode; cdecl; |
* Default narrowband mode */ extern const SpeexMode speex_nb_mode; * Default wideband mode */ extern const SpeexMode speex_wb_mode; * Default "ultra-wideband" mode */ extern const SpeexMode speex_uwb_mode; * List of all modes available */ extern const SpeexMode * const speex_mode_list[SPEEX_NB_MODES]; * Obtain one of the modes available */ |
speex_preprocess_state_init = function (frame_size: int; sampling_rate: int): SpeexPreprocessState; cdecl; |
Creates a new preprocessing state. You MUST create one state per channel processed. * * the same value as that used for the echo canceller for residual echo cancellation to work. * * Parameters
ReturnsNewly created preprocessor state |
speex_preprocess_state_destroy = procedure (st: SpeexPreprocessState); cdecl; |
Destroys a preprocessor state * Parameters
|
speex_preprocess_run = function (st: SpeexPreprocessState; x: pspx_int16_t): int; cdecl; |
Preprocess a frame * * * Parameters
ReturnsBool value for voice activity (1 for speech, 0 for noise/silence), ONLY if VAD turned on. |
speex_preprocess_estimate_update = procedure(st: SpeexPreprocessState; x: pspx_int16_t); cdecl; |
Update preprocessor state, but do not compute the output * * Parameters
|
speex_preprocess_ctl = function(st: SpeexPreprocessState; request: int; ptr: pointer): int; cdecl; |
Used like the ioctl function to control the preprocessor parameters * * * * Parameters
Returns0 if no error, -1 if request in unknown |
SpeexEchoState = pointer; |
* Internal echo canceller state. Should never be accessed directly. */ |
speex_echo_state_init = function(frame_size: int; filter_length: int): SpeexEchoState; cdecl; |
Creates a new echo canceller state * * * Parameters
ReturnsNewly-created echo canceller state |
speex_echo_state_destroy = procedure(st: SpeexEchoState); cdecl; |
Destroys an echo canceller state * Parameters
|
speex_echo_cancellation = procedure(st: SpeexEchoState; rec: pspx_int16_t; play: pspx_int16_t; out_: pspx_int16_t); cdecl; |
Performs echo cancellation a frame, based on the audio sent to the speaker (no delay is added * to playback in this form) * * * * * Parameters
|
speex_echo_capture = procedure(st: SpeexEchoState; rec: pspx_int16_t; out_: pspx_int16_t); cdecl; |
Perform echo cancellation using internal playback buffer, which is delayed by two frames * to account for the delay introduced by most soundcards (but it could be off!) * * * Parameters
|
speex_echo_playback = procedure(st: SpeexEchoState; play: pspx_int16_t); cdecl; |
Let the echo canceller know that a frame was just queued to the soundcard * * Parameters
|
speex_echo_state_reset = procedure(st: SpeexEchoState); cdecl; |
Reset the echo canceller to its original state * Parameters
|
speex_echo_ctl = function(st: SpeexEchoState; request: int; ptr: pointer): int; cdecl; |
Used like the ioctl function to control the echo canceller parameters * * * * * Parameters
Returns0 if no error, -1 if request in unknown |
SpeexResamplerState = pointer; |
speex_resampler_init = function(nb_channels: spx_uint32_t; in_rate: spx_uint32_t; out_rate: spx_uint32_t; quality: int; var err: int): SpeexResamplerState; cdecl; |
Create a new resampler with integer input and output rates. * * * * * and 10 has very high quality. * * Parameters
ReturnsNULL Error: not enough memory |
speex_resampler_init_frac = function(nb_channels: spx_uint32_t; ratio_num: spx_uint32_t; ratio_den: spx_uint32_t; in_rate: spx_uint32_t; out_rate: spx_uint32_t; quality: int; var err: int): SpeexResamplerState; cdecl; |
Create a new resampler with fractional input/output rates. The sampling * rate ratio is an arbitrary rational number with both the numerator and * denominator being 32-bit integers. * * * * * * * and 10 has very high quality. * * Parameters
ReturnsNULL Error: not enough memory |
speex_resampler_destroy = procedure(st: SpeexResamplerState); cdecl; |
Destroy a resampler state. * Parameters
|
speex_resampler_process_float = function(st: SpeexResamplerState; channel_index: spx_uint32_t; in_: pFloat; var in_len: spx_uint32_t; out_: pFloat; var out_len: spx_uint32_t): int; cdecl; |
Resample a float array. The input and output buffers must *not* overlap. * * * base (0 otherwise) * * * number of samples processed * * Parameters
|
speex_resampler_process_int = function(st: SpeexResamplerState; channel_index: spx_uint32_t; in_: pspx_int16_t; var in_len: spx_uint32_t; out_: pspx_int16_t; var out_len: spx_uint32_t): int; cdecl; |
Resample an int array. The input and output buffers must *not* overlap. * * * base (0 otherwise) * * * of samples processed * * Parameters
|
speex_resampler_set_quality = function(st: SpeexResamplerState; quality: int): int; cdecl; |
Set (change) the conversion quality. * * * quality and 10 has very high quality. Parameters
|
speex_resampler_get_quality = procedure(st: SpeexResamplerState; var quality: int); cdecl; |
Get the conversion quality. * * * quality and 10 has very high quality. Parameters
|
speex_resampler_skip_zeros = function(st: SpeexResamplerState): int; cdecl; |
Make sure that the first samples to go out of the resamplers don't have * leading zeros. This is only useful before starting to use a newly created * resampler. It is recommended to use that when resampling an audio file, as * it will generate a file with the same length. For real-time processing, * it is probably easier not to use this call (so that the output duration * is the same for the first frame). * Parameters
|
speex_resampler_reset_mem = function(st: SpeexResamplerState): int; cdecl; |
Reset a resampler so a new (unrelated) stream can be processed. * Parameters
|
speex_resampler_strerror = function(err: int): paChar; cdecl; |
Returns the English meaning for an error code * * Parameters
ReturnsEnglish string |
pSpeexLibrary_proc = ˆtSpeexLibrary_proc; |
Holds Speex library proc entries. |
pSpeexDSPLibrary_proc = ˆtSpeexDSPLibrary_proc; |
Holds Speex DSP library proc entries. |
c_speexDLL = 'libspeex.dll'; |
c_speexDSPDLL = 'libspeexdsp.dll'; |
RESAMPLER_ERR_ALLOC_FAILED = 1; |
RESAMPLER_ERR_BAD_STATE = 2; |
RESAMPLER_ERR_INVALID_ARG = 3; |
RESAMPLER_ERR_MAX_ERROR = RESAMPLER_ERR_PTR_OVERLAP; |
RESAMPLER_ERR_PTR_OVERLAP = 4; |
RESAMPLER_ERR_SUCCESS = 0; |
SPEEX_ECHO_GET_FRAME_SIZE = 3; |
#include "speex/speex_types.h" * Obtain frame size used by the AEC */ |
SPEEX_ECHO_GET_SAMPLING_RATE = 25; |
* Get sampling rate */ |
SPEEX_ECHO_SET_SAMPLING_RATE = 24; |
* Set sampling rate */ |
SPEEX_GET_ABR = 33; |
* Get Average Bit-Rate (ABR) setting (in bps) */ |
SPEEX_GET_ACTIVITY = 47; |
* Get "activity level" of the last decoded frame, i.e. how much damage we cause if we remove the frame */ |
SPEEX_GET_BITRATE = 19; |
* Get current bit-rate used by the encoder or decoder */ |
SPEEX_GET_COMPLEXITY = 17; |
* Get current complexity of the encoder (0-10) */ |
SPEEX_GET_DTX = 35; |
* Get DTX status (1 for on, 0 for off) */ |
SPEEX_GET_ENH = 1; |
* Get enhancement state (decoder only) */ |
SPEEX_GET_FRAME_SIZE = 3; |
Would be SPEEX_SET_FRAME_SIZE, but it's (currently) invalid*/ * Obtain frame size used by encoder/decoder */ |
SPEEX_GET_HIGHPASS = 45; |
* Get status of input/output high-pass filtering */ |
SPEEX_GET_HIGH_MODE = 11; |
* Get current high-band mode in use (wideband only)*/ |
SPEEX_GET_LOOKAHEAD = 39; |
#define SPEEX_SET_LOOKAHEAD 38*/ * Returns the lookahead used by Speex */ |
SPEEX_GET_LOW_MODE = 9; |
* Get current low-band mode in use (wideband only)*/ |
SPEEX_GET_MODE = 7; |
* Get current sub-mode in use */ |
SPEEX_GET_PF = 1; |
* Equivalent to SPEEX_GET_ENH */ |
SPEEX_GET_PLC_TUNING = 41; |
* Gets tuning for PLC */ |
SPEEX_GET_RELATIVE_QUALITY = 29; |
* Get VBR info (mostly used internally) */ |
SPEEX_GET_SAMPLING_RATE = 25; |
* Get sampling rate used in bit-rate computation */ |
SPEEX_GET_SUBMODE_ENCODING = 37; |
* Get submode encoding in each frame */ |
SPEEX_GET_VAD = 31; |
* Get VAD status (1 for on, 0 for off) */ |
SPEEX_GET_VBR = 13; |
* Get VBR status (1 for on, 0 for off) */ |
SPEEX_GET_VBR_MAX_BITRATE = 43; |
* Gets the max bit-rate allowed in VBR mode */ |
SPEEX_GET_VBR_QUALITY = 15; |
* Get current quality value for VBR encoding (0-10) */ |
SPEEX_LIB_GET_EXTRA_VERSION = 7; |
* Get extra Speex version */ |
SPEEX_LIB_GET_MAJOR_VERSION = 1; |
* Get major Speex version */ |
SPEEX_LIB_GET_MICRO_VERSION = 5; |
* Get micro Speex version */ |
SPEEX_LIB_GET_MINOR_VERSION = 3; |
* Get minor Speex version */ |
SPEEX_LIB_GET_VERSION_STRING = 9; |
* Get Speex version string */ |
SPEEX_MODEID_NB = 0; |
* modeID for the defined narrowband mode */ |
SPEEX_MODEID_UWB = 2; |
* modeID for the defined ultra-wideband mode */ |
SPEEX_MODEID_WB = 1; |
* modeID for the defined wideband mode */ |
SPEEX_MODE_FRAME_SIZE = 0; |
Values allowed for mode queries */ * Query the frame size of a mode */ |
SPEEX_NB_MODES = 3; |
* Number of defined modes in Speex */ |
SPEEX_PREPROCESS_GET_AGC = 3; |
* Get preprocessor Automatic Gain Control state */ |
SPEEX_PREPROCESS_GET_AGC_DECREMENT = 29; |
* Get maximal gain decrease in dB/second (int32) */ |
SPEEX_PREPROCESS_GET_AGC_INCREMENT = 27; |
* Get maximal gain increase in dB/second (int32) */ |
SPEEX_PREPROCESS_GET_AGC_LEVEL = 7; |
* Get preprocessor Automatic Gain Control level */ |
SPEEX_PREPROCESS_GET_AGC_LOUDNESS = 33; |
Can't set loudness */ * Get loudness */ |
SPEEX_PREPROCESS_GET_AGC_MAX_GAIN = 31; |
* Get maximal gain in dB (int32) */ |
SPEEX_PREPROCESS_GET_DENOISE = 1; |
* Get preprocessor denoiser state */ |
SPEEX_PREPROCESS_GET_DEREVERB = 9; |
* Get preprocessor dereverb state */ |
SPEEX_PREPROCESS_GET_DEREVERB_DECAY = 13; |
* Get preprocessor dereverb decay */ |
SPEEX_PREPROCESS_GET_DEREVERB_LEVEL = 11; |
* Get preprocessor dereverb level */ |
SPEEX_PREPROCESS_GET_ECHO_STATE = 25; |
* Get the corresponding echo canceller state */ |
SPEEX_PREPROCESS_GET_ECHO_SUPPRESS = 21; |
* Get maximum attenuation of the residual echo in dB (negative number) */ |
SPEEX_PREPROCESS_GET_ECHO_SUPPRESS_ACTIVE = 23; |
* Get maximum attenuation of the residual echo in dB when near end is active (negative number) */ |
SPEEX_PREPROCESS_GET_NOISE_SUPPRESS = 19; |
* Get maximum attenuation of the noise in dB (negative number) */ |
SPEEX_PREPROCESS_GET_PROB_CONTINUE = 17; |
* Get probability required for the VAD to stay in the voice state (integer percent) */ |
SPEEX_PREPROCESS_GET_PROB_START = 15; |
* Get probability required for the VAD to go from silence to voice */ |
SPEEX_PREPROCESS_GET_VAD = 5; |
* Get preprocessor Voice Activity Detection state */ |
SPEEX_PREPROCESS_SET_AGC = 2; |
* Set preprocessor Automatic Gain Control state */ |
SPEEX_PREPROCESS_SET_AGC_DECREMENT = 28; |
* Set maximal gain decrease in dB/second (int32) */ |
SPEEX_PREPROCESS_SET_AGC_INCREMENT = 26; |
* Set maximal gain increase in dB/second (int32) */ |
SPEEX_PREPROCESS_SET_AGC_LEVEL = 6; |
* Set preprocessor Automatic Gain Control level */ |
SPEEX_PREPROCESS_SET_AGC_MAX_GAIN = 30; |
* Set maximal gain in dB (int32) */ |
SPEEX_PREPROCESS_SET_DENOISE = 0; |
* Set preprocessor denoiser state */ |
SPEEX_PREPROCESS_SET_DEREVERB = 8; |
* Set preprocessor dereverb state */ |
SPEEX_PREPROCESS_SET_DEREVERB_DECAY = 12; |
* Set preprocessor dereverb decay */ |
SPEEX_PREPROCESS_SET_DEREVERB_LEVEL = 10; |
* Set preprocessor dereverb level */ |
SPEEX_PREPROCESS_SET_ECHO_STATE = 24; |
* Set the corresponding echo canceller state so that residual echo suppression can be performed (NULL for no residual echo suppression) */ |
SPEEX_PREPROCESS_SET_ECHO_SUPPRESS = 20; |
* Set maximum attenuation of the residual echo in dB (negative number) */ |
SPEEX_PREPROCESS_SET_ECHO_SUPPRESS_ACTIVE = 22; |
* Set maximum attenuation of the residual echo in dB when near end is active (negative number) */ |
SPEEX_PREPROCESS_SET_NOISE_SUPPRESS = 18; |
* Set maximum attenuation of the noise in dB (negative number) */ |
SPEEX_PREPROCESS_SET_PROB_CONTINUE = 16; |
* Set probability required for the VAD to stay in the voice state (integer percent) */ |
SPEEX_PREPROCESS_SET_PROB_START = 14; |
* Set probability required for the VAD to go from silence to voice */ |
SPEEX_PREPROCESS_SET_VAD = 4; |
* Set preprocessor Voice Activity Detection state */ |
SPEEX_RESAMPLER_QUALITY_DEFAULT = 4; |
SPEEX_RESAMPLER_QUALITY_DESKTOP = 5; |
SPEEX_RESAMPLER_QUALITY_MAX = 10; |
#ifndef SPEEX_RESAMPLER_H #define SPEEX_RESAMPLER_H |
SPEEX_RESAMPLER_QUALITY_MIN = 0; |
SPEEX_RESAMPLER_QUALITY_VOIP = 3; |
SPEEX_RESET_STATE = 26; |
* Reset the encoder/decoder memories to zero*/ |
SPEEX_SET_ABR = 32; |
* Set Average Bit-Rate (ABR) to n bits per seconds */ |
SPEEX_SET_BITRATE = 18; |
* Set bit-rate used by the encoder (or lower) */ |
SPEEX_SET_COMPLEXITY = 16; |
* Set complexity of the encoder (0-10) */ |
SPEEX_SET_DTX = 34; |
* Set DTX status (1 for on, 0 for off) */ |
SPEEX_SET_ENH = 0; |
#endif /* _SPEEX_TYPES_H */ Values allowed for *ctl() requests */ * Set enhancement on/off (decoder only) */ |
SPEEX_SET_HANDLER = 20; |
* Define a handler function for in-band Speex request*/ |
SPEEX_SET_HIGHPASS = 44; |
* Turn on/off input/output high-pass filtering */ |
SPEEX_SET_HIGH_MODE = 10; |
* Set high-band sub-mode to use (wideband only)*/ |
SPEEX_SET_LOW_MODE = 8; |
* Set low-band sub-mode to use (wideband only)*/ |
SPEEX_SET_MODE = 6; |
* Get current quality setting */ SPEEX_GET_QUALITY = 5; // – Doesn't make much sense, does it? */ * Set sub-mode to use */ |
SPEEX_SET_PF = 0; |
Preserving compatibility:*/ * Equivalent to SPEEX_SET_ENH */ |
SPEEX_SET_PLC_TUNING = 40; |
* Sets tuning for packet-loss concealment (expected loss rate) */ |
SPEEX_SET_QUALITY = 4; |
* Set quality value */ |
SPEEX_SET_SAMPLING_RATE = 24; |
* Set sampling rate used in bit-rate computation */ |
SPEEX_SET_SUBMODE_ENCODING = 36; |
* Set submode encoding in each frame (1 for yes, 0 for no, setting to no breaks the standard) */ |
SPEEX_SET_USER_HANDLER = 22; |
* Define a handler function for in-band user-defined request*/ |
SPEEX_SET_VAD = 30; |
* Set VAD status (1 for on, 0 for off) */ |
SPEEX_SET_VBR = 12; |
* Set VBR on (1) or off (0) */ |
SPEEX_SET_VBR_MAX_BITRATE = 42; |
* Sets the max bit-rate allowed in VBR mode */ |
SPEEX_SET_VBR_QUALITY = 14; |
* Set quality value for VBR encoding (0-10) */ |
SPEEX_SUBMODE_BITS_PER_FRAME = 1; |
* Query the size of an encoded frame for a particular sub-mode */ |
c_opt4RTP_numbytes: int = 1100; |
pack up to 5 frames (100 ms) when optimizing for RTP |
c_opt4RTP_numframes: int = 5; |
#endif ///////////////////////////////////////////////// Delphi code starts below /// ///////////////////////////////////////////////// |
(c) 2012 Lake of Soft