配置语音 CLI 数据存储

语音 CLI 可依赖于配置文件中的设置,你可使用 @ 符号引用这些设置。 语音 CLI 会将新设置保存在新的 ./spx/data 子目录中,该目录是当前工作目录中为语音 CLI 创建的。 Speech CLI 首先在当前工作目录中查找配置值,然后依次是在 ./spx/data 的数据存储和其他数据存储中查找(包括 spx 二进制文件中的最终只读数据存储)。

Speech CLI 快速入门中,使用数据存储来保存 @key@region 值,因此不需要在每个 spx 命令中指定它们。 请记住,你可使用配置文件来存储你自己的配置设置,甚至使用它们来传递 URL,或者传递在运行时生成的其他动态内容。

有关数据存储文件的详细信息,包括使用默认配置文件(用于命令特定默认设置的 @spx.default@default.config@*.default.config),请输入以下命令:

spx help advanced setup

nodefaults

下面的示例将清除 @my.defaults 配置文件,为文件中的“键”和“区域”添加键值对,并在调用 spx recognize 时使用此配置 。

spx config @my.defaults --clear
spx config @my.defaults --add key 000072626F6E20697320636F6F6C0000
spx config @my.defaults --add region chinaeast2

spx config @my.defaults

spx recognize --nodefaults @my.defaults --file hello.wav

动态配置

你还可以使用 --output 选项向配置文件写入动态内容。

例如,以下命令将创建一个自定义语音识别模型,并在配置文件中存储新模型的 URL。 下一条命令要等到该 URL 的模型可以使用时才返回。

spx csr model create --name "Example 4" --datasets @my.datasets.txt --output url @my.model.txt
spx csr model status --model @my.model.txt --wait

以下示例将两条 URL 写入 @my.datasets.txt 配置文件。 在此方案中,--output 可以包括一个可选“添加”关键字,以创建配置文件或追加到现有配置文件。

spx csr dataset create --name "LM" --kind Language --content https://crbn.us/data.txt --output url @my.datasets.txt
spx csr dataset create --name "AM" --kind Acoustic --content https://crbn.us/audio.zip --output add url @my.datasets.txt

spx config @my.datasets.txt

SPX config add

为了提高可读性、灵活性和便利性,你可以使用具有选择输出选项的预设配置。

例如,你可能对字幕有以下要求:

  • 从输入文件 caption.this.mp4 中识别。
  • 将 WebVTT 和 SRT 字幕分别输出到文件 caption.vttcaption.srt 中。
  • 将每个识别事件的 offsetdurationresultidtext 输出到文件 each.result.tsv 中。

可以创建一个名为 @caption.defaults 的预设配置,如下所示:

spx config @caption.defaults --clear
spx config @caption.defaults --add output.each.recognizing.result.offset=true
spx config @caption.defaults --add output.each.recognizing.result.duration=true
spx config @caption.defaults --add output.each.recognizing.result.resultid=true
spx config @caption.defaults --add output.each.recognizing.result.text=true
spx config @caption.defaults --add output.each.file.name=each.result.tsv
spx config @caption.defaults --add output.srt.file.name=caption.srt
spx config @caption.defaults --add output.vtt.file.name=caption.vtt

这些设置将保存到当前目录中名为 caption.defaults 的文件中。 下面是文件内容:

output.each.recognizing.result.offset=true
output.each.recognizing.result.duration=true
output.each.recognizing.result.resultid=true
output.each.recognizing.result.text=true
output.all.file.name=output.result.tsv
output.each.file.name=each.result.tsv
output.srt.file.name=caption.srt
output.vtt.file.name=caption.vtt

然后,若要生成字幕,可以运行以下命令,以从 @caption.defaults 预设配置导入设置:

spx recognize --file caption.this.mp4 --format any --output vtt --output srt @caption.defaults

使用如前所示的预设配置类似于运行以下命令:

spx recognize --file caption.this.mp4 --format any --output vtt file caption.vtt --output srt file caption.srt --output each file each.result.tsv --output all file output.result.tsv --output each recognizer recognizing result offset --output each recognizer recognizing duration --output each recognizer recognizing result resultid --output each recognizer recognizing text

后续步骤