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

Python speech_recognition模块抛出OSError问题求助

解决speech_recognition模块OSError问题

问题根源

报错信息明确指出:系统未安装FLAC命令行转换工具。speech_recognition调用Google语音识别API时,需要将音频转换为FLAC格式,这个转换依赖系统级的FLAC工具,你的MacBook Air和iPad Pythonista环境都缺失该工具。

分环境解决

1. MacBook Air 环境解决步骤

Mac系统用Homebrew安装FLAC最便捷:

  • 若未安装Homebrew,打开终端执行以下命令安装:
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  • 安装FLAC工具:
    brew install flac
    

安装完成后重新运行代码即可。

2. iPad Pythonista 环境解决方法

Pythonista是iOS沙盒环境,无法直接安装系统级命令行工具,提供两种可行方案:

方案一:提前转换音频格式

在电脑上用音频工具(如Audacity)将audio1.wav转换为FLAC格式,传到Pythonista的文件目录后,修改代码中的文件名:

with sr.AudioFile('audio1.flac') as source:
    audio_text = r.listen(source)

此时speech_recognition无需再转换格式,可直接调用Google API。

方案二:用纯Python库完成转换

若想在Pythonista内直接处理,需安装pyflac库:

  1. 安装StaSh(Pythonista的包管理工具):打开Pythonista控制台,执行以下代码:
    import requests
    exec(requests.get('https://raw.githubusercontent.com/ywangd/stash/master/tools/install.py').text)
    
  2. 打开底部弹出的StaSh命令行框,安装pyflac:
    pip install pyflac
    
  3. 修改代码,手动将WAV转FLAC后识别:
    import speech_recognition as sr
    import wave
    import pyflac
    
    # 读取WAV文件
    with wave.open('audio1.wav', 'rb') as wf:
        sample_rate = wf.getframerate()
        channels = wf.getnchannels()
        bits_per_sample = wf.getsampwidth() * 8
        audio_frames = wf.readframes(wf.getnframes())
    
    # 编码为FLAC格式
    encoder = pyflac.StreamEncoder(
        sample_rate=sample_rate,
        bits_per_sample=bits_per_sample,
        channels=channels
    )
    flac_data = encoder.encode(audio_frames)
    encoder.finish()
    
    # 调用Google语音识别
    r = sr.Recognizer()
    audio_data = sr.AudioData(flac_data, sample_rate, bits_per_sample//8)
    text = r.recognize_google(audio_data)
    print('Converting audio transcripts into text ...')
    print(text)
    

内容的提问来源于stack exchange,提问作者Sean Hong

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 08:48:21