Whisper 音频要求:支持格式与规格完整指南

Whisper 音频要求:支持格式与规格完整指南

Eric King

Eric King

Author


理解 Whisper 的音频要求对获得最佳转写准确度至关重要。Whisper 很灵活,能处理多种音频格式;遵循最佳规格可发挥其全部性能。
本指南涵盖所有音频要求、支持格式、技术规格,以及为 Whisper 转写准备音频文件的最佳实践。

支持的音频格式

Whisper 通过 FFmpeg 支持广泛的音频与视频格式。完整列表如下:

音频格式

格式扩展名说明
WAV.wav✅ 首选,无损
MP3.mp3✅ 最常见
FLAC.flac✅ 无损,压缩效果好
M4A.m4a✅ Apple 格式,AAC 编解码器
AAC.aac✅ 高压缩质量
OGG.ogg✅ 开源格式
OPUS.opus✅ 低延迟,适合网络
WMA.wma⚠️ 较少见
AMR.amr⚠️ 音质较低,电话录音

视频格式(提取音频)

格式扩展名说明
MP4.mp4✅ 最常见视频格式
AVI.avi✅ 较旧但仍支持
MKV.mkv✅ 容器格式
MOV.mov✅ QuickTime
WebM.webm✅ 网络视频
FLV.flv⚠️ 旧版 Flash
重要: Whisper 会自动从视频文件中提取音频,因此可以直接上传视频。

采样率要求

最佳采样率:16 kHz

Whisper 在处理前会将所有音频内部重采样为 16 kHz 单声道。这是语音识别的最佳采样率。

支持的采样率

Whisper 接受任意采样率,但请注意:
输入采样率Whisper 处理建议
8 kHz重采样至 16 kHz✅ 电话通话,可接受
16 kHz直接使用最佳,无需重采样
22.05 kHz重采样至 16 kHz✅ 质量良好
44.1 kHz重采样至 16 kHz✅ CD 质量,可以
48 kHz重采样至 16 kHz✅ 专业音频,可以
96 kHz重采样至 16 kHz⚠️ 不必要,文件更大
要点: 更高的采样率不会提高 Whisper 的准确度。模型在 16 kHz 音频上训练;提供 16 kHz 输入可避免不必要的重采样和更大文件。

最佳实践

# Convert audio to 16 kHz before processing (optional optimization)
import ffmpeg

def convert_to_16khz(input_file, output_file):
    stream = ffmpeg.input(input_file)
    stream = ffmpeg.output(
        stream,
        output_file,
        acodec='pcm_s16le',
        ac=1,  # Mono
        ar=16000  # 16 kHz
    )
    ffmpeg.run(stream, overwrite_output=True)

位深度要求

支持的位深度

位深度状态说明
8 位✅ 支持质量较低,不推荐
16 位推荐标准,足够
24 位✅ 支持专业用途,文件更大
32 位浮点✅ 支持录音室级,多数情况过剩
建议: 16 位 PCM 是标准,对语音识别质量已很充足。更高位深度不会提高转写准确度。

声道配置:单声道与立体声

单声道(推荐)

Whisper 在内部以单声道处理音频,因此单声道输入最优。
优点:
  • 文件更小
  • 处理更快
  • 无需混音
  • 适合单人内容
适合单声道的场景:
  • 单人录音
  • 电话
  • 单人主持播客
  • 大多数转写任务

立体声(支持)

立体声文件会自动转为单声道(取平均或选一轨)。
立体声有用的情况:
  • 不同说话人在不同声道(少见)
  • 原始为立体声(自动转换)
最佳实践: 若可控,处理前将立体声转为单声道:
import ffmpeg

# Convert stereo to mono
stream = ffmpeg.input('stereo_audio.wav')
stream = ffmpeg.output(
    stream,
    'mono_audio.wav',
    ac=1  # Mono channel
)
ffmpeg.run(stream, overwrite_output=True)

文件大小限制

实际限制

Whisper 没有严格的文件大小上限,但实际中需考虑:
文件大小处理时间建议
< 10 MB秒级✅ 理想
10–100 MB分钟级✅ 良好
100–500 MB10–30 分钟⚠️ 考虑分块
> 500 MB30 分钟以上⚠️ 必须分块

