国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

GEC6818科大訊飛離線語(yǔ)音識(shí)別

這篇具有很好參考價(jià)值的文章主要介紹了GEC6818科大訊飛離線語(yǔ)音識(shí)別。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

GEC6818科大訊飛離線語(yǔ)音識(shí)別

一、 下載科大訊飛離線語(yǔ)音SDK

在下載SDK時(shí)需要注意選擇Linux的版本??!

GEC6818科大訊飛離線語(yǔ)音識(shí)別,GEC6818,語(yǔ)音識(shí)別,人工智能,GEC6818,嵌入式硬件,單片機(jī),學(xué)習(xí),粵嵌

在官網(wǎng)下載離線語(yǔ)音的包,解壓后可以得到下面的一些文件夾:

GEC6818科大訊飛離線語(yǔ)音識(shí)別,GEC6818,語(yǔ)音識(shí)別,人工智能,GEC6818,嵌入式硬件,單片機(jī),學(xué)習(xí),粵嵌

二、 解壓文件夾后

解壓后你需要知道自己命令放在下面的文件夾中
GEC6818科大訊飛離線語(yǔ)音識(shí)別,GEC6818,語(yǔ)音識(shí)別,人工智能,GEC6818,嵌入式硬件,單片機(jī),學(xué)習(xí),粵嵌

關(guān)于Make file文件:
GEC6818科大訊飛離線語(yǔ)音識(shí)別,GEC6818,語(yǔ)音識(shí)別,人工智能,GEC6818,嵌入式硬件,單片機(jī),學(xué)習(xí),粵嵌

關(guān)于asr_offline_sample.c文件:
GEC6818科大訊飛離線語(yǔ)音識(shí)別,GEC6818,語(yǔ)音識(shí)別,人工智能,GEC6818,嵌入式硬件,單片機(jī),學(xué)習(xí),粵嵌

asr_offline_sample.c文件是我們更改為自己的邏輯的文件,但是也不需要都了解清楚只要會(huì)改就行。

更改完asr_offline_sample.c文件后,在ubantu里面運(yùn)行makefile文件后會(huì)有一些警告,這些都是定義的問題,可以不用管,但是在./asr_offline_sample運(yùn)行的時(shí)候會(huì)報(bào)錯(cuò)找不到庫(kù),所以我們需要將資料包里面文件復(fù)制到lib目錄下,具體如下:
需要移動(dòng)的文件:
GEC6818科大訊飛離線語(yǔ)音識(shí)別,GEC6818,語(yǔ)音識(shí)別,人工智能,GEC6818,嵌入式硬件,單片機(jī),學(xué)習(xí),粵嵌

執(zhí)行命令:

cp ./libmsc.so /lib

注意前面的`./libmsc.so`是相對(duì)路徑,可以根據(jù)自己的當(dāng)前路徑進(jìn)行更改,后面是移動(dòng)到根目錄下的lib目錄下。

然后再執(zhí)行就不會(huì)報(bào)錯(cuò)了。

三、與GEC6818開發(fā)板一起使用

3.1 使用科大訊飛的離線語(yǔ)音在ubantu中運(yùn)行,作為服務(wù)端進(jìn)行關(guān)鍵字的識(shí)別

需要更改的重要的兩個(gè)文件就是bin/call.bnfsamples/asr_offine_sample/asr_offine_sample.c.這兩個(gè)文件,第一個(gè)文件是修改我們需要識(shí)別的字眼,第二個(gè)文件是C 語(yǔ)言代碼,可以在官方的基礎(chǔ)上修改為自己所需要的邏輯

3.2 call.bnf–>hehe.bnf

我自己將官方自帶的call.bnf復(fù)制了一份修改名字為hehe.bnf,在新的基礎(chǔ)上進(jìn)行的修改,更改了這個(gè)文件后,需要在后面的例程中的.c文件中修改這個(gè)文件。

