首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有什么信号处理算法可以反向工程声波是如何通过一群人的发声系统产生的?

有没有什么信号处理算法可以反向工程声波是如何通过一群人的发声系统产生的?
EN

Stack Overflow用户
提问于 2011-05-21 07:50:47
回答 3查看 1.4K关注 0票数 9

有一个很长的录音带,上面有三个扬声器,如何获得关于嘴巴如何打开/关闭的信息?我们有录音功能,有多个扬声器。声音清晰,不需要降噪。我们想要创建一些说话的3d头部的动画。一般来说,我们希望从声音数据中找出嘴巴的运动。

实际上,我们可以通过一些默认的动画来移动3d头部。就像我们为每个人准备了O声音的动画一样,我们需要一些信息:在哪个毫秒内哪个人发出了哪个声音?

因此,这就像语音到文本,但对于声音和一个以上的人在一次录音中。

在一般情况下(完美情况),我们希望获得D9,D6,D5点对运动的一些信号。来自不止一个人,当然是英语。

有没有关于算法或开源库的论文?

到目前为止,我已经找到了一些库

http://freespeech.sourceforge.net/ http://cmusphinx.sourceforge.net/

但是我从来没有用过他们中的任何一个...

EN

回答 3

Stack Overflow用户

发布于 2011-05-21 08:54:27

有趣的问题!!我想到的第一件事是使用运动检测来识别D5,D6和D9区域的任何运动。将D5,D6,D9扩展为矩形,并使用here中提到的方法之一来检测这些区域内的运动。

当然,在开始监控任何运动之前,你必须首先识别一个人的脸和一帧中的D5,D6,D9区域。

您可以使用语音识别库检测音频流中的音素和运动,并尝试映射运动特征(如区域、强度和频率等)。并建立将嘴巴运动映射到音素的概率模型。

非常有趣的问题!!我希望我现在正在做一些有趣的事情:)。

希望我在这里提到了一些有用的东西。

票数 5
EN

Stack Overflow用户

发布于 2011-05-21 13:18:23

这是“鸡尾酒会问题”或它的泛化,"blind signal separation“的一个例子。

不幸的是,如果你有N个麦克风记录N个说话者,虽然存在好的算法,但使用比源更少的麦克风的盲算法的性能相当差。因此,这些都没有多大帮助。

据我所知,即使有额外的数据,也没有特别健壮的方法(五年前肯定不是)来分离说话人。您可以根据语音的人类注释语谱图训练分类器,以便它可以辨别谁是谁,然后可能使用独立于说话者的语音识别来尝试弄清楚所说的话,然后使用用于高端视频游戏或电影特效的3D说话模型。但它不会很好地工作。

你最好雇三个演员听录音带,然后每个人背诵其中一个演讲者的部分,同时拍摄他们的视频。你会用更少的时间、精力和金钱获得更逼真的外观。如果你想要有各种各样的3D角色,在演员的脸上放置标记并捕捉他们的位置,然后将这些作为3D模型上的控制点。

票数 5
EN

Stack Overflow用户

发布于 2011-05-21 13:35:42

爱丁堡大学大约15年前的一些工作(可能是我们拥有的语音识别的基础)是适用的。他们能够自动地将任何可理解的英语语音(无需程序训练)转换为一组约40个符号,每个符号对应于我们使用的每个不同的声音。该功能与波形特征分析相结合,以识别感兴趣的人,这是您所需的全部功能。

这肯定是一个工程问题。但不是适合堆栈溢出的编程问题。我期待着这一天的到来。:-)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6078640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档