2018-03-12 python對接阿里云語音識別

最近公司在對接阿里云語音識別(一句話識別),阿里云文檔提供的并不是很詳細(xì)坪圾,python demo不全讼油,修改后可直接執(zhí)行杰赛,如有問題可簡書聯(lián)系我,大家一起討論矮台。

import hashlib
import hmac
import base64
import datetime
import ssl
import requests


class HttpProxy:
    """
    Http工具類乏屯,封裝了鑒權(quán)
    """

    def __init__(self, ak_id, ak_secret, model):
        self.__ak_id = ak_id
        self.__ak_secret = ak_secret
        # 必填
        self.__version = "2.0"
        self.__model = model
        # 音頻文件長度
        self.f_len = None

    def __current_gmt_time(self):
        return datetime.datetime.strftime(datetime.datetime.utcnow(), "%a, %d %b %Y %H:%M:%S GMT")

    def __md5_base64(self, body):
        hash = hashlib.md5()
        hash.update(body)
        return base64.b64encode(hash.digest()).decode('utf-8')

    def __sha1_base64(self, str_to_sign, secret):
        hmacsha1 = hmac.new(secret.encode('utf-8'), str_to_sign.encode('utf-8'), hashlib.sha1)
        return base64.b64encode(hmacsha1.digest()).decode('utf-8')

    def send_request(self, body, audio_format, sample_rate, url):
        gmtnow = self.__current_gmt_time()
        temp_body = self.__md5_base64(body)
        body_md5 = self.__md5_base64(temp_body.encode('utf8'))
        content_type = "audio/" + audio_format + ";samplerate=" + str(sample_rate)
        str_to_sign = "POST" + "\n" + "application/json" + "\n" + body_md5 + "\n" + content_type + "\n" + gmtnow
        signature = self.__sha1_base64(str_to_sign, self.__ak_secret)
        auth_header = "Dataplus " + self.__ak_id + ":" + signature
        ssl._create_default_https_context = ssl._create_unverified_context
        url = url + "model=" + self.__model + "&" + "version=" + self.__version
        headers = {
            "Accept": "application/json",
            "Content-Type": content_type,
            "Date": gmtnow,
            "Authorization": auth_header,
            "Content-Length": str(self.f_len)
        }
        r = requests.post(url, data=body, headers=headers)
        return r.json().get("result")

    def read_file(self, file_path):
        file = open(file_path, 'rb')
        sound_wav_rb = file.read()
        file.close()
        # 這里要轉(zhuǎn)換成字節(jié)數(shù)組
        temp_byte = bytearray(sound_wav_rb)
        print(temp_byte)
        return temp_byte


if __name__ == '__main__':
    # chat可以根據(jù)自己的情景修改,這里阿里云文檔已經(jīng)標(biāo)明
    http_proxy = HttpProxy("這里修改成你自己的ak_id", "這里修改成你自己的ak_secret", "chat")
    # 讀取文檔 
    sound_wav_rb = http_proxy.read_file("/Users/macbook/Desktop/test.speex")
    # 這里的參數(shù)詳見文檔
    response = http_proxy.send_request(sound_wav_rb, "speex", 16000, "https://nlsapi.aliyun.com/recognize?")
    print(response)

此腳本可直接執(zhí)行瘦赫,也可修改后對接前端進(jìn)行語音識別辰晕,希望對大家有用~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市耸彪,隨后出現(xiàn)的幾起案子伞芹,更是在濱河造成了極大的恐慌,老刑警劉巖蝉娜,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異扎唾,居然都是意外死亡召川,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進(jìn)店門胸遇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荧呐,“玉大人,你說我怎么就攤上這事纸镊”恫” “怎么了?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵逗威,是天一觀的道長峰搪。 經(jīng)常有香客問我,道長凯旭,這世上最難降的妖魔是什么概耻? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮罐呼,結(jié)果婚禮上鞠柄,老公的妹妹穿的比我還像新娘。我一直安慰自己嫉柴,他們只是感情好厌杜,可當(dāng)我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著计螺,像睡著了一般夯尽。 火紅的嫁衣襯著肌膚如雪瞧壮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天呐萌,我揣著相機(jī)與錄音馁痴,去河邊找鬼。 笑死肺孤,一個胖子當(dāng)著我的面吹牛罗晕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赠堵,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼小渊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了茫叭?” 一聲冷哼從身側(cè)響起酬屉,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎揍愁,沒想到半個月后呐萨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡莽囤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年谬擦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片朽缎。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡惨远,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出话肖,到底是詐尸還是另有隱情北秽,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布最筒,位于F島的核電站贺氓,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏是钥。R本人自食惡果不足惜掠归,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望悄泥。 院中可真熱鬧虏冻,春花似錦、人聲如沸弹囚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蛮穿,卻和暖如春庶骄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背践磅。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工单刁, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人府适。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓羔飞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親檐春。 傳聞我的和親對象是個殘疾皇子逻淌,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,496評論 25 707
  • 轉(zhuǎn)載鏈接 注:本文轉(zhuǎn)載知乎上的回答 作者:初雪 鏈接:https://www.zhihu.com/question...
    pengshuangta閱讀 28,479評論 9 295
  • 還有三天卡儒,還有兩天,還有一天俐巴,就到年了骨望。 往年,我堅持上班上到放假前一天欣舵,今年終于堅持不住了锦募。因為,今年的年邻遏,我要...
    高慧_閱讀 398評論 1 3
  • 整個年少是一部追求美的減肥史加一部追求愛的渴望史加一部不停向前的求學(xué)史,如此而已虐骑。沒有用心的去武裝自己的大腦准验,沒有...
    笑逐顏開閱讀 319評論 0 0
  • 記得小時候的夢想是當(dāng)一名教師。每次看見我的老師拿著粉筆在講臺上邊書寫邊講課的樣子廷没,都令我羨慕不已糊饱。 時光飛逝,我終...
    櫻花雨JK閱讀 407評論 0 0