例如:
GEC6818科大訊飛離線語(yǔ)音識(shí)別,GEC6818,語(yǔ)音識(shí)別,人工智能,GEC6818,嵌入式硬件,單片機(jī),學(xué)習(xí),粵嵌

注意我們這里使用對(duì)應(yīng)的ID是非常重要的,因?yàn)槲液蠛罄m(xù)進(jìn)行語(yǔ)音識(shí)別后就是根據(jù)這個(gè)ID來(lái)判斷識(shí)別到的內(nèi)容,然后在執(zhí)行相應(yīng)的操作。

3.3 asr_offine_sample.c文件修改

上面有提到過的修改了離線語(yǔ)法文件后在.c文件中也需要修改相應(yīng)的文件名
GEC6818科大訊飛離線語(yǔ)音識(shí)別,GEC6818,語(yǔ)音識(shí)別,人工智能,GEC6818,嵌入式硬件,單片機(jī),學(xué)習(xí),粵嵌

修改后的代碼–當(dāng)然也可以不用這樣大幅度的修改,只是將官方的代碼進(jìn)行了規(guī)整。

//服務(wù)器
#include <stdio.h>
#include <sys/types.h>          /* See NOTES */
#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#include "asr_offline_sample.h" //科大訊飛


//全局的套接字
int sockfd = -1;


//將套接字創(chuàng)建好  并且綁定 監(jiān)聽
//將ip地址和端口號(hào)傳進(jìn)來(lái) 端口號(hào)釋放需要時(shí)間(輪詢機(jī)制)
void TcpInit(const char * ipaddr,unsigned short port)
{
    //1 創(chuàng)建套接字 ---- 神馬都是文件,因此你的網(wǎng)絡(luò)通信也是一個(gè)文件
    sockfd = socket(AF_INET,SOCK_STREAM,0);
    if(-1 == sockfd)
    {
        perror("server socket error");
        exit(1);//沒有必要運(yùn)行了
    }
    //2 我們需要將服務(wù)器的IP地址綁定到套接字
    struct sockaddr_in sa;
    sa.sin_family = AF_INET;//協(xié)議族
    sa.sin_port = htons(port);//端口號(hào)  內(nèi)存是小端的 我們要轉(zhuǎn)大端
    sa.sin_addr.s_addr = inet_addr(ipaddr);//將我們點(diǎn)分式的ip地址轉(zhuǎn)換為一個(gè)大端整數(shù)
    //printf("ipaddr = %x port = %x\n",inet_addr(ipaddr),htons(port));
    int r = bind(sockfd,(struct sockaddr *)&sa,sizeof(sa));
    if(-1 == r)
    {
        perror("server bind error");
        exit(2);//沒有必要運(yùn)行了
    }

    //3 監(jiān)聽連接 ---- 創(chuàng)建一個(gè)監(jiān)聽隊(duì)列   建立5個(gè)10個(gè)可以了
    listen(sockfd,5);

}

//接收客戶端發(fā)過來(lái)的文件內(nèi)容
void SaveFile(int accceptfd,int filesize)
{
 //每一次都是重復(fù)的覆蓋hehe.pcm
 int fd = open("wav/hehe.pcm",O_RDWR | O_TRUNC|O_CREAT,0644);//截短這個(gè)文件
 if(-1 == fd)
 {
  send(accceptfd,"error!!!",9,0);//失敗發(fā)送這個(gè)錯(cuò)誤
  return;
 }
 send(accceptfd,"next!!!!",9,0);//發(fā)送下一步的指令
 unsigned char buf[1024] = {0};
 int size = 0;
 //接收文件的內(nèi)容
 while(1)  
 {
  int r = recv(accceptfd,buf,1024,0);
  if(-1 == r)
        {
            perror("recv error");
            break;
        }
        else if(0 == r)//客戶端已經(jīng)斷了
        {
            printf("對(duì)方斷開連接了\n");
            break;
        }
        else//接收到信息了
        {
            //將文件的內(nèi)容寫入到文件
   write(fd,buf,r);
   //做完之后要退出
   size += r;
   if(size >= filesize)
    break;
   
        }
 }
 
 
 
 
 close(fd);
}


