You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python语言检测API是否支持多语言?如何实现语音转文本自动语种检测

调整方案

核心思路

谷歌语音识别接口本身自带多语种检测能力,不需要额外引入第三方检测工具,仅需要调整recognize_google的调用参数,提取返回结果中自带的语种检测字段即可实现需求。

具体修改步骤

  • 移除recognize_google方法中固定的language='ko'参数,新增show_all=True参数,获取接口返回的完整识别数据,数据中会包含匹配度最高的语种信息
  • 从返回的完整数据中提取检测到的语种代码和对应识别文本
  • 保留原有翻译和异常处理逻辑即可

修改后完整代码

import speech_recognition as sr
from googletrans import Translator
from textblob import TextBlob

translator = Translator()
speech = sr.Recognizer()

with sr.Microphone() as source:
    print("say something!")
    audio = speech.listen(source)
    try:
        # 开启show_all获取完整返回结果,不固定识别语种
        full_result = speech.recognize_google(audio, show_all=True)
        if not full_result:
            raise sr.UnknownValueError
        
        # 提取匹配度最高的识别结果和对应检测到的语种
        best_match = full_result['alternative'][0]
        detected_lang = full_result['language']
        ToTranslate = best_match['transcript']

        print("The language used is: " + detected_lang)
        print("You said: " + ToTranslate)
        translation = translator.translate(ToTranslate).text
        print("In english: " + translation)
    except sr.UnknownValueError:
        print("Sorry I can't understand you.")
    except sr.RequestError:
        print("Error connecting to speech recognition service.")

补充说明

如果需要限制可识别的语种范围,可以给recognize_google传入language_hints参数,传入优先匹配的语种代码列表,例如language_hints=['ko','en','zh-CN'],可提升指定语种的识别准确率。

内容的提问来源于stack exchange,提问作者Daniel Bueno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:54:03