共振峰提取的代码(提取共振峰的常用方法)
admin 发布:2022-12-19 21:53 174
今天给各位分享共振峰提取的代码的知识,其中也会对提取共振峰的常用方法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、跪求一个在C++环境下的语音情感状态的源程序!!!小弟实在找不到了!我的邮箱是nightflyrain@yahoo.com.c
- 2、什么是共振峰?
- 3、哪位大神帮小弟写一段MATLAB提取语音信号共振峰程序
- 4、TTS是什么意思呢?
跪求一个在C++环境下的语音情感状态的源程序!!!小弟实在找不到了!我的邮箱是nightflyrain@yahoo.com.c
发不了……
贴代码:
#include "stdafx.h"
#includeiostream.h
#includestdlib.h
#includestring.h
#includetime.h
class CBoys;
class CGirls{
friend class CBoys;
private:
char Name[25];
};
class CBoys{
private:
char Name[25];
int Charisma; //魅力值
long Money; //财富
int Age; //年龄
int RoseNum; //拥有的玫瑰数
CGirls LoveGirl;
public:
void InPut();
void ConfessingLove(); //表白爱意
void Menu(); //程序选项
void Choose(); //选择
void EarnMoney_AddCharisma(); //赚钱、增加魅力
void Purchase(); //购物
void GiveRose(); //送女孩玫瑰
void Propose(); //向心爱的女孩求婚
};
void CBoys::InPut(){ //输入一些基本信息
Charisma=50; //初始化
Money=30000;
RoseNum=0;
char *name=new char[25];
cout"请输入你的角色名称:"endl;
cinname;
strcpy(Name,name);
delete [] name;
int age;
cout"请输入你的年龄:"endl;
cinage;
Age=age;
}
void CBoys::Menu(){
cout"*****欢迎"Name"来到爱情之旅!******"endl;
cout"***********1.表白**********************"endl;
cout"***********2.挣钱**********************"endl;
cout"***********3.买玫瑰********************"endl;
cout"***********4.送玫瑰********************"endl;
cout"***********5.求婚**********************"endl;
cout"***********0.退出**********************"endl;
}
void CBoys::Choose(){
int choose;
cinchoose;
switch(choose){
case 1: ConfessingLove();break;
case 2 :EarnMoney_AddCharisma();break;
case 3: Purchase();break;
case 4: GiveRose();break;
case 5: Propose();break;
case 0: cout"很遗憾,你未能坚持走完这爱情之路。"endl;
}
}
void CBoys::ConfessingLove(){ //表白 o(∩_∩)o
char *girlname=new char[25];
cout"请输入你心爱的女孩的名字:"endl;
cingirlname;
strcpy(LoveGirl.Name,girlname);
delete [] girlname;
cout"大胆对"LoveGirl.Name"表白吧,你想对她说:"endl;
char *BoyWantToSay=new char[200]; //对女孩表白的话
cinBoyWantToSay;
delete [] BoyWantToSay;
if(Charisma=80Charisma=100)
{
cout"恭喜!魅力超凡的你,经过不懈努力,终于得到了心爱女孩的芳心!魅力+7!"endl;
Charisma+=7;
cout"你的财富:"Moneyendl;
cout"你的魅力:"Charismaendl;
Menu();
Choose();
}
else
{
cout"你的魅力不足80,继续努力哦,还有希望!不过,你敢于表白,魅力+2!接下来你想干什么呢?"endl;
Charisma+=2;
cout"你的财富:"Moneyendl;
cout"你的魅力:"Charismaendl;
Menu();
Choose();
}
}
void CBoys::EarnMoney_AddCharisma(){ //挣钱、加魅力
int response;
int probability; //事件随机概率
cout"**********请选择何种挣钱方式***********"endl;
cout"****************1.做家教***************"endl;
cout"****************2.做打字员*************"endl;
cout"****************3.写小说***************"endl;
cout"****************4.炒股*****************"endl;
cout"****************0.返回*****************"endl;
probability=rand()%10+1;
cinresponse;
switch(response){
case 0 : Menu();Choose();break;
case 1: {
if(probability=7)
{
cout"恭喜,经过你兢兢业业的教育,你教的孩子成功考取了清华,国家奖励你10000元RMB!!魅力+3!"endl;
Money+=10000;
Charisma+=3;
}
else
{
cout"你教的孩子差500分考取清华,反赔了人家5000元RMB。魅力-3"endl;
Money-=5000;
Charisma-=3;
}
cout"你的财富:"Moneyendl;
cout"你的魅力:"Charismaendl;
Menu();
Choose();
}break;
case 2:{
if(probability=6)
{
cout"恭喜!由于你认真努力的打出了高质量的字,老板奖励12000元RMB!魅力+4!"endl;
Money+=12000;
Charisma+=4;
}
else{
cout"由于你打一万字出错七千,险些被读者举报盗版,反赔了5000元。魅力-4。"endl;
Money-=5000;
Charisma-=4;
}
cout"你的财富:"Moneyendl;
cout"你的魅力:"Charismaendl;
Menu();
Choose();
}break;
case 3: {
if(probability=5){
cout"写小说火了,赚了20000!魅力+5!"endl;
Money+=20000;
Charisma+=5;
}
else{
cout"写的小说没人看,赔了6000元。魅力-5."endl;
Money-=6000;
Charisma-=5;
}
cout"你的财富:"Moneyendl;
cout"你的魅力:"Charismaendl;
Menu();
Choose();
}break;
case 4: {
if(probability=4){
cout"股市涨了!赚了30000!魅力+7!"endl;
Money+=30000;
Charisma+=7;
}
else {
cout"股市崩盘,赔了10000!魅力-7!"endl;
Money-=10000;
Charisma-=7;
}
cout"你的财富:"Moneyendl;
cout"你的魅力:"Charismaendl;
Menu();
Choose();
}break;
}
}
void CBoys::Purchase(){
cout"**********************欢迎来到玫瑰乐园!*****************************"endl;
cout"*********你想购买多少玫瑰呢?一朵玫瑰999元,送给女生会+1魅力值哦!******"endl;
int Pur_Rose;
cinPur_Rose;
if(MoneyPur_Rose*999){
cout"钱到用时方恨少啊!你的钱不够,快去赚钱吧!"endl;
Menu();
Choose();
}
else{
RoseNum+=Pur_Rose;
Money-=Pur_Rose*999;
cout"购买成功!你买了"Pur_Rose"朵玫瑰!"endl;
cout"拥有玫瑰:"RoseNumendl;
cout"你的财富:"Moneyendl;
cout"你的魅力:"Charismaendl;
Menu();
Choose();
}
}
void CBoys::GiveRose(){
cout"你现在拥有玫瑰:"RoseNumendl;
cout"你想送多少多玫瑰给她呢?送一朵玫瑰魅力+3哦!"endl;
int GiveNum;
cinGiveNum;
if(GiveNumRoseNum){
cout"你哪有那么多玫瑰!?快去买吧"endl;
Menu();
Choose();
}
else{
cout"你成功送了"GiveNum"朵玫瑰,魅力+"GiveNumendl;
RoseNum-=GiveNum;
Charisma+=GiveNum;
cout"拥有玫瑰:"RoseNumendl;
cout"你的财富:"Moneyendl;
cout"你的魅力:"Charismaendl;
Menu();
Choose();
}
}
void CBoys::Propose(){
char *girlname=new char[25];
cout"请输入你想要求婚的女孩的名字:"endl;
cingirlname;
strcpy(LoveGirl.Name,girlname);
delete [] girlname;
cout"用你最独特的语言来打动"LoveGirl.Name"吧!"endl;
char *BoyWantToSay=new char[200]; //对女孩表白的话
cinBoyWantToSay;
delete [] BoyWantToSay;
if(Money=400000Charisma=90){
cout"恭喜你,由于你的努力"LoveGirl.Name"已经愿意嫁给你!"endl;
}
else{
cout"你还未达到结婚的条件,还需努力啊。提示下哦,想要抱得美人归,你财富至少为40W,魅力至少为90哦!"endl;
Menu();
Choose();
}
}
int main()
{
CBoys boy1;
srand(time(0));
boy1.InPut();
boy1.Menu();
boy1.Choose();
return 0;
}
什么是共振峰?
共振峰是指在声音的频谱中能量相对集中的一些区域,共振峰不但是音质的决定因素,而且反映了声道(共振腔)的物理特征。共振峰是反映声道谐振特性的重要特征,它代表了发音信息的最直接的来源,而且人在语音感知中利用了共振峰信息。所以共振峰是语音信号处理中非常重要的特征参数,已经广泛地用作语音识别的主要特征和语音编码传输的基本信息。共振峰信息包含在频率包络之中,因此共振峰参数提取的关键是估计自然语音频谱包络,一般认为谱包络中的最大值就是共振峰。
哪位大神帮小弟写一段MATLAB提取语音信号共振峰程序
function [fmt] = seekfmts1(sig,Nt,fs,Nlpc)
if nargin4, Nlpc = round(fs/1000)+2; end;
ls=length(sig); % 数据长度
Nwin = floor(ls/Nt); % 帧长
for m=1:Nt,
lpcsig = sig((Nwin*(m-1)+1):min([(Nwin*m) ls]));% 取来一帧信号
if ~isempty(lpcsig),
a = lpc(lpcsig,Nlpc); % 计算LPC系数
const=fs/(2*pi); % 常数
rts=roots(a); % 求根
k=1; % 初始化
yf = [];
bandw=[];
for i=1:length(a)-1
re=real(rts(i)); % 取根之实部
im=imag(rts(i)); % 取根之虚部
formn=const*atan2(im,re); % 计算共振峰频率
bw=-2*const*log(abs(rts(i))); % 计算带宽
if formn150 bw 700 formnfs/2 % 满足条件方能成共振峰和带宽
yf(k)=formn;
bandw(k)=bw;
k=k+1;
end
end
[y, ind]=sort(yf); % 排序
bw=bandw(ind);
F = [NaN NaN NaN]; % 初始化
F(1:min(3,length(y))) = y(1:min(3,length(y))); % 输出最多三个
F = F(:); % 按列输出
fmt(:,m)=F/(fs/2); % 归一化频率
end;
end;
from 《matlab在语音信号分析与合成中的应用》
TTS是什么意思呢?
TTS是指一项语音合成技术。
语音合成是将人类语音用人工的方式所产生。若是将电脑系统用在语音合成上,则称为语音合成器,而语音合成器可以用软/硬件所实现。
文字转语音系统则是将一般语言的文字转换为语音,其他的系统可以描绘语言符号的表示方式,就像音标转换至语音一样。
扩展资料:
发展历史
1、17世纪法国人研发机械式的说话装置,直到19世纪,贝尔实验室对于电子语音合成技术的研究,才开启近代语音合成技术的发展。
2、贝尔实验室在1939年制作出第一个电子语音合成器VODER,是一种利用共振峰原理所制作的合成器。
3、1960年,瑞典语言学家G. Fant则提出利用线性预测编码技术(LPC)来作为语音合成分析技术,并推动了日后的发展。
4、1980年代Moulines E和Charpentier F提出新的语音合成算法PSOLA,此技术可以合成比较自然的语音。
参考资料来源:百度百科-TTS
共振峰提取的代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于提取共振峰的常用方法、共振峰提取的代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
- 上一篇:魔方问题源代码(魔方世界代码怎么用)
- 下一篇:tcp服务端代码c(tcp连接代码)
相关推荐
- 05-13优化关键词的方法包括,优化关键词是什么
- 05-13b2b平台免费推广网站,b2b网站推广方法哪种是最佳的
- 05-10淘宝推广引流方法有哪些,淘宝推广引流方法有哪些类型
- 05-10实体店怎么引流推广,实体店最新引流方法
- 05-10关键词优化的最佳方法,关键词优化是啥意思
- 05-10网站推广的基本方法有,网站推广基本方法包括
- 05-09百度最新收录方法,百度收录网站流程
- 05-09网页代码,网页代码快捷键
- 05-08网站收录优化,网站收录优化方法
- 05-07aso优化分析,aso优化方法
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接