//專門用于去服務(wù)一個(gè)客戶的線程
void * ClinetFunction(void * arg)
{
    
    pthread_detach(pthread_self());//將其分離

    int * accceptfd = (int *)arg;
    printf(" * accceptfd = %d\n", * accceptfd);
 int filesize = 0;
    //你發(fā)什么信息過來(lái)  我就在這個(gè)信息之前加上一節(jié) 然后回發(fā)給你
    while(1)
    {
  printf("\t\t等待客戶端傳文件過來(lái)........\n");
        int r = recv(*accceptfd,&filesize,4,0);//阻塞等待數(shù)據(jù)過來(lái)
        if(-1 == r)
        {
            perror("recv error");
            break;
        }
        else if(0 == r)//客戶端已經(jīng)斷了
        {
            printf("對(duì)方斷開連接了\n");
            break;
        }
        else//接收到信息了
        {
            //文件大小
   
   SaveFile(* accceptfd,filesize);
   
   int id = GetFlayId();//文件接收完畢  那么我們就放過去識(shí)別即可
   //給客戶端返回id
   send(* accceptfd,&id,4,0);
            
        }
    }
    close(*accceptfd);
    free(accceptfd);
 return NULL;
}

//等待客戶端的連接 
void waitconnect(void)
{
    //我們要基于這個(gè)連接套接字去通信
    struct sockaddr_in sa;
    socklen_t addrlen = sizeof(sa);
    while(1)
    {
        printf("一直等待對(duì)方的連接.......\n");
        int * accceptfd = malloc(4);//避免釋放 因此我們要?jiǎng)討B(tài)內(nèi)存分配才可以
        *accceptfd = accept(sockfd,(struct sockaddr *)&sa,&addrlen);
        printf("連接者為:%s %d\n",inet_ntoa(sa.sin_addr),ntohs(sa.sin_port));
        //開一個(gè)線程出去  讓它去服務(wù)與我的連接
        pthread_t thread;
        if(pthread_create(&thread,NULL,ClinetFunction,(void *)accceptfd) != 0)
        {
            perror("create thread error");
            continue;
        }
    }
    
    close(sockfd);
}

//通過main函數(shù)的參數(shù) 我們將這個(gè)ip地址和端口給進(jìn)去
//./a.out 192.168.31.251 8888
int main(int argc,char * argv[])
{
    if(argc < 3)
    {
        printf("參數(shù)都不齊\n");
        return -1;
    }
 
 //初始化科大訊飛的庫(kù)
 FlayInit();
 
 
    TcpInit(argv[1],atoi(argv[2]));

    waitconnect();

    return 0;
}

完整的工程大家可以在我的gitee上進(jìn)行下載
下載地址:GEC6818智能語(yǔ)音家居系統(tǒng)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-797178.html

