您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ speex_preprocess_ctl函数代码示例

51自学网 2021-06-03 08:09:13
  C++
这篇教程C++ speex_preprocess_ctl函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中speex_preprocess_ctl函数的典型用法代码示例。如果您正苦于以下问题:C++ speex_preprocess_ctl函数的具体用法?C++ speex_preprocess_ctl怎么用?C++ speex_preprocess_ctl使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了speex_preprocess_ctl函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: Java_com_haitou_xiaoyoupai_imservice_support_audio_Speex_open

extern "C" JNIEXPORT jint JNICALL Java_com_haitou_xiaoyoupai_imservice_support_audio_Speex_open(    JNIEnv *env, jobject obj, jint compression) {    int tmp = 0;    if (codec_open++ != 0)        return (jint) 0;    speex_bits_init(&ebits);    speex_bits_init(&dbits);    enc_state = speex_encoder_init(&speex_nb_mode);    dec_state = speex_decoder_init(&speex_nb_mode);    tmp = compression;    speex_encoder_ctl(enc_state, SPEEX_SET_QUALITY, &tmp);    speex_encoder_ctl(enc_state, SPEEX_GET_FRAME_SIZE, &enc_frame_size);    speex_decoder_ctl(dec_state, SPEEX_GET_FRAME_SIZE, &dec_frame_size);    SpeexPreprocessState * m_st;    m_st = speex_preprocess_state_init(enc_frame_size, 8000);    int denoise = 1;    int noiseSuppress = -25;    speex_preprocess_ctl(m_st, SPEEX_PREPROCESS_SET_DENOISE, &denoise);    speex_preprocess_ctl(m_st, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS,                         &noiseSuppress);    return (jint) 0;}
开发者ID:treejames,项目名称:FreshMAn-Task,代码行数:27,


示例2: speex_filter_init

int speex_filter_init(AVFilterContext *avf){    SpeexFilterContext *s = avf->priv_data;	int opt = 1;	if (avf->avctx->channels == 2) {		av_log(avf, AV_LOG_ERROR, "Speex error: preprocessor does not support stereo encoding/n");		return -1;	}	s->preproc = speex_preprocess_state_init(avf->avctx->frame_size, avf->avctx->sample_rate);	    if (avf->flags & FILTER_FLAG_SPEEX_VAD) {        speex_preprocess_ctl(s->preproc, SPEEX_PREPROCESS_SET_VAD, &opt);    }        if (avf->flags & FILTER_FLAG_SPEEX_AGC) {        float flevel = avf->agc_level;    	speex_preprocess_ctl(s->preproc, SPEEX_PREPROCESS_SET_AGC, &opt);		speex_preprocess_ctl(s->preproc, SPEEX_PREPROCESS_SET_AGC_LEVEL, &flevel);	}    opt = (avf->flags & FILTER_FLAG_SPEEX_DENOISER) ? 1 : 0;    speex_preprocess_ctl(s->preproc, SPEEX_PREPROCESS_SET_DENOISE, &opt);	av_log(avf, AV_LOG_INFO, "Speex preproc: using preprocessor (vad: %d, agc level: %d, denoiser: %d)/n",		(avf->flags & FILTER_FLAG_SPEEX_VAD) ? 1 : 0,		avf->agc_level,		(avf->flags & FILTER_FLAG_SPEEX_DENOISER) ? 1 : 0);		return 0;};
开发者ID:paranojik,项目名称:multitv,代码行数:32,


示例3: init_speex_encoder

