47 lines
754 B
Python
47 lines
754 B
Python
from appPublic.dictObject import DictObject
|
|
from appPublic.oauth_client import OAuthClient
|
|
|
|
desc = {
|
|
"path":"/asr/generate",
|
|
"method":"POST",
|
|
"headers":[
|
|
{
|
|
"name":"Content-Type",
|
|
"value":"application/json"
|
|
}
|
|
],
|
|
"data":[{
|
|
"name":"audio",
|
|
"value":"${b64audio}"
|
|
},{
|
|
"name":"model",
|
|
"value":"whisper"
|
|
}
|
|
],
|
|
"resp":[
|
|
{
|
|
"name":"content",
|
|
"value":"content"
|
|
}
|
|
]
|
|
}
|
|
opts = {
|
|
"data":{},
|
|
"asr":desc
|
|
}
|
|
|
|
async def asr(model, a_file):
|
|
"""
|
|
oc = OAuthClient(DictObject(**opts))
|
|
r = await oc("http://open-computing.cn", "asr", {"b64audio":audio})
|
|
print(f'{r=}')
|
|
"""
|
|
segments, info = model.transcribe(a_file, beam_size=5)
|
|
txt = ''
|
|
for s in segments:
|
|
txt += s.text
|
|
return {
|
|
'content': txt,
|
|
'language': info.language
|
|
}
|