rtcllm/rtcllm/stt.py
2024-09-03 16:14:29 +08:00

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
}