Snowboy Android Demo運行及喚醒詞訓練

安裝 Snowboy

clone代碼

git clone https://github.com/Kitt-AI/snowboy.git

查閱官方文檔

由于需要在Android上面調試低飒,所以我查看的是Android的文檔苦蒿,其他平臺也是有相應的Demo

snowboy-master\examples\Android\README.md

根據(jù)文檔指示驱证,先make一下

:~/source/workspace/snowboy-master/swig/Android$ make
/bin/sh: 1: swig: not found
expr: 語法錯誤
正克隆到 'OpenBLAS-Android-ARM32'...

swig not found

安裝swig

swig官網(wǎng)下載最新版本swig-3.0.12.tar.gz

解壓

sudo tar -xzvf swig-3.0.12.tar.gz  

編譯安裝

./configure --prefix=/usr/local/swig3.0.12  
make  
sudo make install 

環(huán)境變量配置

sudo vim /etc/profile

然后 按i進入編輯狀態(tài)

在最后添加
PATH=/usr/local/swig-3.0.12/bin:$PATH

按ESC退出編輯模式
shift+:進入命令模式阎曹,wq保存退出

swig執(zhí)行出錯

swig: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

安裝libpcre

sudo apt-get install libpcre3 libpcre3-dev  

如果安裝了仍然出錯度帮,需要查看共享庫信息

~$ ldd (which swig) 
/usr/local/swig3.0.12/bin/swig:
    linux-vdso.so.1 =>  (0x00007ffe75f4f000)
    libpcre.so.1 => not found
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007faa0bfdc000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007faa0bdc5000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faa0b9fc000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007faa0b6f6000)
    /lib64/ld-linux-x86-64.so.2 (0x00007faa0c2ef000)

可以看到是libpcre.so.1 => not found,為什么安裝了libpcre還找不到庫呢定鸟,應該是名字不同

所以而涉,需要找到libpcre.so的位置

$:find /lib -name libpcre*
/lib/x86_64-linux-gnu/libpcre.so.3
/lib/x86_64-linux-gnu/libpcre.so.3.13.1

ll 一下

lrwxrwxrwx 1 root root     17  4月 15  2016 libpcre.so.3 -> libpcre.so.3.13.1
-rw-r--r-- 1 root root 252032  4月 15  2016 libpcre.so.3.13.1

做一個鏈接指定名稱為libpcre.so.1

sudo ln -s libpcre.so.3.13.1 libpcre.so.1

回到Snowboy目錄,再次make

~/source/workspace/snowboy-master/swig/Android$ make
正克隆到 'OpenBLAS-Android-ARM32'...
remote: Counting objects: 33022, done.
remote: Compressing objects: 100% (18/18), done.
接收對象中:  13% (4293/33022), 2.07 MiB | 13.00 KiB/s 

等make完成后,會在當前目錄生成java代碼和庫文件


Snowboy-train-1.png

運行Demo工程

接下來就是運行Demo工程了联予,路徑++snowboy-master\examples\Android\SnowboyAlexaDemo++

按照官方文檔說明啼县,生成的文件是不需要拷貝到工程目錄的,因為做了軟鏈接的操作沸久,此處我直接用Android studio打開工程是編譯不過的季眷,因此,為了省事卷胯,我直接將工程中做了鏈接的文件替換掉

snowboy-master\swig\Android\jniLibs
     --->snowboy-master\examples\Android\SnowboyAlexaDemo\libs
snowboy-master\swig\Android\src
    --->snowboy-master\examples\Android\SnowboyAlexaDemo\src
snowboy-master\resources\common.res
    --->snowboy-master\examples\Android\SnowboyAlexaDemo\assets\
snowboy-master\resources\ding.wav
    ---> snowboy-master\examples\Android\SnowboyAlexaDemo\assets\
snowboy-master\resources\alexa\alexa-avs-sample-app\alexa.umdl
    ---> snowboy-master\examples\Android\SnowboyAlexaDemo\assets\

同時子刮,因為我將so庫放在了項目跟文件夾,所以需要修改build.gradle

android {
    ...
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
    ...
}

隨后運行窑睁,ok

Snowboy-train-2.png

替換喚醒詞

確保Demo應用OK后挺峡,我們就要替換成自己的喚醒詞了

Snowboy喚醒詞訓練

點擊Create Hotword 創(chuàng)建喚醒詞

Snowboy-train-3.png

