網(wǎng)上有很多關(guān)于pos機(jī)語音宣傳,用微軟speech語音合成技術(shù)開發(fā)TTS工具的知識(shí),也有很多人為大家解答關(guān)于pos機(jī)語音宣傳的問題,今天pos機(jī)之家(www.mxllmx.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來看下吧!
本文目錄一覽:
pos機(jī)語音宣傳
TTS是Text To Speech的縮寫,即“從文本到語音”,是人機(jī)對(duì)話的一部分。
最近因?yàn)橐粋€(gè)項(xiàng)目,需要將一些文本轉(zhuǎn)換為語音,所以就有了這么一個(gè)小工具。基于微軟speech語音合成技術(shù)。SDK可以去微軟官網(wǎng)下載。
有需要的可以參考實(shí)現(xiàn)以下。
初始化接口
ISpVoice* m_pISPVoice;HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void**)&m_pISPVoice);if (FAILED(hr)) {AfxMessageBox(_T("TTS引擎初始化失敗!"));return -1;}
閱讀故事代碼:
int CTalkStoryDlg::MSSSpeak(LPCTSTR speakContent){if (m_pISPVoice == NULL) {return -1;}int speed = m_ctrlSliderSpeed.GetPos(); m_pISPVoice->SetRate(speed); //設(shè)置速度,范圍是 -10 - 10int volume = m_ctrlSliderVolume.GetPos();m_pISPVoice->SetVolume((USHORT)volume); //設(shè)置音量,范圍是 0 -100HRESULT hr = m_pISPVoice->Speak(speakContent, SPF_ASYNC, NULL);if (FAILED(hr)) {return -1;}return 0;}
將語音保存到WAV文件
int CTalkStoryDlg::MSSGetMp3(LPCTSTR speakContent){ISpVoice* pVoice = NULL;HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void**)&pVoice);if (FAILED(hr)) {return -1;}if (pVoice != NULL) {CComPtr <ISpStream> cpWavStream;CComPtr <ISpStreamFormat> cpOldStream;CSpStreamFormat originalFmt;pVoice->GetOutputStream(&cpOldStream);originalFmt.AssignFormat(cpOldStream);HRESULT hr = SPBindToFile(m_strOutputWavFile, SPFM_CREATE_ALWAYS, &cpWavStream,&originalFmt.FormatId(), originalFmt.WaveFormatExPtr());if (SUCCEEDED(hr)) {int speed = m_ctrlSliderSpeed.GetPos();pVoice->SetRate(speed); //設(shè)置速度,范圍是 -10 - 10int volume = m_ctrlSliderVolume.GetPos();pVoice->SetVolume((USHORT)volume); //設(shè)置音量,范圍是 0 -100pVoice->SetOutput(cpWavStream, TRUE);pVoice->Speak(speakContent, SPF_IS_XML, NULL);pVoice->Release();pVoice = NULL;return 0;}}return -1;}
計(jì)算機(jī)基礎(chǔ)知識(shí)學(xué)習(xí)建議:
一、計(jì)算機(jī)網(wǎng)絡(luò)在我們用的程序中,99% 都離不開網(wǎng)絡(luò),作為一個(gè)程序員,我覺得了解計(jì)算機(jī)網(wǎng)絡(luò)是必須的,在大學(xué)的課程中,一般也都會(huì)開設(shè)這一門課。
在我學(xué)習(xí)這門課之前,我就特別好奇,一臺(tái)電腦是怎么把消息發(fā)給另外一臺(tái)電腦的呢?例如:
1、兩臺(tái)電腦啥線路也沒有相連,怎么就能把消息發(fā)送給他呢?
2、世界上的電腦那么多,咋就能找到那臺(tái)特點(diǎn)的電腦呢?有人說我們可以 MAC 或者 IP 來唯一標(biāo)識(shí)啊,可是,我就有點(diǎn)疑惑了,世界那么大,電腦那么多,有了這個(gè)標(biāo)識(shí),我們?cè)撛趺凑业剿兀勘闅v所有電腦?
3、多個(gè)程序同時(shí)發(fā)消息給一臺(tái)電腦,電腦是如何準(zhǔn)確把這些消息拿給這些不同程序的呢?
4、發(fā)送的消息丟失了怎么辦?
總之,一大堆疑問,看了計(jì)算機(jī)網(wǎng)絡(luò)之后,才豁然開朗。自己也寫了一篇評(píng)價(jià)不錯(cuò)的文章:一文讀懂一臺(tái)計(jì)算機(jī)是如何把數(shù)據(jù)發(fā)送給另一臺(tái)計(jì)算機(jī)的
所以這里,我是強(qiáng)烈建議大家學(xué)一下的,在面試中,計(jì)算機(jī)網(wǎng)絡(luò)也是高頻考點(diǎn),這里我大致總結(jié)一下一些必學(xué)協(xié)議以及面試高頻考點(diǎn):
1、http協(xié)議,包括:封裝格式,常見響應(yīng)碼,不同版本的區(qū)別,常見請(qǐng)求方法,存在哪些安全隱患,啥是無狀態(tài)協(xié)議等。
2、https協(xié)議:http 是明文傳輸,https 是加密安全的,需要知道 https 是如何加密的、數(shù)字證書如何形成,啥的對(duì)稱加密、非對(duì)稱加密。
3、TCP協(xié)議:三次握手、四次揮手、如何保證可靠傳輸、流量控制、擁塞控制。
4、UDP:這個(gè)大致了解即可,好像內(nèi)容比較少
5、DNS、ICMP、ARP、DHCP(我就不一個(gè)一個(gè)寫了)
上面寫的這些協(xié)議,我覺得是比較重要的,特別是在面試中。
對(duì)于新手推薦視頻:可以看韓老師講的視頻,在嗶哩嗶哩搜索韓老師就可以找到,韓老師講搞笑《計(jì)算機(jī)網(wǎng)絡(luò)原理》。
推薦書籍:《計(jì)算機(jī)網(wǎng)絡(luò):自頂向下》、《圖解http》
二、操作系統(tǒng)操作系統(tǒng)也是一門非常重要的知識(shí),在面試中也是問的非常多(當(dāng)然,看公司,有些公司技術(shù)棧是 Java 的,可能問的比較少)。對(duì)于操作系統(tǒng),要學(xué)的也挺多,例如:
啥是進(jìn)程,啥是線程,他們的本質(zhì)區(qū)別?我們運(yùn)行一個(gè)程序時(shí),數(shù)據(jù)放在哪里?代碼放在哪里?咋就還要分堆和棧?線程切換時(shí)是上下文是啥意思?
虛擬地址是什么鬼東西?線程需要那么多種狀態(tài)干啥子?什么是樂觀鎖、悲觀鎖?死鎖是怎么造成的?解決死鎖的策略有哪些?等等
有人說學(xué)操作系統(tǒng)太***枯燥了,確實(shí)挺枯燥,不過說實(shí)話,我還是學(xué)的挺有意思的,感覺可以學(xué)到很多種策略,一種比一種好,每次看完都是:我去,咋我就想不到呢。我覺得,對(duì)于前期,我們需要多參考別人的策略,看多了,有了一定的基礎(chǔ),慢慢形成自己的策略,總之,看這些書,不單要掌握這些知識(shí)點(diǎn),更重要的是一種思維邏輯的提升
對(duì)于操作系統(tǒng),我總結(jié)了下面一些比較核心,面試相對(duì)容易被考到的。
1、進(jìn)程的通信方式(我寫過一篇很不錯(cuò)的文章:記一次面試:進(jìn)程之間究竟有哪些通信方式? ---- 告別死記硬背)
2、進(jìn)程、線程究竟是由什么組成的?有哪些數(shù)據(jù)?
3、內(nèi)存管理,包括:虛擬內(nèi)存(重點(diǎn))、分頁、分段、分頁系統(tǒng)地址映射、內(nèi)存置換算法(重點(diǎn))。
4、死鎖的處理策略(死鎖預(yù)防、死鎖檢測(cè)與恢復(fù)、死鎖避免)
5、進(jìn)程調(diào)度算法
6、磁盤尋道算法
上面說的這些,我認(rèn)為是比較重要的,如果你沒學(xué)過,我相信學(xué)了之后,你可以學(xué)到很多東西,知識(shí)點(diǎn)只是其中之一。
推薦視頻:這個(gè)我沒看過視頻,所以想學(xué)的,我推薦去中國mooc大學(xué)找各大高校的課,也可以去國外找對(duì)應(yīng)的課。
推薦書籍:我看過的書籍是《操作系統(tǒng)—精髓與設(shè)計(jì)原理(第八版)》,不過大佬們都推薦《深入理解計(jì)算機(jī)操作系統(tǒng)(原書第三版)》,我看過目錄,感覺還不錯(cuò),這里也推薦這一本。不過對(duì)于零基礎(chǔ)的,我建議可以先看一本專門給小白看的書:《程序是如何跑起來的》。
操作系統(tǒng)的學(xué)習(xí),還是挺枯燥的,不過,只有把最難的啃過去,才能變的更加強(qiáng)大。
三、數(shù)據(jù)庫(這里我用 MySQL)在大學(xué)的課程里,一般都會(huì)開設(shè)一門數(shù)據(jù)庫的課程,不過這門數(shù)據(jù)庫是沒有針對(duì)某一種數(shù)據(jù)庫語言的(例如 Mysql、Oracle)。不過我這里只講 MySQL的學(xué)習(xí),別問為什么,問就是我逃了二十分之十九的課。
把MySQL學(xué)好,還是特別重要的,千萬不能停留在會(huì)用的層面上,而是應(yīng)該要了解一下原理,特別是對(duì)于要面試的同學(xué),會(huì)問挺多原理,我每次被問到 MySQL 我都會(huì)信心大增,因?yàn)槲译m然不大好寫 SQL,但是,知道挺多原理,記得騰訊、shopee面試時(shí),面完 MySQL,面試官好像對(duì)我刮目相看了。好了,不吹了,說這些也是強(qiáng)大 MySQL 的重要性。下面就說我學(xué)過的一些知識(shí)以及推薦的學(xué)習(xí)資料吧。
對(duì)于 MySQL,需要學(xué)的還挺多的,例如,
1、一條 sql 語句是如何執(zhí)行的?進(jìn)行更新時(shí)又是怎么處理的?
2、索引是如何實(shí)現(xiàn)的?多種引擎的實(shí)現(xiàn)區(qū)別?聚族索引,非聚族索引,二級(jí)索引,唯一索引、最左匹配原則等等(非常重要)
3、事務(wù)相關(guān):例如事務(wù)的隔離是如何實(shí)現(xiàn)的?事務(wù)是如何保證原子性?不同的事務(wù)看到的數(shù)據(jù)怎么就不一樣了?難道每個(gè)事務(wù)都拷貝一份視圖?MVCC 的實(shí)現(xiàn)原理(重要)等等。
4、各種鎖相關(guān),例如表鎖,行鎖,間隙鎖,共享鎖,排他鎖。這些鎖的出現(xiàn)主要是用來解決哪些問題?(重要)
5、日志相關(guān):redolog,binlog,undolog,這些日志的實(shí)現(xiàn)原理,為了解決怎么問題?日志也是非常重要的吧,面試也問的挺多。
6、數(shù)據(jù)庫的主從備份、如何保證數(shù)據(jù)不丟失、如何保證高可用等等。
還有一些常用命令也要知道。
我覺得,只要你了解了以上的原理,那么對(duì)數(shù)據(jù)庫調(diào)優(yōu)的幫助是非常大的,上面除了第六點(diǎn),其他五點(diǎn),在應(yīng)屆生的面試中,極其高頻。
推薦書籍:連 sql 都不會(huì)寫的,推薦《SQL必知必會(huì)》,接著推薦《MySQL技術(shù)內(nèi)幕:InnoDB存儲(chǔ)引擎》。
四、數(shù)據(jù)結(jié)構(gòu)與算法數(shù)據(jù)結(jié)構(gòu)與算法,我就不想多說了,看我文章的都知道,我寫的文章 80% 是數(shù)據(jù)結(jié)構(gòu)與算法相關(guān)的,重要性不用說。我秋招最大的優(yōu)勢(shì)估計(jì)就是數(shù)據(jù)結(jié)構(gòu)與算法的掌握了。上面三門課程的學(xué)習(xí),基本也都是離不開數(shù)據(jù)結(jié)構(gòu)的,對(duì)于如何學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法,我覺得可以在寫一篇文章了,所以數(shù)據(jù)結(jié)構(gòu)與算法的學(xué)習(xí),我這里不寫了,可以關(guān)注我的文章,我明天會(huì)寫一篇與算法相關(guān)的。
論面試,我覺得操作系統(tǒng)+計(jì)算機(jī)網(wǎng)絡(luò)+數(shù)據(jù)庫 + 算法 這三個(gè)是問的最多的,所以我寫的比較詳細(xì),對(duì)于學(xué)習(xí)計(jì)算機(jī)基礎(chǔ),不為了面試的話,我覺得下面的也及其重要。我分出來說,是為了那些要急著面試的人,可以重點(diǎn)學(xué)習(xí)上面這四個(gè)。
五、匯編我覺得,如何有時(shí)間,學(xué)習(xí)下匯編是必須的,學(xué)習(xí)了匯編,能夠更好著幫助我們知道計(jì)算機(jī)是如何處理程序代碼的,例如寄存器和內(nèi)存是如何使用的?循環(huán)、函數(shù)調(diào)用、數(shù)組是如何實(shí)現(xiàn)的?地址是怎么一回事?等等。
很多二進(jìn)制代碼是可以反編譯成匯編的,如何你會(huì)匯編,那么可以幫助我們更好著去理解一些東西。所以這里建議大家學(xué)習(xí)下匯編,并且要?jiǎng)邮謱懸恍┏绦颉?/p>
對(duì)于匯編的資料,我可能沒啥好推薦的,自己看的不多??催^兩本書,對(duì)于入門的,我建議看 王爽的那本書《匯編語言(第三版)》,不過這本只適合入門,如果想繼續(xù),可以看《匯編程序設(shè)計(jì)》。
以上就是關(guān)于pos機(jī)語音宣傳,用微軟speech語音合成技術(shù)開發(fā)TTS工具的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于pos機(jī)語音宣傳的知識(shí),希望能夠幫助到大家!
