亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python調用百度語音識別實現大音頻文件語音識別功能

2020-02-15 22:51:33
字體:
來源:轉載
供稿:網友

本文為大家分享了python實現大音頻文件語音識別功能的具體代碼,供大家參考,具體內容如下

實現思路:先用ffmpeg將其他非wav格式的音頻轉換為wav格式,并轉換音頻的聲道(百度支持聲道為1),采樣率(值為8000),格式轉換完成后,再用ffmpeg將音頻切成百度。

支持的時長(30秒和60秒2種,本程序用的是30秒)。

# coding: utf-8import jsonimport timeimport base64from inc import rtysdbimport urllib2import requestsimport osimport uuidfrom inc import db_config  class BaiduRest:  def __init__(self, cu_id, api_key, api_secert):    self.token_url = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s"    self.getvoice_url = "http://tsn.baidu.com/text2audio?tex=%s&lan=zh&cuid=%s&ctp=1&tok=%s"    self.upvoice_url = 'http://vop.baidu.com/server_api'     self.cu_id = cu_id    self.get_token(api_key, api_secert)    return   def get_token(self, api_key, api_secert):    token_url = self.token_url % (api_key, api_secert)    r_str = urllib2.urlopen(token_url).read()    token_data = json.loads(r_str)    self.token_str = token_data['access_token']    return True   # 語音合成  def text2audio(self, text, filename):    get_url = self.getvoice_url % (urllib2.quote(text), self.cu_id, self.token_str)    voice_data = urllib2.urlopen(get_url).read()    voice_fp = open(filename, 'wb+')    voice_fp.write(voice_data)    voice_fp.close()    return True   ##語音識別  def audio2text(self, filename):    data = {}    data['format'] = 'wav'    data['rate'] = 8000    data['channel'] = 1    data['cuid'] = self.cu_id    data['token'] = self.token_str     wav_fp = open(filename, 'rb')    voice_data = wav_fp.read()    data['len'] = len(voice_data)    # data['speech'] = base64.b64encode(voice_data).decode('utf-8')    data['speech'] = base64.b64encode(voice_data).replace('/n', '')    # post_data = json.dumps(data)    result = requests.post(self.upvoice_url, json=data, headers={'Content-Type': 'application/json'})    data_result = result.json()    if(data_result['err_msg'] == 'success.'):      return data_result['result'][0]    else:      return False   def test_voice(voice_file):  api_key = "vossGHIgEETS6IMRxBDeahv8"  api_secert = "3c1fe6a6312f41fa21fa2c394dad5510"  bdr = BaiduRest("0-57-7B-9F-1F-A1", api_key, api_secert)   # 生成  #start = time.time()  #bdr.text2audio("你好啊", "out.wav")  #using = time.time() - start  #print using   # 識別  #start = time.time()  result = bdr.audio2text(voice_file)  # result = bdr.audio2text("weather.pcm")  #using = time.time() - start  return result def get_master_audio(check_status='cut_status'):  if check_status == 'cut_status':    sql = "SELECT id,url, time_long,sharps FROM ocenter_recognition WHERE status=0"  elif check_status == 'finished_status':    sql = "SELECT id,url, time_long,sharps FROM ocenter_recognition WHERE finished_status=0"  else:    return False  data = rtysdb.select_data(sql,'more')  if data:    return data  else:    return False  def go_recognize(master_id):  section_path = db_config.SYS_PATH  sql = "SELECT id,rid,url,status FROM ocenter_section WHERE rid=%d AND status=0 order by id asc limit 10" % (master_id)  #print sql  record = rtysdb.select_data(sql,'more')  #print record  if not record:    return False  for rec in record:    #print section_path+'/'+rec[1]    voice_file = section_path+'/'+rec[2]    if not os.path.exists(voice_file):      continue    result = test_voice(voice_file)    print result    exit(0)    if result:      #rtysdb.update_by_pk('ocenter_section',rec[0],{'content':result,'status':1})      sql = "update ocenter_section set content='%s', status='%d' where id=%d" % (result,1,rec[0])      #print sql      rtysdb.do_exec_sql(sql)      parent_content = rtysdb.select_data("SELECT id,content FROM ocenter_recognition WHERE id=%d" % (rec[1]))      #print parent_content      if parent_content:        new_content = parent_content[1]+result        update_content_sql = "update ocenter_recognition set content='%s' where id=%d" % (new_content,rec[1])        rtysdb.do_exec_sql(update_content_sql)    else:      rtysdb.do_exec_sql("update ocenter_section set status='%d' where id=%d" % (result,1,rec[0]))    time.sleep(5)  else:    rtysdb.do_exec_sql("UPDATE ocenter_recognition SET finished_status=1 WHERE id=%d" % (master_id))#對百度語音識別不了的音頻文件進行轉換def ffmpeg_convert():  section_path = db_config.SYS_PATH  #print section_path  used_audio = get_master_audio('cut_status')  #print used_audio  if used_audio:    for audio in used_audio:      audio_path = section_path+'/'+audio[1]      new_audio = uuid.uuid1()      command_line = "ffmpeg -i "+audio_path +" -ar 8000 -ac 1 -f wav "+section_path+"/Uploads/Convert/convert_" + str(new_audio) +".wav";      #print command_line      os.popen(command_line)      if os.path.exists(section_path+"/Uploads/Convert/convert_" + str(new_audio) +".wav"):        convert_name = "Uploads/Convert/convert_" + str(new_audio) +".wav"        ffmpeg_cut(convert_name,audio[3],audio[0])        sql = "UPDATE ocenter_recognition SET status=1,convert_name='%s' where id=%d" % (convert_name,audio[0])        rtysdb.do_exec_sql(sql)#將大音頻文件切成碎片def ffmpeg_cut(convert_name,sharps,master_id):  section_path = db_config.SYS_PATH  if sharps>0:    for i in range(0,sharps):      timeArray = time.localtime(i*30)      h = time.strftime("%H", timeArray)      h = int(h) - 8      h = "0" + str(h)      ms = time.strftime("%M:%S",timeArray)      start_time = h+':'+str(ms)      cut_name = section_path+'/'+convert_name      db_store_name = "Uploads/Section/"+str(uuid.uuid1())+'-'+str(i+1)+".wav"      section_name = section_path+"/"+db_store_name      command_line = "ffmpeg.exe -i "+cut_name+" -vn -acodec copy -ss "+start_time+" -t 00:00:30 "+section_name      #print command_line      os.popen(command_line)      data = {}      data['rid'] = master_id      data['url'] = db_store_name      data['create_time'] = int(time.time())      data['status'] = 0      rtysdb.insert_one('ocenter_section',data) if __name__ == "__main__":  ffmpeg_convert()  audio = get_master_audio('finished_status')  if audio:     for ad in audio:      go_recognize(ad[0])            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情视频在线观看| 国产精品最新在线观看| 日韩精品视频免费在线观看| 成人激情黄色网| 久久免费精品视频| 91在线视频一区| 精品久久久久久久久久久久| 久久视频在线免费观看| 欧美久久精品一级黑人c片| 9.1国产丝袜在线观看| 亚洲一级免费视频| 国产91色在线播放| 欧美激情第1页| 视频一区视频二区国产精品| 日韩欧美国产中文字幕| 欧美亚洲午夜视频在线观看| 色婷婷久久一区二区| 国产精品白丝av嫩草影院| 国产精品亚洲美女av网站| 日韩av在线不卡| 国产香蕉一区二区三区在线视频| 欧美在线观看一区二区三区| 91精品国产自产在线老师啪| 国语自产精品视频在线看抢先版图片| 欧美中文在线观看| 国产欧美日韩中文字幕在线| 久久久精品999| 日韩av在线网页| 国产精品视频区| 91性高湖久久久久久久久_久久99| 国产亚洲精品久久久久久777| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲精品成人久久电影| 中文字幕av一区| 欧美性感美女h网站在线观看免费| 91tv亚洲精品香蕉国产一区7ujn| 国产99久久久欧美黑人| 亚洲人成在线观看网站高清| 欧美成人午夜剧场免费观看| 日本午夜精品理论片a级appf发布| 欧美成人精品在线观看| 久久精品欧美视频| 亚洲视频自拍偷拍| 国产精品美女在线| 欧美性20hd另类| 国产亚洲精品成人av久久ww| 中文字幕欧美精品在线| 九九热最新视频//这里只有精品| 久久久亚洲成人| 亚洲视频国产视频| 亚洲小视频在线观看| 久久av在线看| 成人午夜激情免费视频| 亚洲国产91精品在线观看| 欧美激情一区二区三级高清视频| 亚洲第一区中文99精品| 亚洲网站在线看| 日韩在线观看免费高清完整版| 免费av一区二区| 久久亚洲成人精品| 4438全国亚洲精品在线观看视频| 日韩成人在线视频观看| 色综合视频一区中文字幕| 日韩精品在线看| 中文字幕在线观看日韩| 日韩精品在线视频观看| 91高清视频免费| 欧美国产视频一区二区| 成人综合国产精品| 亚洲精品久久7777777| 琪琪第一精品导航| 国语自产精品视频在线看一大j8| 久久久久国产精品www| 欧美激情极品视频| 久久精品视频播放| 日本久久中文字幕| 欧美在线观看日本一区| 中文字幕精品影院| 韩国日本不卡在线| 日本成人激情视频| 国产在线观看精品| 欧美日韩中文字幕日韩欧美| 亚洲人成人99网站| 国产精品中文在线| 这里只有精品在线观看| 亚洲欧美日本另类| 国产精品久久久一区| 欧美性视频精品| 欧美日韩在线影院| 国外成人免费在线播放| 97国产精品视频人人做人人爱| 国产精品久久久久av免费| 日本中文字幕久久看| 日本不卡免费高清视频| 亚洲欧美国产日韩天堂区| 国产成人激情视频| 在线精品国产欧美| 久久影视电视剧免费网站| 成人午夜在线视频一区| 欧美裸体xxxxx| 欧美午夜视频在线观看| 欧美一区二粉嫩精品国产一线天| 亚洲最大的网站| 午夜精品福利视频| 久久久久久久久久久久av| 岛国av一区二区在线在线观看| 久久久欧美一区二区| 亚洲天堂男人天堂女人天堂| 国产精品aaaa| 青草热久免费精品视频| 亚洲最新av在线| 亚洲美女又黄又爽在线观看| 欧美大胆a视频| 久久精品2019中文字幕| 亚洲国产欧美一区| 国产精品亚洲自拍| 欧美成人精品激情在线观看| 欧美电影在线观看完整版| 日韩美女写真福利在线观看| 秋霞午夜一区二区| 日本国产高清不卡| 欧美色欧美亚洲高清在线视频| 激情亚洲一区二区三区四区| 欧洲精品在线视频| 亚洲成人精品视频在线观看| 日本久久久久久久久| 亚洲影院高清在线| 国产精品人人做人人爽| 亚洲欧洲在线免费| 国产亚洲精品综合一区91| 日韩欧美在线字幕| 狠狠躁夜夜躁久久躁别揉| 日韩av中文在线| 不卡av在线网站| 国产精品精品久久久| 久久久久久69| 丰满岳妇乱一区二区三区| 国产精品热视频| 亚洲香蕉成人av网站在线观看| 日韩av电影国产| 久久人91精品久久久久久不卡| 插插插亚洲综合网| 亚洲最大成人免费视频| 成人淫片在线看| 亚洲欧美在线看| 91超碰中文字幕久久精品| 国产成人av在线| 免费99精品国产自在在线| 成人a在线视频| 在线视频亚洲欧美| 亚洲天堂av在线播放| 最新国产精品亚洲| 亚洲美女性视频| 日韩av电影手机在线| 欧美电影免费看| 亚洲人成在线免费观看| 欧美高清一级大片| 色与欲影视天天看综合网| 久久久精品久久久| 欧美在线视频免费| 91老司机在线| 国产精品高潮呻吟久久av黑人| 日韩美女毛茸茸| 欧美高清激情视频|