void init_speex_encoder() {    if (!gEncoderState) {        gEncoderState = speex_encoder_init(&speex_nb_mode);	int quality = 3; // 8000 bps        speex_encoder_ctl(gEncoderState, SPEEX_SET_QUALITY, &quality);	int complexity = 4; // net play is demanding, ok?        speex_encoder_ctl(gEncoderState, SPEEX_SET_COMPLEXITY, &complexity);        int tmp = kNetworkAudioSampleRate;        speex_encoder_ctl(gEncoderState, SPEEX_SET_SAMPLING_RATE, &tmp);        speex_bits_init(&gEncoderBits);	// set up the preprocessor	int frame_size;	speex_encoder_ctl(gEncoderState, SPEEX_GET_FRAME_SIZE, &frame_size);	gPreprocessState = speex_preprocess_state_init(frame_size, kNetworkAudioSampleRate);	// turn on AGC and denoise	tmp = 1;	speex_preprocess_ctl(gPreprocessState, SPEEX_PREPROCESS_SET_DENOISE, &tmp);	tmp = 1;	speex_preprocess_ctl(gPreprocessState, SPEEX_PREPROCESS_SET_AGC, &tmp);		float agc_level = 32768.0 * 0.7;	speex_preprocess_ctl(gPreprocessState, SPEEX_PREPROCESS_SET_AGC_LEVEL, &agc_level);    }    }
开发者ID:Aleph-One-Marathon,项目名称:alephone-psp,代码行数:26,


示例4: speex_callback

static int speex_callback(struct ast_audiohook *audiohook, struct ast_channel *chan, struct ast_frame *frame, enum ast_audiohook_direction direction){	struct ast_datastore *datastore = NULL;	struct speex_direction_info *sdi = NULL;	struct speex_info *si = NULL;	char source[80];	/* If the audiohook is stopping it means the channel is shutting down.... but we let the datastore destroy take care of it */	if (audiohook->status == AST_AUDIOHOOK_STATUS_DONE || frame->frametype != AST_FRAME_VOICE) {		return -1;	}	/* We are called with chan already locked */	if (!(datastore = ast_channel_datastore_find(chan, &speex_datastore, NULL))) {		return -1;	}	si = datastore->data;	sdi = (direction == AST_AUDIOHOOK_DIRECTION_READ) ? si->rx : si->tx;	if (!sdi) {		return -1;	}	if ((sdi->samples != frame->samples) || (ast_format_rate(&frame->subclass.format) != si->lastrate)) {		si->lastrate = ast_format_rate(&frame->subclass.format);		if (sdi->state) {			speex_preprocess_state_destroy(sdi->state);		}		if (!(sdi->state = speex_preprocess_state_init((sdi->samples = frame->samples), si->lastrate))) {			return -1;		}		speex_preprocess_ctl(sdi->state, SPEEX_PREPROCESS_SET_AGC, &sdi->agc);		if (sdi->agc) {			speex_preprocess_ctl(sdi->state, SPEEX_PREPROCESS_SET_AGC_LEVEL, &sdi->agclevel);		}		speex_preprocess_ctl(sdi->state, SPEEX_PREPROCESS_SET_DENOISE, &sdi->denoise);	}	speex_preprocess(sdi->state, frame->data.ptr, NULL);	snprintf(source, sizeof(source), "%s/speex", frame->src);	if (frame->mallocd & AST_MALLOCD_SRC) {		ast_free((char *) frame->src);	}	frame->src = ast_strdup(source);	frame->mallocd |= AST_MALLOCD_SRC;	return 0;}
开发者ID:bugrahantopall,项目名称:asterisk,代码行数:54,


示例5: getBytesPerFrame

SoundPreprocessor::SoundPreprocessor(int sampleRate, int bytesPerSample, int channelNumber, int denoiseLevel){	spx_int32_t i=1;	spx_int32_t noisesuppress=(spx_int32_t)denoiseLevel;	mBytesPerFrame = getBytesPerFrame(sampleRate, bytesPerSample, channelNumber);	mpSpStat = speex_preprocess_state_init(mBytesPerFrame / sizeof(short), sampleRate);	if(mpSpStat){		speex_preprocess_ctl(mpSpStat, SPEEX_PREPROCESS_SET_DENOISE, &i);		speex_preprocess_ctl(mpSpStat, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &noisesuppress);	}else{		mBytesPerFrame = 0;	}}
开发者ID:AngzAngy,项目名称:AudioProcess,代码行数:15,


示例6: speex_preprocess_ctl

void RakVoice::SetPreprocessorParameter(void* pre_state, int vartype, int val){	if (pre_state){		// Set parameter for just one preprocessor		int ret = speex_preprocess_ctl((SpeexPreprocessState*)pre_state, vartype, &val);		RakAssert(ret==0);	} else {		// Set parameter for all decoders		for (unsigned int index=0; index < voiceChannels.Size(); index++)		{			int ret = speex_preprocess_ctl((SpeexPreprocessState*)voiceChannels[index]->pre_state, vartype, &val);			RakAssert(ret==0);		}	}}
开发者ID:pulkomandy,项目名称:.theRush-,代码行数:15,


示例7: encode_update

static int encode_update(struct aufilt_enc_st **stp, void **ctx,			 const struct aufilt *af, struct aufilt_prm *prm){	struct preproc *st;	unsigned sampc;	(void)ctx;	if (!stp || !af || !prm || prm->ch != 1)		return EINVAL;	st = mem_zalloc(sizeof(*st), speexpp_destructor);	if (!st)		return ENOMEM;	sampc = prm->srate * prm->ch * prm->ptime / 1000;	st->state = speex_preprocess_state_init(sampc, prm->srate);	if (!st->state)		goto error;	speex_preprocess_ctl(st->state, SPEEX_PREPROCESS_SET_DENOISE,			     &pp_conf.denoise_enabled);	speex_preprocess_ctl(st->state, SPEEX_PREPROCESS_SET_AGC,			     &pp_conf.agc_enabled);#ifdef SPEEX_PREPROCESS_SET_AGC_TARGET	if (pp_conf.agc_enabled) {		speex_preprocess_ctl(st->state,				     SPEEX_PREPROCESS_SET_AGC_TARGET,				     &pp_conf.agc_level);	}#endif	speex_preprocess_ctl(st->state, SPEEX_PREPROCESS_SET_VAD,			     &pp_conf.vad_enabled);	speex_preprocess_ctl(st->state, SPEEX_PREPROCESS_SET_DEREVERB,			     &pp_conf.dereverb_enabled);	info("speex_pp: Speex preprocessor loaded: srate = %uHz/n",	     prm->srate);	*stp = (struct aufilt_enc_st *)st;	return 0; error:	mem_deref(st);	return ENOMEM;}
开发者ID:FOSSRIT,项目名称:baresip,代码行数:48,


示例8: speex_ec_preprocess

static void speex_ec_preprocess(MSFilter *f){	SpeexECState *s=(SpeexECState*)f->data;	int delay_samples=0;	mblk_t *m;	s->echostarted=FALSE;	s->filterlength=(s->tail_length_ms*s->samplerate)/1000;	s->framesize=adjust_framesize(s->framesize_at_8000,s->samplerate);	delay_samples=s->delay_ms*s->samplerate/1000;	ms_message("Initializing speex echo canceler with framesize=%i, filterlength=%i, delay_samples=%i",		s->framesize,s->filterlength,delay_samples);		s->ecstate=speex_echo_state_init(s->framesize,s->filterlength);	s->den = speex_preprocess_state_init(s->framesize, s->samplerate);	speex_echo_ctl(s->ecstate, SPEEX_ECHO_SET_SAMPLING_RATE, &s->samplerate);	speex_preprocess_ctl(s->den, SPEEX_PREPROCESS_SET_ECHO_STATE, s->ecstate);	/* fill with zeroes for the time of the delay*/	m=allocb(delay_samples*2,0);	m->b_wptr+=delay_samples*2;	ms_bufferizer_put (&s->delayed_ref,m);	s->min_ref_samples=-1;	s->nominal_ref_samples=delay_samples;	audio_flow_controller_init(&s->afc);	s->flow_control_time = f->ticker->time;#ifdef SPEEX_ECHO_GET_BLOB	apply_config(s);#else	if (s->state_str) ms_warning("This version of speex doesn't support echo canceller restoration state. Rebuild speex and mediatreamer2 if you want to use this feature.");#endif}
开发者ID:korobool,项目名称:linphonecdbus,代码行数:30,


示例9: Reset

void CSpeexEC::Init(int frame_size, int filter_length, int sampling_rate){    Reset();        if (frame_size<=0 || filter_length<=0 || sampling_rate<=0)    {        m_nFrameSize  =160;        m_nFilterLen  = 160*8;        m_nSampleRate = 8000;    }    else    {        m_nFrameSize  =frame_size;        m_nFilterLen  = filter_length;        m_nSampleRate = sampling_rate;    }        m_pState = speex_echo_state_init(m_nFrameSize, m_nFilterLen);    m_pPreprocessorState = speex_preprocess_state_init(m_nFrameSize, m_nSampleRate);    m_pfNoise = new int[m_nFrameSize+1];    m_bHasInit = true;        speex_echo_ctl(m_pState, SPEEX_ECHO_SET_SAMPLING_RATE, &m_nSampleRate);    speex_preprocess_ctl(m_pPreprocessorState, SPEEX_PREPROCESS_SET_ECHO_STATE, m_pState);}
开发者ID:ParisiLabs,项目名称:AudioMix,代码行数:25,


示例10: Pa_GetDeviceInfo

void sound::start(){	const PaDeviceInfo * info = Pa_GetDeviceInfo(indexInputDevice);	inputStreamParameters.device = indexInputDevice;	inputStreamParameters.channelCount = 1;	inputStreamParameters.hostApiSpecificStreamInfo = 0;	inputStreamParameters.sampleFormat = paInt16;	inputStreamParameters.suggestedLatency = info->defaultLowInputLatency;	PaError err = Pa_OpenStream(&input, &inputStreamParameters, 0, info->defaultSampleRate, BUFF_LONG, paNoFlag, sound::inputcallback, this);	if (err != paNoError){		throw std::exception("open stream err=%d", err);	}	err = Pa_StartStream(input);	if (err != paNoError){		throw std::exception("start stream err=%d", err);	}	speexppstate = speex_preprocess_state_init(BUFF_LONG*inputStreamParameters.channelCount, (int)info->defaultSampleRate);	spx_int32_t on = 1;	speex_preprocess_ctl(speexppstate, SPEEX_PREPROCESS_SET_AGC, &on);	float agcLevel = 24000;	speex_preprocess_ctl(speexppstate, SPEEX_PREPROCESS_SET_AGC_LEVEL, &agcLevel);    	int denoise = 1;	speex_preprocess_ctl(speexppstate, SPEEX_PREPROCESS_SET_DENOISE, &denoise); //
C++ speex_preprocess_state_destroy函数代码示例
C++ speex_encoder_init函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。