内存

大文件需要更多 RAM/显存:
  • base 模型: 约 1–2 GB VRAM
  • small 模型: 约 2–3 GB VRAM
  • medium 模型: 约 5–6 GB VRAM
  • large 模型: 约 10–12 GB VRAM
最佳实践: 文件超过 100 MB 时应分块(见下文)。

时长限制

建议时长

时长状态说明
< 30 分钟✅ 最佳直接处理
30–60 分钟✅ 良好可能需要分块
1–2 小时⚠️ 建议分块分块往往更准确
> 2 小时⚠️ 必须分块稳定性所需

为何要分割长音频?

  1. 内存限制: 避免内存不足
  2. 更好准确度: 较短块更易保持上下文
  3. 更快处理: 可并行
  4. 容错: 一块失败时其他块仍可能成功
分块策略:
# Split long audio into 30-60 second chunks with 5-10 second overlap
def chunk_audio(audio_path, chunk_length=60, overlap=5):
    # Implementation: split audio into segments
    # Process each chunk separately
    # Merge results with timestamps
    pass

音质要求

最低标准

为获得可接受的准确度,音频应满足:
因素最低最佳
信噪比> 10 dB> 20 dB
码率(MP3)≥ 64 kbps≥ 128 kbps
音量可听归一化至 −3 dB
背景噪声尽量少
回声/混响尽量少

质量检查清单

转写前请确认:
  • 语音清晰: 说话人清楚可辨
  • 噪声最小: 背景不盖过人声
  • 音量稳定: 无突变
  • 无削波: 无失真或过载
  • 麦克风良好: 录音设备合格

编解码器要求

推荐编解码器

编解码器格式质量建议
PCMWAV无损准确度最佳
FLACFLAC无损✅ 优秀,有压缩
AACM4A、MP4✅ 很好
MP3MP3有损✅ ≥128 kbps 时良好
OGG VorbisOGG有损✅ 质量好
OPUSOPUS有损✅ 好,低延迟

编解码器实践

追求最高准确度:
  • 使用 PCM(WAV)FLAC(无损)
日常使用:
  • 使用 AACMP3 ≥128 kbps(效果很好)
避免:
  • 极低码率 MP3(< 64 kbps)
  • 高度压缩格式
  • 除非必要,避免电话编解码器(AMR、G.711)

预处理建议

转写前

Whisper 会自动处理许多问题;预处理可进一步改善结果:

1. 音量归一化

import numpy as np
from scipy.io import wavfile

def normalize_audio(audio_path, output_path, target_dB=-3.0):
    sr, audio = wavfile.read(audio_path)
    audio = audio.astype(np.float32)
    
    # Normalize to target dB
    max_val = np.max(np.abs(audio))
    target_linear = 10 ** (target_dB / 20)
    audio = audio * (target_linear / max_val)
    
    # Clip to prevent overflow
    audio = np.clip(audio, -1.0, 1.0)
    
    wavfile.write(output_path, sr, (audio * 32767).astype(np.int16))

2. 去除静音

# Remove leading/trailing silence
# Helps with processing time and accuracy

3. 降噪(可选)

噪声较大时:
# Use noise reduction libraries
# librosa, noisereduce, or specialized tools
# Only if background noise is significant

4. 重采样至 16 kHz(可选)

优化文件大小时:
import ffmpeg

stream = ffmpeg.input('input.wav')
stream = ffmpeg.output(
    stream,
    'output_16k.wav',
    ar=16000  # Resample to 16 kHz
)
ffmpeg.run(stream, overwrite_output=True)

常见音频问题与解决

问题 1:采样率很低(8 kHz)

问题: 8 kHz 电话录音可能准确度较低。
解决:
  • 使用 Whisper medium 或 large 模型(对低采样率更友好)
  • 上采样至 16 kHz(不能恢复音质,但有助于处理)

问题 2:立体声上不同说话人

问题: 两人各占一轨。
解决:
# Extract each channel separately
import torchaudio

