當前位置:編程學習大全網 - 編程語言 - 如何在node.js環境中使用oss javascript sdk來訪問oss服務

如何在node.js環境中使用oss javascript sdk來訪問oss服務

利用MicrosoftSpeechSDK5.1中的text-to-speech(TTS),采用C#作為開發語言,VisualStudio2005作為開發工具,實現了普通中英文混合文本的朗讀,和帶XML標記的文本的朗讀,並且可將朗讀出來的內容保存為文件。關鍵字SpeechSDK,TTS,text-to-speech,朗讀1.TTS概述隨著語音技術的發展,微軟也推出了相應的語音開發工具,即MicrosoftSpeechSDK,這個SDK中包含了語音應用設計接口(SAPI)、微軟的連續語音識別引擎(MCSR)以及微軟的語音合成(TTS)引擎等等。它其中的TTS(text-to-speech)引擎可以用於實現語音合成,我們通過TTS引擎可以分析文本內容並且將其朗讀出。實現TTS技術的方法有很多種,現在主要采用三種:連詞技術、語音合成技術、子字連接技術。目前的5.1版本的SDK壹***可以支持3種語言的識別(英語,漢語和日語)以及2種語言的合成(英語和漢語)。其中還包括對於低層控制和高度適應性的直接語音管理、訓練向導、事件、語法編譯、資源、語音識別(SR)管理以及TTS管理等強大的設計接口。2.實現原理以下是SpeechAPI的總體結構:從圖中我們可以看出語音引擎則通過DDI層(設備驅動接口)和SAPI(SpeechAPI)進行交互,應用程序通過API層和SAPI通信。通過使用這些API,用戶可以快速開發在語音識別或語音合成方面應用程序。應用程序使用ISpVoice接口來控制TTS,通過調用其中的Speak方法可以朗讀出文本內容,通過調用SetVoice/GetVoice方法(在.NET中已經轉變成Voice屬性)來獲取或設置朗讀的語音,而通過調用GetVolume/SetVolume、GetRate/SetRate等方法(在.NET中已經轉變成Volume和Rate屬性)來獲取或設置朗讀的音量和語速。功能強大之處在於TTS能識別XML標記,通過給文本加上XML標記,我們讓TTS朗讀出更加符合語言閱讀習慣的句子。3.軟件的開發3.1.開發環境的搭建由於MicrosoftSpeechSDK是以COM組件的形式提供給我們的,因此在使用.NET開發時必須引入Interop.SpeechLib.dll文件,如圖:在引入DLL文件後,我們就可以通過添加“usingSpeechLib;”引入命名空間,或直接使用SpeechLib前綴來使用SpeechLib空間下的所有類。3.2.二次封裝TTS類我們將使用Singleton設計模式來對TTS進行封裝,首先聲明壹個SpVoice接口,並用SpVoiceClass對象來實例化,這個接口是實現文本朗讀的核心。接著提供用於朗讀文本的方法3.3.實現中英文的混合朗讀如果我們直接調用SpVoice接口中Speak方法來朗讀文本,那麽在朗讀過程中,要麽使用英文朗讀引擎,要麽使用中文朗讀引擎,這樣就只能朗讀純英文文本或純中文文本。要怎樣才能朗讀混合的文本呢?第壹種方法,我們可以在朗讀過程中,根據文本的內容來切換朗讀所用的引擎,即調用SetChinaVoice()和SetEnglishVoice()方法。第二種方法,我們在朗讀文本之前,先分析文本,將屬於英文的句子加上英文語音XML標記,即,將屬於中文的句子加上中文語音XML標記,即。這樣調用SpeakXml方法就可以實現中英文混合朗讀。在這裏我選擇第二種方法,在類中增加靜態方法:AddXmlLangTag,返回添加過標記得文本內容。3.4.界面的實現在打開文件時,可以選擇打開文本文件(*.Txt)和XML文件(*.Xml),如果打開的是XML文件,將不對內容作任何修改,並且也不允許調節音量、語速、語調,因為這些都應該在XML文件中寫好;如果打開的是文本文件,則在朗讀前,會調用AddXmlLangTag方法給文本加上語言標記,調用AddXmlPitchTag方法給文本加上語調標記,同時也允許調節音量、語速、語調。4.總結通過為普通文本內容設置語音XML標記,並調用SpVoice接口的Speak方法,可以實現中英文文本的混合朗讀。如果要使朗讀的效果更佳,就必須手工為每壹個句子設置相應的XML標記,這樣可使朗讀更接近人性化。參考文獻1.MicrosoftSpeechSDK幫助(sapi.chm)2./speech/default.mspx

  • 上一篇:關於進壹步挖掘達州站運輸組織潛力的思考和建議:四川達州發展潛力大嗎
  • 下一篇:Obi編程和代碼編程
  • copyright 2024編程學習大全網