获取两个音频输入流之间的差异-Java

杰基·雷迪斯(JackylRadis)

我正在使用Sphinx4 API使用语音识别的软件(使用Java)
为了减少干扰,我想在2个不同的麦克风上录制2种声音(一个用于扬声器(A),另一个用于录制“环境”(B)),然后执行AB以获得“无干扰”声音,我给予Sphinx认可。我认为java.sound可以做类似的事情,但是我真的不知道该怎么做。

  • 您认为这种解决方案可行吗?
  • 是否可以实时做到这一点?如果是,它需要哪种硬件配置?
  • 您是否有针对我的案例的有用链接/代码?
弗洛里安

Java Sound本身无法执行此类信号处理。但是您可以从麦克风实时获取原始音频数据,自己进行处理,然后传递给Sphinx4。

要访问2个麦克风,请查询中的可用混音器AudioSystem,然后选择与两个麦克风相对应的2个混音器。从每个混音器中获取一个,SourceDataLine并使用它来捕获音频数据。

您可以实时处理数据,只需确保在上使用合适的缓冲区大小即可SourceDataLine对应于20ms的缓冲区大小在大多数系统上都应工作。

大多数硬件都可以正常工作。SourceDataLine在Windows和Linux上有“ direct” 您在OS X上的花费会有所不同(取决于Java实现)。

www.jsresources.org有许多编程示例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java - 获取两个列表之间的差异

如何在Java中合并两个输入流?

Java:两个列表之间的差异

如何获取Java中包括最后一天在内的两个日期之间的差异?

两个Java日期之间的天数差异?

Java中两个日期之间的天数差异?

两个Java流程实例之间的差异

计算两个Java日期实例之间的差异

如何找到两个 Java 项目之间的差异

MongoDB Java输入两个日期字段之间的日期

Java,获取两个日期之间的天数

java多线程两个线程尝试同时从同一对象输入流中读取object()

如何计算两个Java java.sql.Timestamps之间的差异?

尝试将音频输入流获取到 URL (java.net.MalformedURLException) java

在Java中找到两个(Joda Time)DateTime对象之间的确切差异

是否存在确定两个Java进程之间的nanoTime差异的准确方法?

Java 8:两个LocalDateTime之间以多个单位表示的差异

使用Java获得几个月内两个日期之间的差异

如何在Java 8中获得两个Stream之间的对称差异?

使用Java 8流计算两个值之间的差异并返回最小值

如何计算两个java.sql.Time值之间的差异?

找出两个Java Bean之间的差异以进行版本跟踪

什么是最好的方式来获得在Java中的两个集合之间的对称差异?

Java中以分钟为单位的两个日期对象之间的差异

如何使用Java以编程方式确定两个XML文件之间的差异作为XPATH?

在Java中,如何获得两个日期之间的秒数差异?

在Java中实现可比较项的两个已排序列表之间的差异

想要使用Java查找两个文本文件之间的内容差异

如何在Java 8中比较两个日期之间的分钟差异,同时还要考虑时区差异?