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

使用SPX(SpeechCLI)创建Azure自定义语音数据集报错排查

Azure自定义语音声学数据集创建后报错的排查与修正

核心问题排查方向

以下是你可能忽略的几个关键要求,逐一核对:

  1. 转录文件格式必须严格匹配
    声学数据集的转录文件(比如trans.txt)每行必须遵循音频文件名|纯文本转录内容的格式,不能有多余符号或格式错误。示例:

    train.wav|The quick brown fox jumps over the lazy dog
    

    如果有多个音频文件,每个文件都要对应一行,且文件名必须和容器内的WAV文件完全一致(包括大小写)。

  2. 存储容器权限不足
    你使用的容器URLhttps://xyz.blob.core.windows.net/test-and-train-data如果是私有容器,Azure语音服务没有读取权限。解决方法:

    • 要么给容器开启Blob匿名读取权限(仅测试环境推荐)
    • 要么生成带读取权限的SAS令牌,把令牌追加到content参数末尾,示例:
      spx csr dataset create --api-version v3.1 --kind "Acoustic" --name "My Custom Speech" --description "My Acoustic Dataset Description" --project $project_id --content "https://xyz.blob.core.windows.net/test-and-train-data?sv=2023-11-03&ss=b&srt=sco&sp=rl&se=2025-01-01T00:00:00Z&st=2024-01-01T00:00:00Z&spr=https&sig=xxxx" --language "en-US"
      
  3. 音频文件格式不符合要求
    必须使用16kHz采样率、16位深度、单声道PCM WAV格式,其他格式(比如MP3、高采样率WAV)会导致处理失败。可以用音频工具(比如Audacity)转换格式后再上传。

  4. 存储结构不要多余嵌套
    你尝试的en-US子文件夹是多余的,因为命令已经通过--language "en-US"指定了语言,服务会直接读取容器根目录下的文件/压缩包。正确的结构应该是:

    • 直接在容器根目录放WAV和转录文件:
      test-and-train-data
      ├── train.wav
      └── trans.txt
      
    • 或者压缩成zip包(压缩包内直接放文件,不要嵌套文件夹):
      test-and-train-data
      └── acoustic_data.zip
          ├── train.wav
          └── trans.txt
      

快速排查技巧

用Azure语音工作室的手动上传数据集功能,上传本地打包好的zip文件,这个过程会实时显示具体错误(比如转录格式错误、音频格式不兼容等),比SPX命令更易定位问题。

内容的提问来源于stack exchange,提问作者Mike B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 19:37:22