步驟:

  1. 輸入喚醒詞名稱葵孤,選擇語言
  2. 上傳提前錄制好的音頻,也可以即時錄制音頻沙郭,需要三段佛呻,文件不能太大,wav格式
  3. 等待訓練結束后進入第三步測試病线,選擇錄音人的性別及年齡端吓著,點擊==Run the test==進行測試,如果喚醒不成功可以調節(jié)右邊的控制條送挑,待測試成功就可以保存及下載訓練好的模型了
Snowboy-train-4.png

訓練好的模型可以放到++snowboy-master\examples\Android\SnowboyAlexaDemo\assets++下面绑莺,替換掉原有的alexa.umdl

sensitivity的調節(jié)可以通過修改Demo中代碼實現(xiàn)

ai/kitt/snowboy/audio/RecordingThread.java

    public RecordingThread(Handler handler, AudioDataReceivedListener listener) {
        this.handler = handler;
        this.listener = listener;

        detector.SetSensitivity("0.6");// <-- modify this
        //-detector.SetAudioGain(1);
        detector.ApplyFrontend(true);
        try {
            player.setDataSource(strEnvWorkSpace+"ding.wav");
            player.prepare();
        } catch (IOException e) {
            Log.e(TAG, "Playing ding sound error", e);
        }
    }

注:

  • 此處只是一個初步的訓練,成功率肯定不會太高惕耕,需要提高喚醒成功率的話纺裁,只能增加樣本數(shù)量,而一個賬號對一個詞貌似只能添加三個樣本司澎,需要靠分享給其他人添加欺缘,略顯坑爹~
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市挤安,隨后出現(xiàn)的幾起案子谚殊,更是在濱河造成了極大的恐慌,老刑警劉巖蛤铜,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嫩絮,死亡現(xiàn)場離奇詭異,居然都是意外死亡围肥,警方通過查閱死者的電腦和手機剿干,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來穆刻,“玉大人置尔,你說我怎么就攤上這事∏馕埃” “怎么了撰洗?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長腐芍。 經(jīng)常有香客問我,道長试躏,這世上最難降的妖魔是什么猪勇? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮颠蕴,結果婚禮上泣刹,老公的妹妹穿的比我還像新娘助析。我一直安慰自己,他們只是感情好椅您,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布外冀。 她就那樣靜靜地躺著,像睡著了一般掀泳。 火紅的嫁衣襯著肌膚如雪雪隧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天员舵,我揣著相機與錄音脑沿,去河邊找鬼。 笑死马僻,一個胖子當著我的面吹牛庄拇,可吹牛的內容都是我干的。 我是一名探鬼主播韭邓,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼措近,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了女淑?” 一聲冷哼從身側響起瞭郑,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎诗力,沒想到半個月后凰浮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡苇本,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年袜茧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓣窄。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡笛厦,死狀恐怖,靈堂內的尸體忽然破棺而出俺夕,到底是詐尸還是另有隱情裳凸,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布劝贸,位于F島的核電站姨谷,受9級特大地震影響,放射性物質發(fā)生泄漏映九。R本人自食惡果不足惜梦湘,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捌议,春花似錦哼拔、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宫补,卻和暖如春檬姥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背守谓。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工穿铆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人斋荞。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓荞雏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親平酿。 傳聞我的和親對象是個殘疾皇子凤优,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,185評論 25 707
  • 今天下午一下子玩了八個小時,除去無聊的繁雜瑣事蜈彼,真正能提煉開心的精華游戲體驗最多一個小時筑辨。
    嘴巴吸允著檸檬閱讀 248評論 0 0
  • 秋天不是都該像石大那樣“滿城盡帶黃金甲”“一城煙草風飛絮”的壯觀嗎棍辕?而我之所見不過是伊犁奇怪又沒有你的秋。 秋末冬...
    木子安寧M閱讀 276評論 0 1
  • 每天都早起做飯还绘,也為了早點運動楚昭。喜歡的事就會想法把時間都往前趕。 闐闐在我出門時也起床了拍顷,說是要背會書抚太,八點鐘...
    麗萍在這閱讀 258評論 0 5
  • 昨天終于和約了很長時間的Paco大叔一起鍛煉了。為啥叫他大叔呢昔案,人已經(jīng)38歲了還是單身在學校讀研尿贫。今天倆人練完腿后...
    Auscarpolo閱讀 212評論 0 0