Google 云语音到文本不提供 OGG 和 MP3 文件的输出
Google cloud speech to text not giving output for OGG & MP3 files
我正在尝试对一堆时长超过 10 分钟的音频文件进行语音转文本。我不想通过直接上传 wav 文件来浪费云存储桶上的存储空间。所以我使用 ffmpeg
将文件转换为 ogg 或 mp3,例如:
ffmpeg -y -i audio.wav -ar 12000 -r 16000 audio.mp3
ffmpeg -y -i audio.wav -ar 12000 -r 16000 audio.ogg
出于测试目的,我 运行 在虚拟 wav 文件上将语音转为文本服务,它似乎工作正常,我得到了预期的文本。但由于某种原因,当我使用 ogg 或 mp3 文件时,它没有检测到任何语音。我也不能让 amr 文件工作。
我的代码:
def transcribe_gcs(gcs_uri):
client = speech.SpeechClient()
audio = speech.RecognitionAudio(uri=gcs_uri)
config = speech.RecognitionConfig(
encoding="OGG_OPUS", #replace with "LINEAR16" for wav, "OGG_OPUS" for ogg, "AMR" for amr
sample_rate_hertz=16000,
language_code="en-US",
)
print("starting operation")
operation = client.long_running_recognize(config=config, audio=audio)
response = operation.result()
print(response)
我已经正确设置了身份验证,所以这不是问题。
当我运行语音到文本服务在相同的音频但在 ogg 或 mp3(我只是从 mp3 配置中注释掉编码设置)格式时,它没有响应,只是打印出来换行并完成。
我该怎么做才能解决这个问题?
使用 Opus 或 FLAC
- 不支持 Vorbis(OGG 容器的默认音频格式)。参见 Google Cloud Speech-to-Text: Supported Audio Encodings。
- MP3 编码是 Beta 功能,仅在 v1p1beta1 中可用。有关详细信息,请参阅 RecognitionConfig reference documentation。
FLAC
FLAC 已压缩但无损。这将产生最佳的语音转文本结果。
ffmpeg -i input.wav -vn output.flac
作品
如果文件 space 非常重要,那么在 OGG 中使用 Opus。它可以制作出质量极佳的小文件。
ffmpeg -i input.wav -vn -c:a libopus output.ogg
我正在尝试对一堆时长超过 10 分钟的音频文件进行语音转文本。我不想通过直接上传 wav 文件来浪费云存储桶上的存储空间。所以我使用 ffmpeg
将文件转换为 ogg 或 mp3,例如:
ffmpeg -y -i audio.wav -ar 12000 -r 16000 audio.mp3
ffmpeg -y -i audio.wav -ar 12000 -r 16000 audio.ogg
出于测试目的,我 运行 在虚拟 wav 文件上将语音转为文本服务,它似乎工作正常,我得到了预期的文本。但由于某种原因,当我使用 ogg 或 mp3 文件时,它没有检测到任何语音。我也不能让 amr 文件工作。
我的代码:
def transcribe_gcs(gcs_uri):
client = speech.SpeechClient()
audio = speech.RecognitionAudio(uri=gcs_uri)
config = speech.RecognitionConfig(
encoding="OGG_OPUS", #replace with "LINEAR16" for wav, "OGG_OPUS" for ogg, "AMR" for amr
sample_rate_hertz=16000,
language_code="en-US",
)
print("starting operation")
operation = client.long_running_recognize(config=config, audio=audio)
response = operation.result()
print(response)
我已经正确设置了身份验证,所以这不是问题。
当我运行语音到文本服务在相同的音频但在 ogg 或 mp3(我只是从 mp3 配置中注释掉编码设置)格式时,它没有响应,只是打印出来换行并完成。
我该怎么做才能解决这个问题?
使用 Opus 或 FLAC
- 不支持 Vorbis(OGG 容器的默认音频格式)。参见 Google Cloud Speech-to-Text: Supported Audio Encodings。
- MP3 编码是 Beta 功能,仅在 v1p1beta1 中可用。有关详细信息,请参阅 RecognitionConfig reference documentation。
FLAC
FLAC 已压缩但无损。这将产生最佳的语音转文本结果。
ffmpeg -i input.wav -vn output.flac
作品
如果文件 space 非常重要,那么在 OGG 中使用 Opus。它可以制作出质量极佳的小文件。
ffmpeg -i input.wav -vn -c:a libopus output.ogg