C++ builder TTS5.1实现语音播放 生成wav文件
来源:互联网 发布:java选择文件保存路径 编辑:程序博客网 时间:2024/05/29 17:21
1.将sapi.dll导入到C++Builder:
Component->Import Component->Import a Type Library->Add添加Sapi.dll语音识别引擎库文件。
2.Install完后会自动生成.cpp | .h文件。
生成wav文件
Component->Import Component->Import a Type Library->Add添加Sapi.dll语音识别引擎库文件。
2.Install完后会自动生成.cpp | .h文件。
3.将.cpp|.h文件添加如工程,引用,可以进行编程了。
直接播放声音:
void TTSSpeaker(UnicodeString AText) {SpVoice * pVoice;if (SUCCEEDED(::CoInitialize(NULL))) {if (::CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpeechVoice,(void **)&pVoice) == S_OK)try { pVoice->SetRate(0); // 语速 0 -> 20 pVoice->SetVolume(100); // 音量 0 -> 100 pVoice->Speak(AText.c_str(), 0, NULL); }__finally {pVoice->Release();}::CoUninitialize();}}
生成wav文件
void TTSSaveAsWav(UnicodeString AText,UnicodeString filename) {SpVoice * pVoice;if (SUCCEEDED(::CoInitialize(NULL))) {if (::CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpeechVoice,(void **)&pVoice) == S_OK)try {SpeechVoiceSpeakFlags spFlags =SpeechVoiceSpeakFlags::SVSFlagsAsync;SpeechStreamFileMode spFileMode =SpeechStreamFileMode::SSFMCreateForWrite;SpFileStream *spFileStream;if (::CoCreateInstance(CLSID_SpFileStream, NULL, CLSCTX_ALL,IID_ISpeechFileStream, (void **)&spFileStream) == S_OK) {spFileStream->Open(filename.c_str(), spFileMode, false);pVoice->_set_AudioOutputStream(spFileStream);pVoice->Speak(AText.c_str(), spFlags);pVoice->WaitUntilDone(1000);spFileStream->Close();}}__finally {pVoice->Release();}::CoUninitialize();}}
以下是TTS5.1的下载链接:
点击打开链接
0 0
- C++ builder TTS5.1实现语音播放 生成wav文件
- TTS5.1语音引擎(中文)实现文本阅读和音频输出为WAV
- 实现播放WAV文件
- java 播放wav格式语音文件
- 使用jacob+SAPI5.1实现将将文字转换为语音播放并可存储到.wav文件
- Linux 下的C语言实现播放WAV文件
- Linux 下的C语言实现播放WAV文件
- C语言实现获得wav文件播放总时间
- j2me 播放语音 文件(wav mid等)
- java 实现循环播放wav文件
- VC实现wav录音文件的播放
- js调用微软TTS5.1语音引擎朗读
- 播放wav文件
- 播放WAV文件
- 播放WAV文件
- python 播放wav文件
- 播放 wav 文件
- gstreamer播放wav文件
- Android 中 PopupWindow 响应返回键并关闭的问题
- 【Tech-Lua】Cocos-2dx-Lua调用java的小白教程(一)
- PSI/SI 分析
- 【开发纪事】简易版音乐播放器(四大组件)
- Spark storage系列------3.Spark cache数据块之后对后继Job任务调度的影响,以及后继Job Task执行的影响
- C++ builder TTS5.1实现语音播放 生成wav文件
- RabbitMQ消息队列(六):使用主题进行消息分发
- pt-table-checksum数据一致性校验工具和pt-table-sync数据同步工具解析
- Codeforces#302-B-Sea and Islands-水题
- touch的理解
- 一个比较有意思的算法题,猴子选大王
- PCM 音量调节
- memcached了解使用和常用命令详解
- RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC)