`
kulinglei
  • 浏览: 101350 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

tts引擎和数据

阅读更多
资料来自:
http://blog.csdn.net/dedodong/archive/2006/08/22/1105879.aspx

取得每个汉字读音的代码
#include <stdio.h>
#include <unistd.h>
#define maxlen 32000

int main(){

	 FILE  * fpr;
	 FILE	* fpw;

	//打开临时r.wav语音库
	if((fpr=fopen("r.wav","r+"))==NULL){
		printf("open r.wav error");
	return -1;
	}
	//打开w.wav文件
	if((fpw=fopen("w.wav","w+"))==NULL){
		printf("open w.wav error");
	return -1;
	}
	
	char head[46];//存放wav的头信息
	char data[1000];
	char buffer[maxlen];//存放每个汉字的读音
	int fpoint;//文件当前的位置
	int fpointtemp=47; 
	int isnozero=1;
	int num=0;

	memset(buffer,0,sizeof(buffer));//初始化buffer 
	fread(head,sizeof(head),1,fpr);//读wav的头信息46个字节
	fwrite(head,sizeof(head),1,fpw);//把头信息写到w.wav文件中去
	fread(buffer,sizeof(buffer),1,fpr);
	fwrite(buffer,sizeof(buffer),1,fpw);

	while(!feof(fpr)){//读文件的信息,直到文件尾


//		printf("*****************\n");

		//读16个字节判断.找到第一次出现都为0的位置
		isnozero=1;	
		while(isnozero){		
			 fread(data,16,1,fpr);


			int i;
			int j;
			int k=0;
			for(i=0;i<16;i++){
				 j=(int)data[i];
				 k+=j;


				}
			if(k==0){
				printf("read 1000\n");
				fread(data,1000,1,fpr);
				if(feof(fpr)){

					printf("文件被读完1");
					fpoint=ftell(fpr);
					printf("fpoint si :%d",fpoint);

					exit(1);

				}

				for( i=0;i<1000;i++){
					j=(int)data[i];
					k+=j;


				}
				if(k==0){
					fpoint=ftell(fpr);
					isnozero=0;
					printf("  fpoint data is :%d\n",fpoint);

				}else{
				
					isnozero=1;


				}
			



			}else{

				isnozero=1;

			}

			
			



		}

		//找到非0的那一行

		int iszero=1;
		while(iszero){
			fread(data,16,1,fpr);

		//	printf("num is :%d\n",num);
			
			
			if(feof(fpr)){
				printf("num is :%d\n",num);
				printf("文件读完了\n");
				fpoint=ftell(fpr);
				
				printf("file len is :%d",fpoint);
				fclose(fpr);
				fclose(fpw);
				exit(-1);

			}
			int i,j,k=0;
			for(i=0;i<16;i++){
			
				j=(int)data[i];	
				k+=j;
			//	printf("k is :%d\n",k);
		
			}
			if(k==0){
				iszero=1;
			//	printf("k==0\n");


			}else{
				iszero=0;
				



			fseek(fpr,fpoint-16,SEEK_SET);
				int isz=1;
				while(isz){

					fread(data,1,1,fpr);
					if((int)data[0]!=0){
						
						//主要的工作{得到每个汉字的语音数据}
						fpoint=ftell(fpr);
						printf(" num is --%d fpoint  is :%d\n",++num,fpoint);

					fseek(fpr,fpoint-2,SEEK_SET);
					fread(buffer,sizeof(buffer),1,fpr);
					fwrite(buffer,sizeof(buffer),1,fpw);
						isz=0;

					}

				}
				

		


			}



		}	
	}
			



	fclose(fpr);
	fclose(fpw);
	return 0;


}




分享到:
评论

相关推荐

    科大讯飞TTS引擎,谷歌TTS引擎

    TTS引擎的主要功能是将文本数据转换为人类可理解的语音输出,实现“让机器开口说话”。科大讯飞的TTS引擎以其高自然度、多语言支持以及离线应用能力著称,广泛应用于各种场景,如语音导航、有声读物、智能客服、车载...

    易语言TTS引擎语音朗读源码

    易语言TTS引擎语音朗读源码是一种使用易语言...总的来说,易语言TTS引擎语音朗读源码为开发者提供了一个实现文本转语音的实例,有助于学习易语言的API调用和语音合成技术,对于编程爱好者和教育领域都有一定的价值。

    易语言TTS引擎语音朗读

    8. **文本到语音**:这是TTS引擎的基本功能,将输入的文本数据转换成音频信号。在易语言中,开发者需要提供相应的接口,使得程序能够接收文本并启动TTS引擎进行语音合成。 在“易语言TTS引擎语音朗读源码”这个...

    TTS 引擎 可以让单词发音得软件包

    文本分析阶段,TTS引擎分析文本的语法和上下文,确定合适的音调、语速和停顿。这一过程可能涉及声调模式、韵律和强调的识别。然后,引擎使用这些信息来构建语音合成的蓝图。 声音生成阶段,TTS引擎采用不同的方法...

    windows Text To Speecht_tts语音引擎修复补丁集成版

    总的来说,这个“TTS语音引擎修复补丁集成版”是针对Windows系统的TTS功能出现故障而提供的解决方案,通过修复和优化,旨在恢复和提升TTS引擎的性能,让用户能再次享受这一便利的技术带来的益处。

    SDK语音TTS引擎.zip

    在给定的“SDK语音TTS引擎.zip”压缩包中,我们可能找到了一个完整的离线版本的TTS解决方案,这意味着它无需网络连接就能工作,这对于那些在网络环境不稳定的场合或者注重数据隐私的场景特别有用。 TTS系统通常由几...

    谷歌tts引擎+中文语音包最新版20240205-02支持安卓12

    tts文字转语音 rk3288、rk3399 rk3568等 rk3568安卓12系统亲测可用 压缩包包含谷歌语音引擎apk 20240205版本 中文语音包也是配套的 内部使用方法也都说明

    tts语音引擎修复补丁win7 官方最新版

    本资源提供的“tts语音引擎修复补丁win7 官方最新版”是针对Windows 7系统中的TTS引擎进行修复和优化的官方更新。这个补丁可能旨在解决用户在使用TTS时遇到的声音质量问题,如发音不准确、语速异常、声音断断续续或...

    C#使用微软TTS语音引擎实现文字转语音示例

    微软的TTS引擎提供了一种高效且灵活的方式来将文本数据转化为可听的音频流,极大地提升了用户体验。 首先,我们需要了解TTS的基本原理。TTS系统通常包括三个主要部分:文本分析、发音规则处理和声音合成。文本分析...

    微软TTS5.1语音引擎

    在具体使用过程中,开发者需要了解如何配置和集成微软的TTS引擎。首先,安装提供的微软TTS5.1语音引擎(中文).msi文件,该安装程序会将所需的库和组件添加到系统中。然后,在Web应用中引入相应的API库,通过编写代码...

    TTS+PDA.rar(PDA设备扫描条码并通过TTS自动播报)

    科大讯飞是一家中国领先的语音技术和人工智能公司,其提供的TTS引擎在中文语音合成方面具有较高的准确度和自然度。使用科大讯飞的SDK,开发者可以轻松地将高质量的语音播报功能集成到各种应用中,包括PDA设备的条码...

    TTS发音引擎实例

    在实际应用中,你可以将这个TTS引擎集成到你的项目中,例如,创建一个简单的命令行工具,接收用户输入的文本,调用TTS引擎进行发音。也可以将其嵌入到GUI应用或Web服务中,提供更丰富的交互方式。 值得注意的是,...

    Delphi 调用 微软 TTS 语音引擎 将文字转换成声音的例子

    本示例主要介绍如何使用Delphi编程语言调用微软的TTS引擎来实现这一功能。Delphi是一款强大的Windows应用程序开发工具,其集成开发环境(IDE)和面向对象的Pascal编程语言使得开发过程更为高效。 首先,要使用微软...

    android studio tts 离线中文语音播放

    总结,本文详细介绍了在Android Studio中使用离线TTS引擎进行中文语音播放的过程,包括集成第三方引擎、初始化TTS实例、设置音量和变声效果,以及播放和停止语音的操作。通过这样的实现,开发者能够为用户创建更加...

    易语言TTS引擎语音朗读源码.zip

    5. **多线程编程**:为了保证程序的响应性和用户体验,TTS引擎通常在后台运行,这需要用到多线程编程。易语言支持创建和管理线程,使得主程序和TTS任务能并发执行。 6. **用户界面设计**:为了让用户方便地输入文本...

    GoogleTTS中文语音数据包.zip

    标题中的"GoogleTTS中文语音数据包.zip"指的是Google Text-to-Speech (TTS)引擎的一个专门针对中文发音的数据包。Google TTS是一项服务,它能够将文本转换为高质量的语音输出,支持多种语言,包括中文。这个数据包...

    tts语音强制设置ttsset

    7. **数据和权限管理**:查看TTS引擎使用的数据存储和权限情况,确保它们不会过度占用资源或侵犯隐私。 “tts语音强制设置ttsset.apk”是一个APK文件,意味着它是Android应用程序的安装包。用户需要将其安装到手机...

    科大讯飞语音引擎3.0

    Android系统通常内置有默认的TTS引擎,但并非所有设备都支持第三方TTS引擎。对于那些缺乏第三方支持的设备,科大讯飞的解决方案提供了额外的选择,确保用户可以享受更加个性化和高质量的语音服务。此外,科大讯飞的...

    科大讯飞TTS离线语音包

    这款“科大讯飞TTS离线语音包”是专门为科大讯飞的Android TTS引擎设计的,允许设备在没有网络连接的情况下也能进行语音合成。 首先,我们来了解一下TTS技术的基本原理。TTS的核心是将文字信息转化为音频信号,这...

    科大讯飞语音引擎3.0+TTS使用.zip

    总结,科大讯飞语音引擎3.0结合TTS技术,为开发者和用户提供了一种强大而灵活的语音解决方案。无论是个人娱乐、商业应用还是社会公共服务,这一技术都展现出广阔的应用前景。通过深入理解和实践,我们可以充分利用...

Global site tag (gtag.js) - Google Analytics