到了這里,關(guān)于GEC6818科大訊飛離線語(yǔ)音識(shí)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • C#調(diào)用科大訊飛離線語(yǔ)音合成實(shí)現(xiàn)文本轉(zhuǎn)語(yǔ)音

    C#調(diào)用科大訊飛離線語(yǔ)音合成實(shí)現(xiàn)文本轉(zhuǎn)語(yǔ)音

    文本轉(zhuǎn)語(yǔ)音(Text To Speech),簡(jiǎn)稱TTS,在很多業(yè)務(wù)場(chǎng)景會(huì)用到,比如廣播大廳,人機(jī)互動(dòng)等。C#要實(shí)現(xiàn)TTS有不少選擇,比如調(diào)用System.Speech,此處就不細(xì)說(shuō)了,下面主要介紹一下C#調(diào)用科大訊飛的離線語(yǔ)音合成SDK來(lái)實(shí)現(xiàn)文本轉(zhuǎn)語(yǔ)音。 地址:[https://www.xfyun.cn/service/offline_tts] 一、創(chuàng)建

    2024年02月12日
    瀏覽(18)
  • 科大訊飛 新版AIkit 離線語(yǔ)音聽寫 Java 版本

    科大訊飛 新版AIkit 離線語(yǔ)音聽寫 Java 版本

    前言:科大訊飛的新版離線語(yǔ)音聽寫,由于官網(wǎng)demo是kt語(yǔ)言開發(fā)的,咱也看不懂kt,搜遍了全網(wǎng)也沒看到一個(gè)java版的新版離線語(yǔ)音demo,現(xiàn)記錄下,留給有緣人參考?。。。?!畢竟咱在這上面遇到了不少的坑。如果能留言指正,那就更好了。 實(shí)測(cè)一點(diǎn)問題都沒 一、先把官網(wǎng)

    2024年02月22日
    瀏覽(22)
  • vue使用科大訊飛的語(yǔ)音識(shí)別(語(yǔ)音聽寫)

    vue使用科大訊飛的語(yǔ)音識(shí)別(語(yǔ)音聽寫)

    使用的是封裝好的插件:voice-input-button2 真的很好使很好使 1、先使用npm下載插件 npm i voice-input-button2 -save -dev 2、在main.js中引入 import voiceInputButton from \\\'voice-input-button2\\\' Vue.use(voiceInputButton, { appId: \\\'xxx\\\', // 您申請(qǐng)的語(yǔ)音聽寫服務(wù)應(yīng)用的ID apiKey: \\\'xxxxxxxxxxxxxxxxxxxxxxxxx\\\', // 您開通的語(yǔ)音

    2024年01月19日
    瀏覽(27)
  • 技術(shù)解讀 | 科大訊飛語(yǔ)音技術(shù)最新進(jìn)展之二:語(yǔ)音識(shí)別與語(yǔ)音合成

    技術(shù)解讀 | 科大訊飛語(yǔ)音技術(shù)最新進(jìn)展之二:語(yǔ)音識(shí)別與語(yǔ)音合成

    這一篇內(nèi)容將圍繞語(yǔ)音識(shí)別與合成方向,繼續(xù)為大家?guī)?lái)相關(guān)技術(shù)解析。 “風(fēng)物長(zhǎng)宜放眼量”。面向人機(jī)交互更加自然流暢的未來(lái),智能語(yǔ)音技術(shù)進(jìn)展如何?該走向何方? 以下內(nèi)容根據(jù)訊飛研究院杰出科學(xué)家潘嘉在NCMMSC 2022上的主題演講《科大訊飛語(yǔ)音技術(shù)前沿進(jìn)展》整理。

    2024年02月07日
    瀏覽(74)
  • 【人工智能】科大訊飛API接口調(diào)用(第一集)

    【人工智能】科大訊飛API接口調(diào)用(第一集)

    這學(xué)期有一門人工智能教育課程,恰巧又有這么一個(gè)實(shí)踐,要求進(jìn)行人工智能接口調(diào)用 于是首選了科大訊飛,下面是詳細(xì)過程記錄 以下是流程以及實(shí)現(xiàn)細(xì)節(jié)描述 第一步 來(lái)到科大訊飛開放平臺(tái) http://www.xfyun.cn 第二步 注冊(cè)一個(gè)賬號(hào) 注冊(cè)時(shí)響應(yīng)可能沒那么快,稍等即可 第三步

    2024年02月09日
    瀏覽(19)
  • UE4如何接入科大訊飛的語(yǔ)音識(shí)別

    UE4如何接入科大訊飛的語(yǔ)音識(shí)別

    本文用的是UE4 4.27測(cè)試 安卓版測(cè)試鏈接: 鏈接:https://pan.baidu.com/s/1CsdJecfyMTdxNd6XfSECQQ 提取碼:m122 B站視頻連接:https://space.bilibili.com/449549424?spm_id_from=333.1007.0.0 GitHub地址:https://github.com/zhangmei126/XunFei 第一步 新建一個(gè)VS的UE4 4.27項(xiàng)目工程(注意是UE4 4.27 VS項(xiàng)目) 第二步 新建一

    2023年04月08日
    瀏覽(51)
  • vue3+vite+ts項(xiàng)目集成科大訊飛語(yǔ)音識(shí)別(項(xiàng)目搭建過程以及踩坑記錄)

    ?? 個(gè)人主頁(yè): 不叫貓先生 ???♂? 作者簡(jiǎn)介:前端領(lǐng)域新星創(chuàng)作者、阿里云專家博主,專注于前端各領(lǐng)域技術(shù),共同學(xué)習(xí)共同進(jìn)步,一起加油呀! ??系列專欄:vue3從入門到精通、TypeScript從入門到實(shí)踐 ?? 資料領(lǐng)?。呵岸诉M(jìn)階資料以及文中源碼可以找我免費(fèi)領(lǐng)取 ?? 前端

    2023年04月09日
    瀏覽(41)
  • Java中實(shí)現(xiàn)在線語(yǔ)音識(shí)別(科大訊飛免費(fèi)的SKD)、SDK下載和IDEA項(xiàng)目搭建、成功運(yùn)行【完整代碼】

    Java中實(shí)現(xiàn)在線語(yǔ)音識(shí)別(科大訊飛免費(fèi)的SKD)、SDK下載和IDEA項(xiàng)目搭建、成功運(yùn)行【完整代碼】

    科大訊飛官網(wǎng):https://www.xfyun.cn/ 首先登陸訊飛開放平臺(tái):https://passport.xfyun.cn/login,微信掃碼關(guān)注登錄 注冊(cè)新賬號(hào) 登陸后界面后,進(jìn)入產(chǎn)品服務(wù)–實(shí)時(shí)語(yǔ)音轉(zhuǎn)寫欄目 點(diǎn)擊個(gè)人免費(fèi)套餐,下面的立即領(lǐng)取,它會(huì)提醒我們?nèi)?shí)名認(rèn)證 實(shí)名認(rèn)證一下 提交完認(rèn)證之后 可以看到認(rèn)證

    2023年04月21日
    瀏覽(46)
  • 人工智能技術(shù)基礎(chǔ)系列之:語(yǔ)音識(shí)別與語(yǔ)音處理

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 語(yǔ)音識(shí)別(英語(yǔ):Speech recognition)是一個(gè)廣義上的概念,泛指在不同場(chǎng)景、不同的條件下通過語(yǔ)言或口頭獲取信息并轉(zhuǎn)換成文字的能力。具體來(lái)說(shuō),語(yǔ)音識(shí)別就是把人類的聲音或者說(shuō)話轉(zhuǎn)化成計(jì)算機(jī)可以理解的文字、數(shù)字信號(hào)。語(yǔ)音識(shí)別技術(shù)應(yīng)

    2024年02月05日
    瀏覽(100)
  • 第14章-Python-人工智能-語(yǔ)言識(shí)別-調(diào)用百度語(yǔ)音識(shí)別

    第14章-Python-人工智能-語(yǔ)言識(shí)別-調(diào)用百度語(yǔ)音識(shí)別

    ? ? ? ? 百度語(yǔ)音識(shí)別API是可以免費(fèi)試用的,通過百度賬號(hào)登錄到百度智能云,在語(yǔ)音技術(shù)頁(yè)面創(chuàng)建的應(yīng)用,生成一個(gè)語(yǔ)音識(shí)別的應(yīng)用,這個(gè)應(yīng)用會(huì)給你一個(gè)APIKey和一個(gè)Secret Key,如圖14.1所示。 ?我們?cè)谧约旱某绦蛑杏?API Key 和 Secret Key 這兩個(gè)值獲取 Koken,然后再通過 Token 調(diào)

    2024年02月08日
    瀏覽(102)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包