青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

逛奔的蝸牛

我不聰明,但我會很努力

   ::  :: 新隨筆 ::  ::  :: 管理 ::

轉自: http://blog.sina.com.cn/s/blog_4ab4a08d01009uch.html~type=v5_one&label=rela_prevarticle

  要:TTS技術已經越來越廣泛地應用到現代計算機的各個領域,本文介紹了利用微軟的Microsoft Speech SDK 5.1提供的TTStext-to-speech)技術開發具有語音朗讀功能的應用程序。

關鍵字:語音合成;TTS;發聲引擎

中圖分類號:TN912.33TP311.52    文獻標識碼:A

 

Create speech-enableed Apllications with TTS Technology

 

Abstract: The TTS technology is more and more popular in modern computer, this article introduces How to Create speech-enableed Apllications use the Microsoft Speech SDK 5.1 

Key word: Speech SynthesisTTSspeech Engine

 

1.TTS技術概述

上世紀90年代中期以來,隨著個人計算機的硬件和軟件功能越來越強,和現代語音技術的發展,以前在科幻電影中才能看到的會說話的電腦已經成為現實。而TTS技術正是電腦能夠說話的關鍵技術之一。

TTStext-to-speech的縮寫,英文也稱Speech Synthesis即語音合成。語音合成就是一個將文本轉化為語音輸出的過程,這個過程的工作主要是將輸入的文本按字或詞分解為音素,并且對文本中的數字、貨幣單位、單詞變形以及標點等要特殊處理的符號進行分析,以及將音素生成數字音頻然后用揚聲器播放出來或者存為聲音文件以后用多媒體軟件播放。

當應用程序需要發聲的時候就調用語音合成引擎(SPEECH SYNTHESIS ENGINE)進行語言合成,將文本處理后通過揚聲器用近似于人的聲音“讀”出來,通常還可以通過改變對語音引擎的設置改變“說話” 的速度,聲音頻率(低沉或者尖銳),聲音大小,還能模擬口形、唇形和舌位的變化對聲音的影響。面前計算機通過語音合成發出的聲音效果聽起來就象是錄音磁帶發出的聲音。

與一些用預先錄制的聲音文件實現發聲的應用程序相比,TTS的發聲引擎只有幾兆大小,不需要大量的聲音文件支持,因此可以節省很大的儲存空間,并且可以朗讀預先未知的任何語句。現在已經有許多應用軟件應用TTS技術實現語音功能,例如一些播音軟件可以用來讀小說或作校對工作,還可以朗讀電子郵件,一些電子詞典可以讀出單詞,還可以用于查詢中心自動播放服務信息等。

2.關于Microsoft Speech SDK

實現TTS的核心技術本身是非常復雜的,不是一般開發人員所能完成的,但是有了Microsoft Speech SDK這樣的工具的幫助,只需要在應用程序中加入一些不太復雜的命令和操作,我們就可以創建具有TTS功能的應用程序了。

國內外有許多高科技公司和科研機構致力于TTS技術的開發和研究,如微軟公司、IBM公司以及國內的科大迅飛公司都有較成熟的語音產品,并且任何人都可以獲得微軟公司免費提供的語音軟件開發工具:Microsoft Speech SDK

目前的Microsoft Speech SDK已經有4.05.1等幾個版本,最近還推出了適合網絡語音程序開發的The Microsoft Speech Application SDK的測試版,這些SDK主要包括語音應用程序編程接口SAPISAPI使我們象使用windows API一樣方便地在程序中使用語音功能)和微軟語音識別引擎和微軟語音合成引擎,還提供了進行應用設計的例子。Microsoft Speech SDK 5.1 提供了英文和中文兩種TTS引擎,即可以用它開發朗讀中文和英文的應用程序,非常適合中國的開發者使用。

利用這些SDK,開發人員可以很容易地把TTS技術集成到應用軟件中,并可以自由發布。另外Microsoft Speech SDK還提供了詳細的文檔幫助開發者進行程序開發。

3.實現TTS的條件準備

利用Microsoft Speech SDK進行TTS語音應用程序開發前要作一些軟件和硬件的準備:

