配置语音 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.vtt
和caption.srt
中。 - 将每个识别事件的
offset
、duration
、resultid
和text
输出到文件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