123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import os
- import uuid
- from funasr import AutoModel
- from app.utils.pinyin_utils import replace_word
- target_word = "抱坡"
- # 模型1
- model = AutoModel(model="E:\\yuyin_model\\Voice_translation", model_revision="v2.0.4",
- vad_model="E:\\yuyin_model\\Endpoint_detection", vad_model_revision="v2.0.4",
- punc_model="E:\\yuyin_model\\Ct_punc", punc_model_revision="v2.0.4",
- use_cuda=True, use_fast=True,
- )
- def parse_file(file):
- # 文件保存路径
- UPLOAD_FOLDER = 'data/audio'
- os.makedirs(UPLOAD_FOLDER, exist_ok=True)
- # 生成UUID文件名
- file_ext = os.path.splitext(file.filename)[1]
- filename = f"{uuid.uuid4()}{file_ext}"
- # 保存文件
- file_path = os.path.join(UPLOAD_FOLDER, filename)
- file.save(file_path)
- # 语音转文字模型1
- res = model.generate(file_path,
- batch_size_s=30, hotword='test')
- texts = [item['text'] for item in res]
- msg = ' '.join(texts)
- # print(msg)
- # 语音转文字模型2
- # res = inference_pipeline(file_path)
- # # print(res)
- # texts = [item['text'] for item in res]
- # # print(texts)
- # msg = ' '.join(texts)
- # msg = vocal_text(file_path)
- os.remove(file_path)
- msg = replace_word(msg, target_word)
- words_to_replace = ["爆破", "爆坡", "高坡"]
- for word in words_to_replace:
- msg = msg.replace(word, "抱坡")
- print(msg)
- return {"msg": "上传成功",
- "code": 200,
- "filename": filename,
- "voiceMsg": msg
- }
|