1)      http://www.microsoft.com/speech/下載Microsoft Speech SDK 5.1或其它版本SDK,并且安裝到自己的機器上。

2)      Microsoft VC++ 6.0 service pack 3 或更新的版本。

3)      聲卡和喇叭

4)      要實現該SDK的全部功能,則去http://www.microsoft.com/msdownload/platformsdk下載新的Platform SDK

另外要注意的是SAPI 5.1不支持windows 95

4.在應用程序中實現TTS功能

微軟SAPI 5.1實現text-to-speech的核心是對COM接口IspVoice的應用,所以應用TTS技術最好要了解一下COM編程技術,但是即使從來沒有用過COM編程,只要按照SDK的示例,也可以順利的實現TTS的功能。

SAPI API接口封裝得很好,我們不需要了解任何發聲引擎底層的工作細節。例如一旦在程序中創建了一個IspVoice對象,就可以通過調用ISpVoice::Speak實現文本朗讀,通過調用ISpVoice::SetRate實現對朗讀速度的控制,以及通過調用ISpVoice::SetVoice實現對朗讀聲音的不同人物或語言控制(男聲/女生,中文/英文)等。事實上掌握對這個接口的應用就可以實現大多數TTS的應用。

在下面介紹的程序中,用VC++6.0實現了Text-to-Speech的應用。

1)創建一個工程

建立一個工程,Projects選項卡中選擇MFC AppWizard (exe);下一步中選擇Dialog based類型。

2 設置SAPI路徑

  應用TTS必須用到頭文件sapi.hsapi.lib,為了能編譯通過必須設置SAPI路徑:

a.       在選中tools菜單中的option子項。

b.       選中Directories選項卡。

c.       選中Show directries for列表框中選中include files項,并在Directories中添加sapi頭文件路徑:例如:"C:\Program Files\Microsoft Speech SDK 5.1\Include".

d.       選中Show directries for列表框中選中Library files項,并在Directories中添加sapi LIB文件路徑:例

3 設計程序界面

  添加如圖所示的編輯框和命令按鈕。

2  程序界面

4 添加代碼

  雙擊speak按鈕,添加朗讀代碼:

void CExe1Dlg::Onspeak()

{

   UpdateData();

 

    // 2) SAPI voice

ISpVoice * pVoice = NULL;

   

    // 1)初始化COM

    if (FAILED(CoInitialize(NULL)))

    {

        AfxMessageBox("Error to intiliaze COM");

        return;

    }

    //  2)初始化SAPI

    HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL,

        CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice);

    if( SUCCEEDED( hr ) )

{  

// 3)朗讀編輯框中的文字

    hr = pVoice->Speak(m_mytext.AllocSysString(), 0, NULL);

        //完成發聲后可以將聲音對象釋放

        pVoice->Release();

        pVoice = NULL;

    }

   

//  1)與CoInitialize(NULL)成對使用,釋放COM

    CoUninitialize();

}

注:m_mytext是編輯框的變量名。

以上的代碼中主要做了幾件TTS最基本的事情:

1)      初始化COM ,因為SAPI是基于COM的應用,使用之前必須首先初始化COM

2)      創建voice對象,即一個COM對象。

3)      實現朗讀,即調用speak方法。

另外必須把頭文件sapi.h加到前面:

#include <sapi.h>

編譯通過后就可以運行程序了,在編輯框中輸入一段文字,按speak按鈕,我們就能聽到電腦讀出的令人興奮的聲音了。

   MicrosoftTTS引擎提供了4種朗讀文字的聲音,其中三種英文聲音:Mary(女),mikesam(男)一種中文聲音:simplyfied Chinese。因為默認的TTS引擎是英文發聲,如果要想朗讀中文或選擇不同的人進行朗讀,可以在朗讀前調用ISpVoice::SetVoice方法進行聲音的設定,或者在朗讀前雙擊用控制面板中的語音圖標(安裝Microsoft Speech SDK后自動添加的),選擇文字-語音轉換選項卡進行默認聲音的設置。

 

如:"C:\Program Files\Microsoft Speech SDK 5.1\Lib\i386".

