Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >kbd-audio:通过麦克风来捕获和分析键盘输入的工具

kbd-audio:通过麦克风来捕获和分析键盘输入的工具

作者头像
FB客服
发布于 2018-12-28 03:26:34
发布于 2018-12-28 03:26:34
1.1K00
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行

前言

kbd-audio项目是一系列用于捕获和分析音频数据的命令行和GUI工具的集合。其中我认为最有意思的一款工具是keytap,它可以通过麦克风来捕获和分析键盘的输入,从而猜测出按键内容。

有关keytap的更多信息,可以参阅以下博文及演示视频:

Keytap: description and some random thoughts

构建说明

相关依赖

SDL2 - 用于捕获音频和打开GUI windows libsdl

FFTW3 - 一些辅助工具执行傅里叶变换(Fourier Transformation)fftw

Linux & Mac OS

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/ggerganov/kbd-audio
cd kbd-audio
git submodule update --init
mkdir build && cd build
cmake ..
make

Windows

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(todo, PRs welcome)

工具集

record-full

将音频录制到磁盘上的原始二进制文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./record-full output.kbd

play-full

播放通过record-full捕获的录制内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./play-full input.kbd

record

仅在键入时录制音频。用于收集keytap的训练数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./record output.kbd

play

播放通过record创建的录制内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./play input.kbd

keytap

通过麦克风音频实时检测并捕获按下的键。使用record捕获的训练数据。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./keytap-gui input0.kbd [input1.kbd] [input2.kbd] ...

Live demo(需要启用WebAssembly pthreads和SharedArrayBuffer)

keytap2(正在开发中)

通过麦克风音频实时检测并捕获按下的键。使用关于语言的统计信息(n-gram频率)。无需训练数据。recording.kbd输入文件必须通过record-full生成,并包含将要分析的音频数据。n-gram.txt文件必须包含相应语言的n-gram概率。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./keytap2-gui recording.kbd n-gram.txt

反馈

如果你对该工具有任何的疑问或建议,欢迎在此处留下你的评论。

