Hello! I am downloaded last version of speex library and did compile DLL. But I am have not good sound : Please see my code (Delphi) and say me please WHat I am do not right. Or please send me correct compiled DLL and example of correct using SPEEX_MODEID_WB and SPEEX_MODEID_UWB , denoise, and other effects. How I can set MONO mode in decode? My Code: smpRt:=32000; n:=10; encbits: TSpeexBits; encstate: Pointer; encframe: integer; decbits: TSpeexBits; decstate: Pointer; decframe: integer; buffEnc: array of single; buffDec: array of single; encstate := speex_encoder_init(speex_lib_get_mode(SPEEX_MODEID_WB)); speex_encoder_ctl(encstate,SPEEX_SET_SAMPLING_RATE,@smpRt); speex_encoder_ctl(encstate,SPEEX_SET_QUALITY,@n); speex_encoder_ctl(encstate,SPEEX_GET_FRAME_SIZE,@encframe); speex_bits_init(@encbits); SetLength(buffEnc,encframe); enh:=0; speex_bits_init(@decbits); decstate := speex_decoder_init(speex_lib_get_mode(SPEEX_MODEID_WB)); speex_decoder_ctl(decstate,SPEEX_GET_FRAME_SIZE,@decframe); speex_decoder_ctl(decstate,SPEEX_SET_ENH,@enh); SetLength(buffDec,decframe); Encode: s3:string; for j:=0 to encframe-1 do buffenc[j]:=RecordBuff[j]; speex_bits_reset(@encbits); speex_encode(encstate,@buffenc[0],@encbits); sz := speex_bits_nbytes(@encbits); SetLength(buffBytes,sz); speex_bits_write(@encbits,@buffBytes[0],sz); setlength(s3,length(buffbytes)); CopyMemory(@s3[1],@buffbytes[0],length(buffbytes)); Decode: d:array of smallint; speex_bits_read_from(@decbits,@s3[1],length(s3)); speex_decode(decstate,@decbits,@buffdec[0]); setlength(d,length(buffdec)); for j:=0 to length(buffdec)-1 do d[j]:=Round(buffdec[j]); I hope you will help me. Regards, Paul P.S. May be you have links to sites with examples of use speex - please send me.