5.結束語

SPAI 5.1不僅適合用VC++進行開發,還可以用VB、c#等進行開發,具體方法可以參考SDK幫助文檔。結合windows程序設計的其它技術,只要取得文本的內容,就可以實現對對word、IE、電子郵件等各種文字的朗讀。

本人利用windows API剪貼板操作函數和模擬鍵盤的方法在朗讀程序中實現了對任意文本內容的獲取,包括IE、WORD、PDF等所有可以被鼠標選中的文本。另還外利用中英文內碼的不同對所取得的文本進行中英文分析并按不同的語言分段,在朗讀前利用ISpVoice::SetVoice方法進行中文或英文聲音的設定,從而實現了中英文混合文本的朗讀。合成這些方法和技術實現了一個電腦播音軟件。

此外Microsoft Speech SDK 5.1的語音識別技術和語音識別引擎功能也很強大,可以用它開發具有語音識別功能的程序。

      

參考文獻:

[1] Microsoft Corporation. MSDN  Library  Microsoft Corporation2001-10

[2] Microsoft Corporation. Microsoft Speech SDK  SAPI 5.1  Microsoft Corporation2001

[3]Jagadish.G .  Using Text  to Voice Interfaces [EB/OL]. http://www.codeproject.com/audio/SpeakText.asp, 2002-09

[4]Agus Kurniawan. Simple Program for Text to Speech Using SAPI [EB/OL]. http://www.codeproject.com/audio/speech.asp ,2001-11

