网站优化建议怎么写,网站建设汽车后市场,wordpress清除主题信息,衡阳企业网站建设价格python音频转文字调用的是百度智能云的接口#xff0c;因业务需求会涉及比较多数字#xff0c;所以这里做了数字的处理#xff0c;可根据自己的需求修改。
from flask import Flask, request, jsonify
import requestsfrom flask_limiter import Limiterapp Flask(__name_…python音频转文字调用的是百度智能云的接口因业务需求会涉及比较多数字所以这里做了数字的处理可根据自己的需求修改。
from flask import Flask, request, jsonify
import requestsfrom flask_limiter import Limiterapp Flask(__name__)
limiter Limiter(app) # 初始化限流扩展API_KEY #百度智能云上获取
SECRET_KEY import re
from cn2an import an2cn, transformdef replace_chinese_numbers(text):# 使用正则表达式匹配句子中的中文数字chinese_numbers re.findall(r[零一二三四五六七八九十百千万], text)# 遍历匹配到的中文数字逐一替换为阿拉伯数字for chinese_number in chinese_numbers:arabic_number transform(chinese_number, cn2an)text text.replace(chinese_number, arabic_number)return textapp.route(/transcribe, methods[POST])
limiter.limit(5 per second) # 设置限流规则为最多同时 5 个请求
def transcribe_audio():audio_data request.dataaccess_token get_access_token()if not access_token:return jsonify({error: Error getting access token}), 500url https://vop.baidu.com/server_apiheaders {Content-Type: audio/pcm; rate16000, # 设置正确的 Content-TypeAccept: application/json,}params {cuid: your_unique_id, # 替换为你的用户唯一标识,随便写token: access_token,}response requests.post(url, headersheaders, paramsparams, dataaudio_data)if response.status_code 200:try:result response.json()if result in result:transcript result[result][0]cleaned_transcript replace_chinese_numbers(transcript)print(cleaned_transcript)return jsonify({transcript: cleaned_transcript})else:return jsonify({error: No transcription found in the response}), 500except UserWarning as warning:# 如果出现 UserWarning 异常返回未处理的 transcriptwarnings.warn(str(warning))return jsonify({transcript: transcript})else:return jsonify({error: Error in transcription request}), 500def get_access_token():url https://aip.baidubce.com/oauth/2.0/tokenparams {grant_type: client_credentials, client_id: API_KEY, client_secret: SECRET_KEY}response requests.post(url, paramsparams)if response.status_code 200:access_token response.json().get(access_token)return access_tokenelse:print(Error getting access token:, response.text)return Noneif __name__ __main__:app.run(host0.0.0.0, port16258)