audio, sr = torchaudio.load('stereo.wav')
speaker1 = audio[0]  # Left channel
speaker2 = audio[1]  # Right channel

# Transcribe each separately
result1 = model.transcribe(speaker1)
result2 = model.transcribe(speaker2)

问题 3:可变码率 MP3

问题: VBR 在某些工具中可能出问题。
解决:
  • 转为固定码率(CBR)或 WAV
  • Whisper 能处理 VBR,但 CBR 更可预期

问题 4:损坏的音频文件

问题: 能播放但 Whisper 失败。
解决:
# Re-encode the file
import ffmpeg

stream = ffmpeg.input('corrupted.mp3')
stream = ffmpeg.output(
    stream,
    'fixed.wav',
    acodec='pcm_s16le'
)
ffmpeg.run(stream, overwrite_output=True)

问题 5:极长音频文件

问题: 内存不足或极慢。
解决:
  • 切成 30–60 秒块
  • 顺序或并行处理
  • 按时间戳合并结果

场景化建议

电话通话

参数原因
采样率8–16 kHz电话音质
格式WAV 或 MP3常见
码率≥ 64 kbps编解码质量
声道单声道通话惯例

会议(Zoom、Teams)

参数原因
采样率16–48 kHz高质
格式MP4(提取音频)视频格式
码率≥ 128 kbps良好质量
声道单声道或立体声视设置而定

播客

参数原因
采样率44.1–48 kHz专业质量
格式MP3、WAV 或 M4A常见
码率≥ 128 kbps良好
声道单声道惯例

采访

参数原因
采样率16–48 kHz高质
格式WAV 或 FLAC最高准确度
码率无损或 ≥ 192 kbps专业
声道单声道惯例

Whisper 音频要求摘要

最低要求

  • 格式: FFmpeg 支持的任意格式
  • 采样率: 任意(建议至少 8 kHz)
  • 位深度: 8 位及以上
  • 声道: 单声道或立体声(偏好单声道)
  • 文件大小: 无硬性上限(>100 MB 应分块)
  • 时长: 无硬性上限(>1 小时应分块)

最佳要求

  • 格式: WAV、FLAC 或 MP3(≥128 kbps)
  • 采样率: 16 kHz(最佳,无需重采样)
  • 位深度: 16 位 PCM
  • 声道: 单声道
  • 音质: 语音清晰、噪声少
  • 预处理: 音量归一化、无削波

快速参考:音频准备清单

使用 Whisper 转写前:
  • 格式: WAV、MP3、FLAC、M4A 或其他支持格式
  • 采样率: 16 kHz(最佳)或其他支持值
  • 位深度: 16 位(推荐)
  • 声道: 单声道(推荐)或立体声
  • 文件大小: < 100 MB(或计划分块)
  • 时长: < 1 小时(或计划分块)
  • 音质: 语音清晰、背景噪声少
  • 音量: 已归一化、无削波
  • 编解码器: 无损(WAV/FLAC)或高质有损(MP3 ≥128 kbps)

测试音频

快速测试

import whisper

# Load model
model = whisper.load_model("base")

# Test transcription
result = model.transcribe("your_audio.wav")

# Check if successful
if result["text"]:
    print("✅ Audio format is compatible")
    print(f"Detected language: {result['language']}")
else:
    print("⚠️ Transcription failed - check audio format")

常见错误信息

错误原因解决
"File not found"路径错误检查路径
"Unsupported format"不支持格式转为 WAV/MP3
"Out of memory"文件过大分块处理
"Empty audio"文件损坏重新编码

最佳实践摘要

  1. 尽量使用 16 kHz 采样率(对 Whisper 最优)
  2. 优先单声道而非立体声(内部按单声道处理)
  3. 使用无损格式(WAV/FLAC)以获得最高准确度
  4. 长文件(>1 小时)应分块以提高准确度与稳定性
  5. 归一化音频至稳定电平
  6. 尽量减少背景噪声
  7. 选择合适模型规模(更大模型对差音质更鲁棒)
  8. 先用 base 模型测试再使用更大模型

结语