posted on 2009-08-29 07:11 逛奔的蝸牛 閱讀(3227) 評論(0)  編輯 收藏 引用 所屬分類: Qt
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            免费日韩成人| 欧美一区二区三区日韩| 国产日韩视频一区二区三区| 亚洲一区免费| 免费在线视频一区| 在线亚洲高清视频| 国产一区二区三区高清播放| 欧美理论在线播放| 亚洲一二区在线| 一区二区三区产品免费精品久久75 | 欧美一进一出视频| 亚洲精品免费观看| 亚洲深爱激情| 一本久久综合亚洲鲁鲁五月天| 国产精品xxxxx| 欧美片在线观看| 欧美日韩成人综合天天影院| 亚洲性感激情| 久久夜色精品| 久久久久久久久综合| 欧美亚洲尤物久久| 亚洲在线一区二区| 欧美在线视频免费| 亚洲视频在线观看免费| 亚洲精品麻豆| 久久九九国产精品| 亚洲欧美日韩国产精品 | 久久人人九九| 欧美日韩精品伦理作品在线免费观看| 欧美体内she精视频| 亚洲国产精品久久精品怡红院| 欧美一区激情视频在线观看| 91久久久在线| 欧美日本三级| 一区二区三区成人精品| 欧美成人a∨高清免费观看| 亚洲在线国产日韩欧美| 性色av一区二区三区在线观看| 免费亚洲视频| 久久精品国产亚洲一区二区三区 | 欧美日本国产视频| 亚洲国产精品va在线观看黑人| 亚洲国产一区二区三区a毛片| 久久久www免费人成黑人精品| 亚洲黑丝在线| 欧美精品日本| 亚洲一区二区三区四区五区黄| 91久久久久久国产精品| 欧美精品国产精品| 一本大道久久a久久综合婷婷 | 伊人精品久久久久7777| 久久先锋影音| 裸体歌舞表演一区二区| 亚洲理论在线| 一区二区三区日韩欧美| 国产精品成人一区二区艾草| 欧美一区二区成人| 久久久久久色| 亚洲视频大全| 久久国产成人| 在线亚洲精品| 欧美一级成年大片在线观看| 伊人成综合网伊人222| 999在线观看精品免费不卡网站| 欧美亚州一区二区三区| 欧美一区久久| 久久深夜福利免费观看| 午夜视频一区在线观看| 午夜天堂精品久久久久| 亚洲国产毛片完整版| 欧美一区二区高清| 一本久久知道综合久久| 亚洲一区二区三区高清| 久久久久亚洲综合| 亚洲午夜羞羞片| 欧美日韩成人综合在线一区二区| 午夜天堂精品久久久久| 欧美电影免费观看高清| 欧美成人乱码一区二区三区| 亚洲大片av| 欧美激情国产日韩精品一区18| 欧美精品一区二区三区在线播放| 欧美韩日精品| 亚洲一区二区精品| 国产精品欧美久久| 亚洲男女毛片无遮挡| 欧美一区二区免费视频| 国产一区导航| 久久九九国产精品怡红院| 蘑菇福利视频一区播放| 亚洲日本成人| 国产日韩av一区二区| 欧美高清不卡在线| 99在线|亚洲一区二区| 久久婷婷国产麻豆91天堂| 亚洲人成在线观看网站高清| 欧美日韩久久| 久久se精品一区二区| 亚洲国产婷婷综合在线精品 | 黄色工厂这里只有精品| 久久xxxx| 亚洲一区二区三区在线视频| 久久视频免费观看| 亚洲视频高清| 一本色道久久综合亚洲91| 在线观看日韩av电影| 国产精品视频福利| 午夜精品亚洲一区二区三区嫩草| 午夜电影亚洲| 欧美视频在线不卡| 欧美日韩中文字幕精品| 欧美精品福利| 亚洲视频视频在线| 性高湖久久久久久久久| 亚洲日本欧美在线| 午夜精品久久久久久久男人的天堂| 国产原创一区二区| 99精品国产在热久久婷婷| 激情视频亚洲| 正在播放日韩| 亚洲精品中文字幕女同| 久久国产欧美日韩精品| 亚洲免费小视频| 欧美国产日韩精品免费观看| 久久嫩草精品久久久精品| 国产精品大片wwwwww| 亚洲激情在线播放| 禁断一区二区三区在线| 午夜精品久久99蜜桃的功能介绍| 夜夜夜久久久| 欧美日韩国产黄| 亚洲国产精品视频| 在线看欧美视频| 欧美在线电影| 久久久国际精品| 国产精品视区| 亚洲图片你懂的| 亚洲小说区图片区| 欧美日韩第一区| 亚洲精选一区二区| 一区二区欧美日韩| 欧美视频专区一二在线观看| 亚洲精品色婷婷福利天堂| 亚洲精品中文字幕在线| 欧美人成网站| 夜夜嗨av一区二区三区中文字幕| 日韩视频永久免费观看| 欧美激情精品久久久久久黑人| 欧美成人一品| 亚洲日本成人网| 欧美日韩a区| 99国内精品久久| 性色av一区二区三区红粉影视| 国产欧美精品日韩精品| 欧美一区二区日韩一区二区| 久久天堂av综合合色| 亚洲国产精品尤物yw在线观看| 美女精品在线观看| 亚洲欧洲日本国产| 亚洲男人天堂2024| 国产亚洲欧美一区| 麻豆免费精品视频| 99热在线精品观看| 欧美在线免费观看亚洲| 精品不卡一区| 欧美—级a级欧美特级ar全黄| 日韩一级在线| 久久大逼视频| 亚洲黄网站在线观看| 欧美破处大片在线视频| 亚洲欧美日韩在线不卡| 毛片基地黄久久久久久天堂| 亚洲精品在线二区| 国产精品久久久久久妇女6080 | 久久久久欧美| 亚洲国产欧美一区二区三区久久| 欧美电影免费| 亚洲欧美电影院| 欧美激情国产日韩| 亚洲欧美日韩一区在线观看| 狠狠干狠狠久久| 国产精品videosex极品| 亚洲专区欧美专区| 亚洲成色777777女色窝| 亚洲欧美成人一区二区三区| 又紧又大又爽精品一区二区| 欧美精品一区二| 性欧美精品高清| 亚洲欧洲日韩在线| 久久激情网站| 日韩视频国产视频| 激情欧美日韩一区| 国产精品美腿一区在线看 | 亚洲欧美综合网| 91久久精品日日躁夜夜躁欧美 | 久久精品国产亚洲高清剧情介绍 | 久久九九99| 亚洲午夜一区二区| 91久久精品国产91久久性色| 国产色婷婷国产综合在线理论片a|