modelscope-funasr的paraformer在不重训练的情况下获得音节的时间戳呀?
Paraformer模型在不重新训练的情况下,可以通过其内置的时间戳功能直接获取音节级别的时间戳信息。以下是具体实现方式及相关配置说明:
Paraformer模型默认支持时间戳输出,包括句子级和字级(音节级)的时间戳信息。这些时间戳信息可以通过API调用或SDK获取。
要获取音节级别的时间戳,需要确保以下配置正确:
在调用API时,需确保timestampAlignmentEnabled参数设置为true,以启用时间戳校准功能。此功能会返回更精确的时间戳信息。
TranscriptionParam param = TranscriptionParam.builder()
.model("paraformer-v2")
.fileUrls(Arrays.asList("your_audio_file_url"))
.timestampAlignmentEnabled(true) // 启用时间戳校准
.build();
Paraformer API返回的结果中,payload.output.sentence.words字段包含了字级时间戳信息。每个字的时间戳格式如下:
| 参数 | 类型 | 说明 |
|---|---|---|
begin_time | Long | 字的开始时间(毫秒)。 |
end_time | Long | 字的结束时间(毫秒)。 |
text | String | 字的内容。 |
punctuation | String | 标点符号(如果有)。 |
示例返回数据结构:
{
"output": {
"sentence": [
{
"begin_time": 0,
"end_time": 1000,
"text": "你好",
"words": [
{
"begin_time": 0,
"end_time": 500,
"text": "你",
"punctuation": ""
},
{
"begin_time": 500,
"end_time": 1000,
"text": "好",
"punctuation": ""
}
]
}
]
}
}
paraformer-v2模型,因为它支持多语言识别和更精确的时间戳输出。以下是一个完整的Java代码示例,展示如何获取音节级别的时间戳:
// 创建Transcription实例
Transcription transcription = new Transcription();
// 配置参数
TranscriptionParam param = TranscriptionParam.builder()
.apiKey("your_api_key")
.model("paraformer-v2") // 推荐使用paraformer-v2
.fileUrls(Arrays.asList("your_audio_file_url"))
.timestampAlignmentEnabled(true) // 启用时间戳校准
.build();
// 提交任务
TranscriptionResult result = transcription.asyncCall(param);
// 等待任务完成
result = transcription.wait(TranscriptionQueryParam.FromTranscriptionParam(param, result.getTaskId()));
// 解析结果
List<Sentence> sentences = result.getOutput().getSentence();
for (Sentence sentence : sentences) {
System.out.println("句子: " + sentence.getText());
for (Word word : sentence.getWords()) {
System.out.println("字: " + word.getText() +
", 开始时间: " + word.getBeginTime() +
", 结束时间: " + word.getEndTime());
}
}
通过上述方法,您可以在不重新训练Paraformer模型的情况下,直接获取音节级别的时间戳信息。关键在于正确配置timestampAlignmentEnabled参数,并解析返回的payload.output.sentence.words字段。
ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!欢迎加入技术交流群:微信公众号:魔搭ModelScope社区,钉钉答疑群:44837352