0x00 離線語音合成介紹
語音合成技術(text to speech,簡稱tts),是可以將文字轉換成語音檔案的技術。而且合成的語音檔案,可以根據不同場景需要而合成出不同音色、語速和語調的聲音,讓合成的語音就跟真人說話的聲音幾乎一樣。利用這項技術我們就可以讓我們的機械人、電腦、手機、音箱等各種電子裝置多了一種更為自然的方式來與人們進行互動。
現在我們大家接觸最多的語音合成技術,可能就是用高德導航的時候,它會通過語音給我們播報,指引我們到達目的地。當然還有一些其他應用場景,例如各種辦公大廳裡的叫號系統,機場、醫院的語音播報,很多基本上都是用這種語音合成技術來實現的。
在樹莓派上我們將sdk解壓,然後可以先瀏覽一下整個sdk的組成架構,方便我們後面修改:
修改好編譯指令碼後,接下來就是修改makefile檔案了。因為這裡gcc編譯選項需要修改,這裡在引用動態庫的路徑需要修改一下就可以了。主要就是修改13行的ldflags引數,修改後的makefile檔案如下:
1#common makefile header
23dir_inc = ../../include
4dir_bin = ../../bin
5dir_lib = ../../libs
67target = tts_offline_sample
8bin_target = $(dir_bin)/$(target)
910cross_compile =
11cflags = -g -wall -i$(dir_inc)
1213ldflags := -l$(dir_lib)/
14ldflags += -lmsc -lrt -ldl -lpthread -lstdc++
1516objects := $(patsubst %.c,%.o,$(wildcard *.c))
1718$(bin_target) : $(objects)
19 $(cross_compile)gcc $(cflags) $^ -o $@ $(ldflags)
2021%.o : %.c
22 $(cross_compile)gcc -c $(cflags) $
23clean:
24 @rm -f *.o $(bin_target)
2526.phony:clean
2728#common makefile foot
做好一切準備後,接下來就可以來編譯sample**了。編譯就是執行make.sh指令碼即可,生成的執行檔案是在bin目錄下:
我們可以嘗試安裝gcc編譯警告提示來修改一些tts_offline_sample.c原始碼,就是在最開始包含標頭檔案地方,新增乙個#include ,然後再編譯看看效果:
重新編譯
離線語音合成效果演示
其實這裡修改的**很簡單,就是把main()函式中修改了一下。首先判斷一下在執行程式的時候,是否有帶引數。接下來就是在text_to_speech()函式中,第乙個引數為要合成的文字,直接用ar**[1]引數。
科大訊飛離線語音合成自定義文字效果演示
增加合成的音效
[1].離線語音合成linux sdk文件.
[2].離線語音合成產品.
[3].qtts.**件參考.
[4].msp_cmn.**件參考.
科大訊飛和Tizen TTS語音合成引擎
最近在做乙個文字轉語音tts text to speech 的第三方軟體封裝,使用的是國內語音技術龍頭安徽科大訊飛公司提供的離線引擎aisound5.0,主要用於汽車導航用途。科大訊飛還提供了aitalk用於語音識別,aiwrite用於手寫識別服務等。另外還有針對6種平台的sdk和開發示例。一 科大...
整合科大訊飛TTS 離線語音合成服務
背景 最近機械人專案需要整合科大訊飛tts服務,遇到各種坑。本人開發過程中,個人理解,以上錯誤的根本原因就是找不到引擎,明明已經放置了離線demo中的所有msc引擎,為什麼找不到。根本原因還是因為給的離線語音合成中的sdk中的msc.so檔案是錯誤的,專案執行時候,找到了msc,但是發現msc不是自...
iOS篇 使用科大訊飛SDK整合語音合成和識別
訊飛開發步驟 1.申請賬號 5.語音識別 iflyspeechutility createutility initstring 3 建立有介面提示的語音識別物件建立乙個訊飛語音識別物件,可以對他進行一系列的呼叫 property nonatomic,strong iflyrecognizerview...