精华内容
下载资源
问答
  • C语言语音朗读小工具

    2020-12-30 00:26:03
    C语言语音朗读小工具 直接将以下代码复制粘贴,运行即可: #include<stdio.h> #include<stdlib.h> #include<string.h> char buf[100] = ""; void showStyle() { system("title 语音朗读"); ...

    C语言语音朗读小工具

    直接将以下代码复制粘贴,运行即可:

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    char buf[100] = "";
    
    void showStyle()
    {
    	system("title 语音朗读");
    	system("mode con cols=80 lines=30");
    	system("color f0");
     } 
    
    void inputInfo()
    {
    	memset(buf,0,100);
    	printf("输入要朗诵的文字: \n");
    	gets(buf);
    }
    
    int main()
    {
    	showStyle();
    	while(1)
    	{
    		FILE *fq=fopen("voice.vbs","w");
    		inputInfo();
    		if(fq!=NULL)
    		{
    			fprintf(fq,"CreateObject(\"SAPI.Spvoice\").Speak\"%s\"",buf);
    			fclose(fq);
    			system("voice.vbs");
    			system("del voice.vbs");
    		}
    		printf("朗诵文为:%s\n",buf);
    		fclose(fq);
    	}
    	system("pause");
    	return 0;
    }
    

    注:其中用到了一个vbs小程序:
    vbs指令:
    CreateObject(“SAPI.Spvoice”).Speak"I love you"
    将这一行指令写入新建的txt文档,然后把后缀名改为vbs也可以实现该小程序。如果你电脑没有显示后缀名,可点开“此电脑”,上面有个“查看”,右边有个“文件扩展名”,前面选上就可以了,然后可以更改后缀名了。

    这是头文件与全局变量:

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    char buf[100] = "";
    

    调整窗口样式:

    void showStyle()
    {
    	system("title 语音朗读");
    	system("mode con cols=80 lines=30");
    	system("color f0");
     } 
    

    这是exe程序的窗口调整,平时我们见的都是黑色的,这个title是调整标题,mode con调整尺寸,color调整颜色。当然,这个函数你应该记下来,以后很可能会用到哦。

    用户输入(一个输入函数):

    void inputInfo()
    {
    	memset(buf,0,100);
    	printf("输入要朗诵的文字: \n");
    	gets(buf);
    }
    

    主函数进行文件的操作:

    int main()
    {
    	showStyle();
    	while(1)
    	{
    		FILE *fq=fopen("voice.vbs","w");
    		inputInfo();
    		if(fq!=NULL)
    		{
    			fprintf(fq,"CreateObject(\"SAPI.Spvoice\").Speak\"%s\"",buf);
    			fclose(fq);
    			system("voice.vbs");
    			system("del voice.vbs");
    		}
    		printf("朗诵文为:%s\n",buf);
    		fclose(fq);
    	}
    	system("pause");
    	return 0;
    }
    

    while(1){ } 是个无限循环;
    fopen 打开文件;
    fclose 关闭文件;
    fprintf 写入文件;
    system 是系统指令。
    注: 此代码是我从一篇微信文章看到的。

    展开全文
  • 下面是使用C#和System.Speech用于从语音转换成文本的代码可以被划分为两个主要部分的完整例如:配置SpeechRecognitionEngine对象(及其所需的元件) 处理SpeechRecognized和SpeechHypothesized事件。步骤1:配置...

    下面是使用C#和System.Speech用于从语音转换成文本

    的代码可以被划分为两个主要部分的完整例如:

    配置SpeechRecognitionEngine对象(及其所需的元件) 处理SpeechRecognized和SpeechHypothesized事件。

    步骤1:配置SpeechRecognitionEngine

    _speechRecognitionEngine = new SpeechRecognitionEngine();

    _speechRecognitionEngine.SetInputToDefaultAudioDevice();

    _dictationGrammar = new DictationGrammar();

    _speechRecognitionEngine.LoadGrammar(_dictationGrammar);

    _speechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple);

    在这一点上你的对象是准备开始从麦克风录制音频。您需要处理一些事件,以便实际访问结果。

    步骤2:处理所述SpeechRecognitionEngine活动

    _speechRecognitionEngine.SpeechRecognized - =新的EventHandler(SpeechRecognized); _speechRecognitionEngine.SpeechHypothesized - = new EventHandler(SpeechHypothesizing);

    _speechRecognitionEngine.SpeechRecognized + = new EventHandler(SpeechRecognized); _speechRecognitionEngine.SpeechHypothesized + = new EventHandler(SpeechHypothesizing);从发动机 串realTimeResults = e.Result.Text

    私人无效SpeechHypothesizing(对象发件人, SpeechHypothesizedEventArgs E){ ///实时结果; }

    私人无效SpeechRecognized(对象发件人,SpeechRecognizedEventArgs e)从发动机串finalAnswer = e.Result.Text { ///最终答案; }

    就是这样。如果您想使用预先录制的.wav文件而不是麦克风,您可以使用

    _speechRecognitionEngine。SetInputToWaveFile(pathToTargetWavFile);

    代替

    _speechRecognitionEngine.SetInputToDefaultAudioDevice();

    在这些类中有一堆不同的选项,它们值得探索更多细节。

    展开全文
  • } int main(int argc,char *argv[]) { system("title 语音朗读"); system("mode con cols=80 lines=30") ; system("color f0"); FILE *fp,*fq; char buffer[1000],*del; unsigned char buf[1000]; fp...

    #include

    #include

    #include

    void selectbuf(unsigned char *buf)

    {

    //printf(">>%s<

    unsigned char *p;

    for(p=buf;*p!=NULL;)

    {

    if((*p-'0'>=0&&*p-'9'<=0)||(*p-'a'>=0&&*p-'z'<=0) ||(*p-'A'>=0&&*p-'Z'<=0) )

    {

    p++;

    continue;

    }

    else if(*p>=0xb0&&*p<=0xf7&&*(p+1)>=0xa1&&*(p+1)<=0xfe)

    {

    p+=2;

    continue;

    }

    else if((*p>='!'&&*p<='/')||(*p>=':'&&*p<='@'))

    {

    *p =' ';

    p++;

    }

    else

    {

    *p=' ';

    p++;

    *p=' ';

    p++;

    }

    }

    //  printf("\n[%s] \n",buf);

    }

    int main(int argc,char *argv[])

    {

    system("title 语音朗读");

    system("mode con cols=80 lines=30") ;

    system("color f0");

    FILE *fp,*fq;

    char buffer[1000],*del;

    unsigned char buf[1000];

    fp = fopen(argv[1],"r");

    if(fp!=NULL)

    {

    while(fgets(buffer,999,fp)!=NULL)

    {

    printf("\n读入:%s",buffer);

    while((del=strchr(buffer,' '))!=NULL)

    *del =',';

    while((del=strchr(buffer,'\t'))!=NULL)

    *del =',';

    *buf ='\0';

    sscanf(buffer,"%s",buf);

    selectbuf(buf);

    printf("\n处理后:[%s] \n",buf);

    fq =fopen("voice.vbs","w");

    if(fq!=NULL)

    {

    fprintf(fq,"CreateObject(\"SAPI.Spvoice\").Speak\"%s\"",buf);//  CreateObject("SAPI.SpVoice").Speak "I LOVE YOU"

    fclose(fq);

    system("voice.vbs");

    system("del voice.vbs");

    }

    }

    }

    else

    {

    while(1){

    printf("在软件关闭的情况下,你可以拖任意TXT文件进来朗读哦(比如:小说)!\n");

    printf("\n请输入需要朗读的文字:");

    fflush(stdin);

    fgets(buffer,1000,stdin);

    if(strstr(buffer,"。退出。")!=NULL)

    break;

    printf("\n读入:%s",buffer);

    while((del=strchr(buffer,' '))!=NULL)

    *del =',';

    while((del=strchr(buffer,'\t'))!=NULL)

    *del =',';

    sscanf(buffer,"%s",buf);

    selectbuf(buf);

    printf("\n处理后:[%s] \n",buf);

    fq =fopen("voice.vbs","w");

    if(fq!=NULL)

    {

    fprintf(fq,"CreateObject(\"SAPI.Spvoice\").Speak\"%s\"",buf);//  CreateObject("SAPI.SpVoice").Speak "I LOVE YOU"

    fclose(fq);

    system("voice.vbs");

    system("del voice.vbs");

    }

    printf("输入“。退出。 ”即可退出!\n");

    }

    }

    }

    展开全文
  • 演讲者:刘德体 语音端点检测的目的和意义 基于短时能量和短时平均过零率的端点检测 基于倒谱特征的端点检测 基于熵的端点检测 基于复杂性的端点检测(KC复杂性和C0复杂性) 不同语音端点检测方法的实验结果对比 ...

    语音端点检测的方法

    语音端点检测的方法 演讲者:刘德体 语音端点检测的目的和意义 基于短时能量和短时平均过零率的端点检测 基于倒谱特征的端点检测 基于熵的端点检测 基于复杂性的端点检测(KC复杂性和C0复杂性) 不同语音端点检测方法的实验结果对比 语音端点检测的目的和意义 目的 语音信号端点检测技术其目的就是从包含语音的一段信号中准确地确定语音的起始点和终止点,区分语音和非语音信号,它是语音处理技术中的一个重要方面。 意义 有效的端点检测技术不仅能在语音识别系统中减少数据的采集量,节约处理时间,还能排除无声段或噪声段的干扰,提高语音识别系统的性能,而且在语音编码中还能降低噪声和静音段的比特率,提高编码效率。 基于短时能量和短时平均过零率的端点检测 短时能量 语音和噪声的区别可以体现在它们的能量上,语音段的能量比噪声段能量大,语音段的能量是噪声段能量叠加语音声波能量的和。在信噪比很高时,那么只要计算输入信号的短时能量或短时平均幅度就能够把语音段和噪声背景区分开。这是仅基于短时能量的端点检测方法。 信号{x(n)}的短时能量定义为: 语音信号的短时平均幅度定义为: 其中w(n)为窗函数。 短时平均过零率 短时过零表示一帧语音信号波形穿过横轴(零电平)的次数。过零分析是语音时域分析中最简单的一种。对于连续语音信号,过零意味着时域波形通过时间轴;而对于离散信号,如果相邻的取样值的改变符号称为过零。过零率就是样本改变符号次数。 信号{x(n)}的短时平均过零率定义为: 式中,sgn为符号函数,即: 过零率有两类重要的应用:第一,用于粗略地描述信号的频谱特性;第二,用于判别清音和浊音、有话和无话。从上面提到的定义出发计算过零率容易受低频干扰,特别是50Hz交流干扰的影响。解决这个问题的办法,一个是做高通滤波器或带通滤波,减小随机噪声的影响;另一个有效方法是对上述定义做一点修改,设一个门限T,将过零率的含义修改为跨过正负门限。 于是,有定义: 检测方法 利用过零率检测清音,用短时能量检测浊音,两者配合。首先为短时能量和过零率分别确定两个门限,一个是较低的门限数值较小,对信号的变化比较敏感,很容易超过;另一个是比较高的门限,数值较大。低门限被超过未必是语音的开始,有可能是很短的噪声引起的,高门限被超过并且接下来的自定义时间段内的语音超过低门限,意味着信号开始。 此时整个端点检测可分为四段:静音段、过渡段、语音段、结束。实验时使用一个变量表示当前状态。静音段,如果能量或过零率超过低门限,就开始标记起始点,进入过渡段。过渡段当两个参数值都回落到低门限以下,就将当前状态恢复到静音状态。而如果过渡段中两个参数中的任一个超过高门限,即被认为进入语音段。处于语音段时,如果两参数降低到门限以下,而且总的计时长度小于最短时间门限,则认为是一段噪音,继续扫描以后的语音数据,否则标一记结束端点。 基于倒谱特征的端点检测 概念 信号倒谱的一种定义是信号的能量谱密度函数S(ω)的对数的傅里叶反变换,或者可以将信号s(n)的倒谱c(n)看成是logS(ω)的傅里叶级数展开,即: 式中Cn=C-n为实数,通常称为倒谱系数,且 对于一对谱密度函数S(w)与S’(w) ,利用Parseval定理,其对数谱的均方距离可用倒谱距离表示: 式中,Cn与C’n分别代表谱密度函数S(w)与S’(w)的倒谱系数。 方法: 倒谱距离的测量法步骤类似于基于能量的端点检测,只是将倒谱距离代替短时能量来作为特征参数。首先,假定前几帧信号是背景噪声,计算这些帧的倒谱系数,利用前几帧倒谱系数的平均值可估计背景噪声的倒谱系数,噪声倒谱系数的近似值可按下述规则进行更新,即当前帧被认为是非语音帧: 式中 为噪声倒谱系数的近似值, 为当前测试帧的倒谱系数,p为调节参数。 倒谱距离可用下式近似计算: 式中 对应于 的噪声倒谱系数,计算所有测试帧与

    展开全文
  • 大学c语音搜题

    万次阅读 2021-05-21 00:44:40
    大学c语音搜题是专门为c语言用户打造的可以进行搜题的软件,而且这里的有超多的答案能够提供给用户。每个人都是可以进行免费查看的,不会有太过多的限制呢。还有大量的编程等等都是可以在这里进行查询,方法有很多种...
  • #include //导入语音头文件#include #pragma comment(lib,"sapi.lib") //导入语音头文件库void MSSSpeak(LPCTSTR speakContent)// speakContent为LPCTSTR型的字符串,调用此函数即可将文字转为语音{ISpVoice *pVoice ...
  • 今天从一个题目中学到不少东西,打算分享出来和大家探讨一下。 ... 首先函数主体先写出来,总体思路先理清,题目说只能登录三次,最多输入三次密码,也就是程序最多循环三次,如果能提前结束的话,提前break跳出即可...
  • 语音识别

    2021-05-20 11:15:23
    语音识别没有动手做过,在这里记录一些预先需要了解的知识:GMM算法:语音识别常用到GMM算法。1.单高斯模型如题,就是单个高斯分布模型or正态分布模型。想必大家都知道正态分布,这一分布反映了自然界普遍存在的有关...
  • c语音第四章实训

    2021-11-14 14:13:38
    C语言程序设计第四章总结 引例 例4.2 关系运算符、逻辑运算符、条件运算符 1.关系运算符 关系运算符用于判断两个操作数的大小关系。 2.关系表达式 用关系表达式将两个表达式连接起来的式子称为关系表达式。 例...
  • C语音思维导图

    2021-07-22 09:49:09
    C语音总结 根据思维导图判断C语音掌握情况。
  • #include#define max(a,b) ((a>... a:b)#define min(a,b) ((avoid main(){int a,b,c,d;printf("input four numbers :");scanf("%d,%d,%d,%d",&a,&b,&c,&d);printf("The max number is : %",max(...
  • 学习c语音的入门书籍

    2021-09-06 22:42:12
    此书中把一些经典C语言书如:《C陷阱和缺陷》中的内容做了包含并说明,等于看了这本书,也可以省去看其他书籍了,这本书适合有基础的人看 C Primer Plus 这本巨头是非常不适合初学者的,他比较可以适合像一本字典...
  • 满意答案1Messi02013.02.12采纳率:42%等级:13已帮助:7979人#include#includedouble sin(double);double nResult(double,double);int main(){double x=0;scanf("%lf",&x);printf("sin(%lf)=%lf\n",x,sin(x));...
  • 编程C语言 输入n个学生成绩,计算他们的平均值并输出所有高于平均的学生成绩.#include“stdio.h”#defineMAX100voidmain(){intmark[MAX],sum=0,mark=0,j=0,aver=0;printf("请输入学生成绩,输入负数结束c语言编程问题...
  • DFRobot语音识别模块使用Gravity I2C接口通信,兼容绝大部分主控,非常适合接入教育场景使用。三种语音识别模式和三种语音输入方式使模块可以集成入更多的场景。 这块语音识别模块特别简单好用,连接上语音识别模块...
  • c语音位操作详解

    2021-05-24 09:45:44
    C语言的设计具备了汇编语言的运算能力,它支持全部的位操作符。位操作符是对字节或字中的位进行测试、置位或移位处理,在对微处理器的编程中,特别适合对寄存器、I/O端口进行操作。6种伟操作符:(1) & :按位...
  • 学生信息管理系统--C语音课程设计C语言课程设计题目名称: 学生信息管理系统姓 名 XXX学 号 XXXXXXXX专 业 网络工程班 级 一班指导教师 XXX编写日期 2011/6/6目录1、序言32、需求分析32.1.具体目标32.1.132.1.2.32....
  • 大学c语音搜题app

    万次阅读 2021-05-19 16:30:59
    大学c语音搜题app是一款为C语言学习的用户们带来搜题服务的软件,C语言可以说是计算机语言的入门语言了,无论你是要学习Python还是数据结构或者是Java语言,都要先学习C语言,但是用户在学习C语言时会遇到很多的问题...
  • c语音第一章

    2021-10-07 09:58:23
    一:程序设计语音的发展 1.机器语言 由0,1组成 2.汇编语言 用符合代替0,1 3高级语言 分非结构化语言,结构化语言,面向对象的语言 二:程序设计语音的功能(人让计算机按照自己意愿处理数据) 1.数据表达 2....
  • C语音颜色函数

    2021-01-27 12:25:09
    做期末游戏学到的,记录一下方便以后可能会用到。 #include<windows.h> void color(int m) { HANDLE consolehend; consolehend = GetStdHandle(STD_OUTPUT_HANDLE);... SetConsoleTextAttribute(consolehend, ...
  • 问题描述给定当前的时间,请用英文的读法将它读出来。时间用时h和分m表示,在英文的读法中,读一个时间的方法是:如果m为0,则将时读出来,然后加上“o‘clock”,如3:00读作“three o‘clock”。...
  • } CComplex::~CComplex() { } CComplex CComplex::operator +(CComplex &a) { CComplex c; c.real=a.real+real; c.img=a.img+img; return c; } CComplex CComplex::operator -(CComplex &a) { ...
  • 程序设计与C语音

    2021-10-07 22:05:15
    1.1:认识了C语音是一种用途广泛,功能强大,使用灵活的高级语言及第一个C语音程序代码如下: 输出两个整型数中的程序代码: 井include <stdio. h>int main()》整数. /inta, b, C;int max(int,int); 输出rintf...
  • C语言基础知识入门(大全)

    万次阅读 多人点赞 2021-05-11 18:34:11
    一.C语言入门 C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级...
  • C# 实现语音播报语音识别

    千次阅读 2021-07-29 17:11:10
    代码如下: 语音播报 添加引用:System.Speech.Synthesis或Microsoft.Speech.Synthesis public static void Speaking(string saying) { string say = saying; Task task = new Task(() => { SpeechSynthesizer ...
  • 程序设计与C语音 1.1 引例
  • http://www.ibm.com/developerworks/cn/linux/l-pythc/2.用C语言编写Python扩展模块:http://hi.baidu.com/jinmu190/blog/item/c5475846eee39c056a63e5f1.htmlhttp://blog.csdn.net/dengxu11/article/detail...
  • 3.1 3.2 3.3 3.4 3,5 3.6 3.7 3.8 3.9 3.10 3.11 总结 太难了
  • 记录自己每一道题 如有侵权,请私下联系我. 题目描述 八尾勇喜欢吃苹果。她现在有m(m≤100) 个苹果,吃完一个苹果需要花费t(0≤t≤100) 分钟,吃完一个后立刻开始吃下一个。现在时间过去了s(s≤10000) 分钟,请问她...
  • C语言超全学习路线(少走弯路)

    万次阅读 多人点赞 2021-06-11 14:04:04
    学完 C 语言,有助于我们对其他语言的理解,毕竟 C 语言比较低鞥,如果你还是大一大二,不知道该使用哪一门入门,那么我推荐C语言,可能比Python等难,但掌握之后学其他语言会容易很多。 下面是我学完 C 语言之后,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 130,197
精华内容 52,078
关键字:

c语音