WoMic虚拟麦克风技术剖析

这段时间项目中需要实现类似于虚拟麦克风功能,在Android实现录音,在pc端实现语音评测功能,在技术调研阶段,了解了一下Womic的实现技术。

1.WoMic 简介

官网:https://wolicheng.com/womic/,有兴趣的朋友可以到官网下载一下看看。

下面是官网提供的一张图,算是技术流程图。在Android 录制音频流并传给PC端,PC将音频流写入到虚拟声卡中,PC的各个应用若是需要音频流,只需要从虚拟声卡中读取即可。
在这里插入图片描述
我将软件分为两个部分讲:,我画了更为详细的流程图,按照这个思路来。
在这里插入图片描述

2.Android 端

2.1获取音频的方式

Android技术点有两个,音频数据采集以及传输两个问题。熟悉Android开发的同学都知道,Android提供了两种音频采集方式,一种AudioRecord,一种是MediaRecord,这两种的区别在于AudioRecord更接近底层,能够获取音频流,而MediaRecord获取是文件。当然WoMic肯定采用是AudioRecord,至于为什么我会在下面讲。

2.2传输方式

WoMic 提供了三种方式,蓝牙,USB和WiFi。我个人感觉USB就不需要了,你是虚拟麦克风肯定解决一定距离下的音频传输问题。

2.2.1蓝牙

蓝牙传输涉及到Android蓝牙开发,本人没有做过没有发言权,简单的数据传输应该问题不大。

2.2.2 WiFi

这种方式对于Android开发来说很简答,采用TCP或者UDP,若是不清楚的,可以参考这个。Womic采用的是socket中的TCP传输声音数据。

3.PC端

PC端有两个功能,第一,作为音频流接受的服务器,第二,写入到虚拟声卡。

有个技术难点就是虚拟声卡,对于商用软件来说,这就是需要考虑自足研发或者采用免费的开源虚拟声卡。若是你仅仅是为了玩玩,大可不必自己开发,使用开源的虚拟声卡就行,如audio cable 等。

从技术的角度来看,除了虚拟声卡是技术难点之外,基本上没什么技术难点。假如我也不想用虚拟声卡,能否做到这个效果呢,显然是可以的。

延伸

我们先现象虚拟声卡在整个过程中起到什么作用呢,将数据中转给其他需要的应用,若是以Android为服务器,PC端的一起应用作为客服端,只需要监听服务的数据状态是不是就可以了。

当然针对不同的需求,技术路线也要稍微的改变,若是你仅仅想实现一个虚拟麦克风,大可不必大费周章,直接复制WoMic的模式就可,在接受到音频流时就播放即可。

简化版的技术流程图,希望对你有所帮助。点赞和赞赏是对我写作最大的鼓励,谢谢!
在这里插入图片描述

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
Python虚拟麦克风设备是一种模拟音频输入设备的工具,可以用于模拟麦克风输入信号。在某些应用场景中,我们可能需要模拟一段音频输入,而实际上并没有真实的麦克风设备可用。这时,可以使用Python虚拟麦克风设备来生成模拟的音频输入信号。 使用Python虚拟麦克风设备,我们可以通过编程方式生成音频数据,并将其作为模拟麦克风输入发送给其他应用程序。这种技术可以应用于音频处理、语音识别等领域。 Python虚拟麦克风设备通常通过软件库或模块来实现,例如PulseAudio、SoundCard等。这些库和模块提供了在Python中创建虚拟麦克风设备的接口和功能。使用这些库或模块,我们可以向虚拟麦克风设备写入音频数据,然后其他应用程序就可以读取到这些数据,就像从真实的麦克风设备中获得的音频数据一样。 需要注意的是,虚拟麦克风设备只是生成模拟的音频输入信号,并不具备真实的麦克风传感器功能。因此,它无法捕捉到真实环境中的声音,只能模拟生成音频数据。在应用时,我们需要结合其他技术或算法来模拟出需要的音频输入信号。 总结来说,Python虚拟麦克风设备是一种模拟麦克风输入信号的工具,可以应用于音频处理、语音识别等领域。通过编程生成音频数据,并将其发送给其他应用程序,实现模拟麦克风输入的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术人Howzit

钱不钱的无所谓,这是一种鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值