資源簡介
本程序在vs2013下完美運行,如果編譯不通過,請先下載Microsoft Speech SDK,并設(shè)置好對應(yīng)選項,程序分為兩部分,分為語音轉(zhuǎn)文字和文字轉(zhuǎn)語音

代碼片段和文件信息
#define?_CRT_SECURE_NO_WARNINGS
#pragma?warning(disable:?4996)?
#include?
#include? //需用到CString
#include? //語音識別頭文件
#include? //導入語音頭文件
#include?
#include?
#include?
//包含語音引擎對應(yīng)的靜態(tài)庫
#pragma?comment(lib?“sapi.lib“)
#pragma?comment(lib?“comsupp.lib“)
?
const?int?WM_RECORD?=?WM_USER?+?100;
#define?GID_CMD_GR?333333
#define?WM_RECOEVENT?WM_USER+1
/************************************************************************************************************************************************
SAPI?API在一個應(yīng)用程序和語音引擎之間提供一個高級別的接口。SAPI?實現(xiàn)了所有必需的對各種語音引擎的實時的控制和管理等低級別的細節(jié)。
SAPI引擎的兩個基本類型是文本語音轉(zhuǎn)換系統(tǒng)(TTS)和語音識別系統(tǒng)。
TTS系統(tǒng)使用合成語音合成文本字符串和文件到聲音音頻流。
語音識別技術(shù)轉(zhuǎn)換人類的聲音語音流到可讀的文本字符串或者文件。
************************************************************************************************************************************************/
LRESULT?CALLBACK?WndProc(HWND?UINT?WPARAM?LPARAM);
void?openqq();
void?closeqq();
char?szAppName[]?=?“TsinghuaYincheng“;?
BOOL?b_initSR;
BOOL?b_Cmd_Grammar;
CComPtrm_cpRecoCtxt; //語言識別程序接口
CComPtrm_cpCmdGramma; //識別語法接口
CComPtrm_cpRecoEngine; //語言識別引擎接口
//CComPtrm_pInputStream;//?流()的接口。
//CComPtrjectToken>m_pToken;//?語音特征的(token)接口。
//CComPtrm_pAudio;//?音頻(Audio)的接口。(用來保存原來默認的輸入流)
//ULONGLONG?ullGrammerID;
int?speak(wchar_t?*str);
//創(chuàng)建應(yīng)用程序窗口
int?WINAPI?WinMain(HINSTANCE?hInstance?HINSTANCE?hPrevInstance?PSTR?szCmdLine?int?iCmdShow)
{
HWND?hwnd; //句柄
MSG?msg; //消息體
WNDCLASS?wndclass; //窗體對象
//窗口參數(shù)
wndclass.cbClsExtra?=?0;
wndclass.cbWndExtra?=?0;
wndclass.hbrBackground?=?(HBRUSH)GetStockobject(WHITE_BRUSH); //背景刷
wndclass.hCursor?=?LoadCursor(NULL?IDC_ARROW); //窗口光標
wndclass.hIcon?=?LoadIcon(NULL?IDI_APPLICATION); //圖標
wndclass.hInstance?=?hInstance; //窗體實例名由Windows自動分發(fā)
wndclass.lpfnWndProc?=?WndProc; //窗體接收消息函數(shù)
wndclass.lpszClassName?=?szAppName; //窗體類名
wndclass.lpszMenuName?=?NULL;
wndclass.style?=?CS_HREDRAW?|?CS_VREDRAW; //樣式
//注冊窗體
if?(!RegisterClass(&wndclass))
{
MessageBox(NULL?TEXT(“This?program?requires?Windows?NT!“)?szAppName?MB_IConerror);
return?0;
}
//創(chuàng)建窗口返回句柄
hwnd?=?CreateWindow(szAppName //類名
TEXT(“語音識別教程“) //標題
WS_OVERLAPPEDWINDOW //風格
CW_USEDEFAULT //x初始位置
CW_USEDEFAULT //y初始位置
CW_USEDEFAULT //x初始尺寸
CW_USEDEFAULT //y初始尺寸
NULL //父窗口句柄
NULL //窗口菜單句柄
hInstance //實例句柄
NULL);
ShowWindow(hwnd?iCmdShow); //顯示窗口
UpdateWindow(hwnd); //更新窗口
speak(L“請說一些我能聽懂的話“);
//消息循環(huán)
while?(GetMessage(&msg?NULL?0?0))
{
TranslateMessage(&msg); //翻譯消息并發(fā)送到消息隊列
DispatchMessage(&msg); //接收消息
}
return?msg.wParam;
}
//用于接收和處理窗口消息
//hwnd是要處理窗口的句柄;message是消息ID,代表了不同的消息類型;wParam和lParam代表了消息的附加信息,附加信息會隨著消息類型的不同而不同。
LRESULT?CALLBACK?WndProc(HWND?hwnd?UINT?message?WPARAM?wParam?LPARA
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????7650??2019-11-08?11:16??speech.cpp
?????文件????????259??2019-11-08?11:16??er.xm
-----------?---------??----------?-----??----
?????????????????7909????????????????????2
評論
共有 條評論