确定 Sphinx-4 中说话人自适应的集群大小

Decide cluster size for speaker adaptation in Sphinx-4

在 CMU Sphinx(Sphinx-4) 的说话人适应技术中,我使用以下代码片段

Stats stats = recognizer.createStats(nrOfClusters);
recognizer.startRecognition(stream);
while ((result = recognizer.getResult()) != null) {
    stats.collect(result);
}
recognizer.stopRecognition();

// Transform represents the speech profile
Transform transform = stats.createTransform();
recognizer.setTransform(transform);

nrOfClusters(簇数)参数值应该是多少才能获得好的结果?我们如何使用此代码段来适应音频中的多个扬声器?

What should be nrOfClusters(number of clusters) parameter value to get good results?

簇的数量取决于适应的数据量。您拥有的数据越多,您可以使用的集群就越多。例如,如果您有 30 秒的演讲,则 1 个簇就足够了。如果你有 10 分钟的演讲时间,你最多可以使用 32 个集群。

How can we use this snippet to adapt to multiple speakers in audio?

如果您知道每个说话者的时间,您可以 运行 分别适应每个说话者。为不同的说话者创建共享变换没有多大意义。