Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在不同大小的音频文件中进行音素识别?_Python_Machine Learning_Speech Recognition_Pattern Recognition_Kaldi - Fatal编程技术网

Python 在不同大小的音频文件中进行音素识别?

Python 在不同大小的音频文件中进行音素识别?,python,machine-learning,speech-recognition,pattern-recognition,kaldi,Python,Machine Learning,Speech Recognition,Pattern Recognition,Kaldi,我目前正在与cnn合作进行音素识别 我的数据集有标签,但我有点不确定如何确保特征向量的长度也将根据音频文件的长度 目前,我对CNN的输入是mel对数滤波器能量的spectrogram可视化,其中y轴是不同的频带,x轴是包含帧的频率 上面给出的例子是这样一句话: fmjc-b-an118 RUBOUT J L Y Z TWO 和音素: RUBOUT: R AH B AW T J: JH EY L: EH L Y: W AY Z: Z IY TWO: T UW 249帧中总共有15个音

我目前正在与cnn合作进行音素识别

我的数据集有标签,但我有点不确定如何确保特征向量的长度也将根据音频文件的长度

目前,我对CNN的输入是mel对数滤波器能量的spectrogram可视化,其中y轴是不同的频带,x轴是包含帧的频率

上面给出的例子是这样一句话:

fmjc-b-an118 RUBOUT J L Y Z TWO
和音素:

RUBOUT: R AH B AW T

J: JH EY

L: EH L

Y: W AY

Z: Z IY

TWO: T UW
249帧中总共有15个音素。每个音素几乎有17帧

但在这里:

文本/单词是否向其传达:

fbbh-b-an90 NO
NO: N OW
97帧中总共2个音素=每个音素49帧

那么,我如何创建一个输入形状来捕获音频文件中的音素数量呢

编辑:

我认为重建输入/输出关系的唯一方法是提供一个一帧的输入形状,但系统是否能够在短时间内检测到不同类别的音素,如果没有音素可用,是否仍然说没有

这将需要输出形状包含每个帧的类,这需要我知道每个音素的持续时间,这应该是可能的


但是,在给定一帧的情况下,是否有可能检测到一个音素?

我有一个建议,我不认为这一定是一个好的音素,但我确实认为它会起作用

如果你要做的是训练音素,使其无论跨越多少帧都能被识别,你可以通过几个随机系数来尝试你的训练功能。这是在OpenCV中的一些特征提取器上完成的,以使图像特征具有比例不变性。我想如果你把它应用到音频上,它可能会使速度不变。我意识到这可能会导致您的培训功能爆炸,因此另一种方法是扩展您试图识别的输入,而不是培训输入。 您可以将所有训练特征缩放到相同的帧/特征速率,然后将所有输入缩放到相同的速率。 这可能是完全不可能的,我不是一个机器学习专家。
祝你好运

我不太确定我是否理解你的过程。你是在建议我重新设计输入,使输入/输出之间有一种关系吗?我编辑了这篇文章,以澄清核心问题。不,不可能用单个框架可靠地检测音素。现代系统使用串联的20-40帧作为探测器。通常,前后连接30帧和10帧。