*参考来源:GitHub,FB小编secist编译,转载请注明来自FreeBuf.COM

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android平台RTMP推送|轻量级RTSP服务如何实现麦克风|扬声器声音采集切换
我们在做Android端同屏的时候,开发者希望可以高版本的Android系统上,在设备支持的前提下,可以采集到扬声器输出的audio,并支持和麦克风采集的audio相互切换,实现无纸化|智慧教室同屏不同audio模式的输出。Android系统出于安全和隐私的考虑,默认并不允许应用程序直接访问系统级别的音频输出。
音视频牛哥
2024/08/21
2080
Android平台RTMP推送|轻量级RTSP服务如何实现麦克风|扬声器声音采集切换
uni-app实战案例:实现H5页面麦克风权限获取与录音功能
你好,我是喵喵侠。在我们日常的前端开发中,时常会遇到需要获取设备麦克风权限并进行录音的需求。比如,接到一个需求,要求在聊天对话框中实现语音识别功能,用户点击按钮开始录音,再次点击按钮停止录音,并将录制的音频转换成文字进行显示。在这个过程中,技术上的难点主要集中在如何通过浏览器获取麦克风权限,以及如何处理麦克风接收到的音频流。
喵喵侠
2024/08/09
3.6K0
uni-app实战案例:实现H5页面麦克风权限获取与录音功能
『开发技巧』Python音频操作工具PyAudio上手教程
当需要使用Python处理音频数据时,使用python读取与播放声音必不可少,下面介绍一个好用的处理音频PyAudio工具包。
小宋是呢
2019/06/27
5.4K1
『开发技巧』Python音频操作工具PyAudio上手教程
Android平台实现屏幕录制(屏幕投影)|音频播放采集|麦克风采集并推送RTMP或轻量级RTSP服务
好多开发者,希望我们能系统的介绍下无纸化同屏的原理和集成步骤,以Android平台为例,无纸化同屏将Android设备上的屏幕内容实时投射到另一个显示设备(如Windows终端、国产化操作系统或另一台Android设备)上,从而实现多屏互动和内容的无缝共享。
音视频牛哥
2024/08/16
2760
Android平台实现屏幕录制(屏幕投影)|音频播放采集|麦克风采集并推送RTMP或轻量级RTSP服务
python-声音录制和处理
用sounddevice包播放音乐直接调用play函数来播放声音,需要传入需要播放声音的波形,和采样率。
用户9925864
2022/07/27
1.2K0
python-声音录制和处理
Android平台摄像头麦克风视音频采集录像之MediaRecorder还是SmartPublisher
在 Android 中录制摄像头采集的数据到 MP4 文件,我们可以用系统自带的MediaRecorder,也可以用第三方成熟的摄像头采集录制库,本文就两种方案,做个大概的梳理。
音视频牛哥
2024/11/21
2960
Android平台摄像头麦克风视音频采集录像之MediaRecorder还是SmartPublisher
Android 音频PCM数据的采集和播放,读写音频wav文件
本文目的:使用 AudioRecord 和 AudioTrack 完成音频PCM数据的采集和播放,并读写音频wav文件
AnRFDev
2021/02/01
3.9K0
音频处理入门:Python 库与工具使用指南
音频处理是数字媒体和人工智能领域中的一个重要分支,它涉及到音频的录制、播放、编辑和分析等多个方面。Python 作为一种强大的编程语言,提供了多种库和工具来帮助开发者进行音频处理。本文将介绍几个常用的 Python 音频处理库,并提供相应的使用示例,以帮助读者快速入门。
蚂蚁蚂蚁
2024/03/27
2.9K0
Android平台实现系统内录(捕获播放的音频)并推送RTMP服务技术方案探究
几年来,我们在做无纸化同屏或在线教育相关场景的时候,总是被一件事情困扰:如何实现Android平台的系统内录,并推送到其他播放端,常用的场景比如做无纸化会议或教育的时候,主讲人或老师需要放一个视频,该怎么办呢?这里我们分析三种可行的技术方案:
音视频牛哥
2022/11/10
2.4K0
惊现编程「降维打击」:CodeBuddy 把录屏录音工具开发玩成「搭积木」
本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴
Undoom
2025/05/24
800
Android平台RTSP转RTMP推送之采集麦克风音频转发
RTSP转RTMP推送,好多开发者第一想到的是采用ffmpeg命令行的形式,如果对ffmpeg比较熟,而且产品不要额外的定制和更高阶的要求,未尝不可,如果对产品稳定性、时延、断网重连等有更高的技术诉求,比较好的办法,还是采用我们的技术实现。
音视频牛哥
2024/10/30
1890
Android平台RTSP转RTMP推送之采集麦克风音频转发
程序员带娃有多“恐怖” ?!
换个角度想,这些没自动化的任务,是否可以做成自动化的呢?虽然机器人换尿布还要好几年才能实现,但是目前有一些比较简单的育儿任务可以自动化掉。
小小詹同学
2020/12/29
1.1K0
Linux下使用alsamixer配置系统默认的声卡设备(默认音频输出设备、输入设备、系统音量)
打开图形界面之后,按下F6,即可查看系统默认的声卡。在我的电脑上插了一个USB摄像头,带音频输入,在下图里就能看到两个声卡。退出图形界面按下Esc按键(键盘左上角)。
DS小龙哥
2022/01/12
23.9K1
Linux下使用alsamixer配置系统默认的声卡设备(默认音频输出设备、输入设备、系统音量)
深入理解 AudioUnit(一) ~ IO Unit 结构和运行机制
Apple 平台上如果涉及到音频采集, 很难避开 AudioUnit 这个工具库, AudioUnit 是 Audio Toolbox 下的一套有年头的 C API, 功能相对也比较强大, 虽然苹果最近几年推出并逐渐在其基础之后完善了一套 AVAudioUnit 的 OC/Swift 的 API, 但 AudioUnit 依然有很广泛的使用, 而且了解这套 C API 也对理解 AVAudioUnit 内部的实现和使用有很大的帮助.
JoeyBlue
2022/03/30
2.8K0
深入理解 AudioUnit(一) ~ IO Unit 结构和运行机制
Android平台通过RTSP服务实现摄像头麦克风共享
前些年,我们在完成Android平台RTMP直播推送模块后,遇到这样的技术需求,好多开发者希望在Android平台,实现摄像头和麦克风音视频数据采集编码打包后,对外提供RTSP(Real Time Streaming Protocol)服务。
音视频牛哥
2024/09/05
2960
Android平台通过RTSP服务实现摄像头麦克风共享
Android平台如何实现低延迟屏幕采集编码打包并推送RTMP服务或轻量级RTSP服务
好多开发者希望搞清楚,Android平台同屏采集到编码推送RTMP的大概流程,简单来说,Android上采集屏幕数据,先进行audio和屏幕采集权限申请,包括在清单文件中声明权限和动态申请权限,然后初始化MediaProjectionManager,创建虚拟显示并开始采集,包括处理采集结果时对图像数据的处理。采集到数据后,通过jni层数据接口,发给底层模块,底层模块完成数据的编码打包传输即可。
音视频牛哥
2024/12/04
3990
Android平台如何实现低延迟屏幕采集编码打包并推送RTMP服务或轻量级RTSP服务
Linux 开发板接入OpenAI 实时语音聊天实战
前面我们介绍如何使用纯前端技术实现接入 OpenAI 的实时语音聊天接口,也了解如何使用 .NET 在 Linux 上实现基础的语音录制和播放功能并可以驱动 LCD 屏幕显示。如今万事俱备,只欠东风,我们可以将这些结合起来,实现在 Linux 开发板上接入实时语音聊天功能。
郑子铭
2025/04/30
1930
Linux 开发板接入OpenAI 实时语音聊天实战
智慧教室无纸化同屏方案是否适用RTMP?
智慧教室无纸化方案是一种基于现代信息技术,旨在通过数字化手段实现教学过程的无纸化、智能化和高效化的解决方案。该方案以学生为中心,强调互动化的数字教学服务,旨在提升教学质量和学习效率,同时减少对传统纸张的依赖,实现绿色环保。以下是对智慧教室无纸化方案的详细阐述:
音视频牛哥
2024/09/18
1510
智慧教室无纸化同屏方案是否适用RTMP?
它听键盘声就知道你敲的是什么——GitHub 热点速览 Vol.51
本以为本周的 GitHub 和十二月一样平平无奇就那么度过了,结果 BackgroundMattingV2 重新刷新了本人的认知,还能这种骚操作在线实时抠视频去背景呢!简直是设计师的福音啊。更有意思的是 imgdiff 这个“找茬”项目,它可以快速找寻两张图片的差异,不,这不是它的神奇之处,它的神奇之处在于,它的描述仅有一句话:我比 fastest 的那个识别项目(odiff)更快,这就是技术最有意思的地方,一山总比一山高。#在 GitHub 吃瓜#
HelloGitHub
2021/05/14
9270
它听键盘声就知道你敲的是什么——GitHub 热点速览 Vol.51
Android多媒体之认识声音、录音与播放(PCM)
一、对声音的简单认识 1、模拟信号[摘录于此] 模拟信号传输过程中就是利用传感器把各种自然界各种连续的信号转换为几乎一模一样的电信号。 比如说话声音,原本是声带的震动。经过麦克风的采集,将声波信号转换
张风捷特烈
2019/01/07
3.8K1
推荐阅读
Android平台RTMP推送|轻量级RTSP服务如何实现麦克风|扬声器声音采集切换
2080
uni-app实战案例:实现H5页面麦克风权限获取与录音功能
3.6K0
『开发技巧』Python音频操作工具PyAudio上手教程
5.4K1
Android平台实现屏幕录制(屏幕投影)|音频播放采集|麦克风采集并推送RTMP或轻量级RTSP服务
2760
python-声音录制和处理
1.2K0
Android平台摄像头麦克风视音频采集录像之MediaRecorder还是SmartPublisher
2960
Android 音频PCM数据的采集和播放,读写音频wav文件
3.9K0
音频处理入门:Python 库与工具使用指南
2.9K0
Android平台实现系统内录(捕获播放的音频)并推送RTMP服务技术方案探究
2.4K0
惊现编程「降维打击」:CodeBuddy 把录屏录音工具开发玩成「搭积木」
800
Android平台RTSP转RTMP推送之采集麦克风音频转发
1890
程序员带娃有多“恐怖” ?!
1.1K0
Linux下使用alsamixer配置系统默认的声卡设备(默认音频输出设备、输入设备、系统音量)
23.9K1
深入理解 AudioUnit(一) ~ IO Unit 结构和运行机制
2.8K0
Android平台通过RTSP服务实现摄像头麦克风共享
2960
Android平台如何实现低延迟屏幕采集编码打包并推送RTMP服务或轻量级RTSP服务
3990
Linux 开发板接入OpenAI 实时语音聊天实战
1930
智慧教室无纸化同屏方案是否适用RTMP?
1510
它听键盘声就知道你敲的是什么——GitHub 热点速览 Vol.51
9270
Android多媒体之认识声音、录音与播放(PCM)
3.8K1
相关推荐
Android平台RTMP推送|轻量级RTSP服务如何实现麦克风|扬声器声音采集切换
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验