文末有彩蛋
利用微软自带的TTS(txt to speech)将输入的文本转化为语音并播放的com组件,例如实现'欢迎关注工科男的Matlab学习日志’。由于调用的是微软的com组件故本程序只能在windows系统上运行。
接下来主要编写txt2speech函数
txt2speech函数
function txt2speech(txt,voice,pace,fs)
if ~ispc, error('要求使用Microsoft Win32 SAPI .');
end
if ~ischar(txt), error('第一个参数是字符串.');
end
SV = actxserver('SAPI.SpVoice');
TK = invoke(SV,'GetVoices');
if nargin > 1
for k = 0:TK.Count-1
if strcmpi(voice,TK.Item(k).GetDescription)
SV.Voice = TK.Item(k);
break;
elseif strcmpi(voice,'list')
disp(TK.Item(k).GetDescription);
end
end
end
if nargin > 2
if isempty(pace), pace = 0;
end
if abs(pace) > 10, pace = sign(pace)*10;
end
SV.Rate = pace;
end
if nargin < 4 || ~ismember(fs,[8000,11025,12000,...
16000,22050,24000,32000,44100,48000]), fs = 16000;
end
if nargout > 0
MS = actxserver('SAPI.SpMemoryStream');
MS.Format.Type = sprintf('SAFT%dkHz16BitMono',fix(fs/1000));
SV.AudioOutputStream = MS;
end
invoke(SV,'Speak',txt);
end
❖接下来调用该函数即可
txt2speech('欢迎关注工科男的Matlab学习日志');
作品欣赏
文字:大家好,我是工科男,欢迎关注工科男的Matlab学习日志,给大家说段绕口令,八百标兵奔北坡,炮兵并排北边跑,炮兵怕把标兵碰,标兵怕碰炮兵跑,我不仅会绕口令还会讲故事、唱歌。下面给大家讲个故事,故事的内容是,从前有座山,山里有个庙,庙里有个老和尚,老和尚正在给小和尚讲故事,讲得什么故事呢,讲得是从前有座山,山里有个庙,庙里有个老和尚,老和尚正在给小和尚讲故事,我还会唱歌,给大家唱首歌。(听到最后哦有歌曲)
关于这个语音引擎的具体用法请自己去微软官网搜索使用,目前小编也仅是处于初级阶段,没有深入了解。这个系统自带的是女生声音,男生声音设置还没弄懂,目前的想法是自己写程序实现变声可以。
点击文字即可阅读
MATLAB调用摄像头实例
基于MATLAB制作简易画板
Lamb频散曲线快速绘制软件
基于MATLAB的心电图信号分析与处理
基于hough变换的直线检测
MATLAB版本的俄罗斯方块
您有一份软件著作权请查收
你的时光倒映机
谁说工科男不解风情
高阶齿轮副副参数设计系统
如何抓取网页中的图片
基于MATLAB的验证码生成系统
MATLAB 如何生成 APP ———以运动模糊图像复原为例
凉凉——可变速小风扇
高逼格坐标轴函数
如何验证身份证号码是否合法
基于compass函数的时钟制作
抖音上火起来的撩妹神器
基于MATLAB视频处理——抖音小视频去除水印
MATLAB版本的扫雷小游戏
如何验证邮箱名是否合法
基于MATLAB定时器timer函数制作数字万年历
跟着工科男学英语单词
高效办公路上MATLAB助你一臂之力
在学习中得到乐趣,在乐趣中收获学习,欢迎关注和分享该公众号。如果您有什么建议可以公众号直接回复即可,如果您需要期待您的加入,也希望您分享给您身边有需要的人。
欢迎有志之士投稿,内容只要和Matlab有关即可。可以是自己学习中的基础知识理解,也可是专业领域的知识技能,内容不限。
投稿邮箱:AbsorbedinU@163.com
QQ技术支持交流群:621250505