Whisper 非常灵活,可处理多种格式与音质;遵循最佳规格可获得最佳转写准确度:
  • 格式: WAV、FLAC 或 MP3(≥128 kbps)
  • 采样率: 16 kHz(最佳)
  • 位深度: 16 位 PCM
  • 声道: 单声道
  • 音质: 语音清晰、噪声少
请记住:清晰的音频比完美的格式参数更重要。即使技术参数理想,录音质量差仍会拉低准确度。应注重清晰语音、低噪声与良好麦克风摆放。
在生产环境中,SayToWords 等平台会自动处理格式转换、重采样与优化,让您专注于录得清楚,而非纠结技术细节。

需要为 Whisper 准备音频的帮助?请参阅我们关于预处理、分块策略与准确度优化的其他指南。

立即免費試用

現在就體驗我們的 AI 語音與音視頻服務!不僅可以享受高精度語音轉文字、多語言翻譯與智能說話人識別,還能自動生成視頻字幕、智能編輯音視頻內容並進行聲畫同步分析,全面覆蓋會議記錄、短視頻創作、播客製作等場景——立即開始免費試用吧!

在线声音转文字免费声音转文字声音转文字转换器声音转文字 MP3声音转文字 WAV声音转文字(带时间戳)会议声音转文字Sound to Text Multi Language声音转文字字幕转换WAV为文字语音转文字在线语音转文字语音转文字转换MP3为文字语音录音转文字在线语音输入带时间戳的语音转文字实时语音转文字长音频语音转文字视频语音转文字YouTube语音转文字视频编辑语音转文字字幕语音转文字播客语音转文字采访语音转文字访谈音频转文字录音语音转文字会议语音转文字讲座语音转文字语音笔记转文字多语言语音转文字高准确度语音转文字快速语音转文字Premiere Pro 语音转文字替代方案DaVinci 语音转文字替代方案VEED 语音转文字替代方案InVideo 语音转文字替代方案Otter.ai 语音转文字替代方案Descript 语音转文字替代方案Trint 语音转文字替代方案Rev 语音转文字替代方案Sonix 语音转文字替代方案Happy Scribe 语音转文字替代方案Zoom 语音转文字替代方案Google Meet 语音转文字替代方案Microsoft Teams 语音转文字替代方案Fireflies.ai 语音转文字替代方案Fathom 语音转文字替代方案FlexClip 语音转文字替代方案Kapwing 语音转文字替代方案Canva 语音转文字替代方案长音频语音转文字AI语音转文字免费语音转文字无广告语音转文字噪音音频语音转文字带时间戳的语音转文字从音频生成字幕播客转录在线转录客户通话TikTok语音转文字TikTok音频转文字YouTube语音转文字YouTube音频转文字语音备忘录转文字WhatsApp语音消息转文字Telegram语音转文字Discord通话转录Twitch语音转文字Skype语音转文字Messenger语音转文字LINE语音消息转文字Vlog转录转文字讲道音频转文字语音转文字音频转文字语音笔记转文字语音输入会议语音输入YouTube语音输入说话打字免提打字语音转文字语音转文字在线语音转文字Online Transcription Software会议语音转文字快速语音转文字Real Time Speech to TextLive Transcription AppTikTok语音转文字TikTok音频转文字说话转文字语音转文字Talk to Text FreeTalk to Text OnlineTalk to Text for YouTubeTalk to Text for SubtitlesTalk to Text for Content CreatorsTalk to Text for Meetings音频转文字声音转文字语音写作工具语音写作工具语音听写法律转录工具医疗语音听写工具日语音频转录韩语会议转录会议转录工具会议音频转文字讲座转文字转换器讲座音频转文字视频转文字转录TikTok字幕生成器呼叫中心转录Reels音频转文字工具MP3转录为文字WAV文件转录为文字CapCut语音转文字CapCut语音转文字英语语音转文字英语音频转文字西班牙语语音转文字法语语音转文字法语音频转文字德语语音转文字德语音频转文字日语语音转文字日语音频转文字韩语语音转文字韩语音频转文字葡萄牙语语音转文字阿拉伯语语音转文字中文语音转文字印地语语音转文字俄语语音转文字网页语音输入工具语音输入网站