All Projects → cyz7758520 → Android_audio_talkback_demo_program

cyz7758520 / Android_audio_talkback_demo_program

Android下音频对讲演示程序

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Android audio talkback demo program

Rtp
A Go implementation of RTP
Stars: ✭ 120 (+140%)
Mutual labels:  audio, webrtc
Opentok Ios Sdk Samples
Example applications that use the OpenTok iOS SDK
Stars: ✭ 186 (+272%)
Mutual labels:  audio, webrtc
Xsound
Web Audio API Library for Synthesizer, Effects, Visualization, Multi-Track Recording, Audio Streaming, Visual Audio Sprite ...
Stars: ✭ 123 (+146%)
Mutual labels:  audio, webrtc
Audioswitch
An Android audio management library for real-time communication apps.
Stars: ✭ 69 (+38%)
Mutual labels:  audio, webrtc
Libjitsi
Advanced Java media library for secure real-time audio/video communication.
Stars: ✭ 536 (+972%)
Mutual labels:  audio, webrtc
Instacam
Instant canvas video
Stars: ✭ 106 (+112%)
Mutual labels:  audio, webrtc
Q Municate Ios
Q-municate iOS repository
Stars: ✭ 164 (+228%)
Mutual labels:  audio, webrtc
Libcrtc
WebRTC C++ library built on top of chromium webrtc.
Stars: ✭ 89 (+78%)
Mutual labels:  audio, webrtc
Skylinkjs
SkylinkJS Javascript WebRTC SDK
Stars: ✭ 269 (+438%)
Mutual labels:  audio, webrtc
Multistreamsmixer
MultiStreamsMixer is a JavaScript library that allows you pass multiple streams (e.g. screen+camera or multiple-cameras) and get single stream.
Stars: ✭ 246 (+392%)
Mutual labels:  audio, webrtc
Javascript Media Recorder
WebRTC video recorder library for Javascript
Stars: ✭ 61 (+22%)
Mutual labels:  audio, webrtc
Briefing
Secure direct video group chat
Stars: ✭ 710 (+1320%)
Mutual labels:  audio, webrtc
Webrtc Cli
WebRTC command-line peer.
Stars: ✭ 135 (+170%)
Mutual labels:  audio, webrtc
Recorder
html5 js 录音 mp3 wav ogg webm amr 格式,支持pc和Android、ios部分浏览器、和Hybrid App(提供Android IOS App源码),微信也是支持的,提供H5版语音通话聊天示例 和DTMF编解码
Stars: ✭ 2,891 (+5682%)
Mutual labels:  audio, webrtc
Mixedreality Webrtc
MixedReality-WebRTC is a collection of components to help mixed reality app developers integrate audio and video real-time communication into their application and improve their collaborative experience
Stars: ✭ 568 (+1036%)
Mutual labels:  audio, webrtc
Webrtc
Pure Go implementation of the WebRTC API
Stars: ✭ 8,399 (+16698%)
Mutual labels:  audio, webrtc
Cabbage
A video composition framework build on top of AVFoundation. It's simple to use and easy to extend.
Stars: ✭ 1,030 (+1960%)
Mutual labels:  audio
Keras Sincnet
Keras (tensorflow) implementation of SincNet (Mirco Ravanelli, Yoshua Bengio - https://github.com/mravanelli/SincNet)
Stars: ✭ 47 (-6%)
Mutual labels:  audio
Simpletones.js
The goal of simpleTones.js is to provide every JavaScript developer with a lightweight solution for creating custom sounds in their web applications. This documentation has been written in hopes that the least experienced developer can read, understand and go on to do great things. You can check out several examples at this link:
Stars: ✭ 45 (-10%)
Mutual labels:  audio
Ffmpeg Example
FFMPEG 0.11-4.4/LibAV 0.8-11 example application with byte exact reading
Stars: ✭ 44 (-12%)
Mutual labels:  audio

Android下音频对讲演示程序

必读说明

简介

本软件根据《道德经》为核心思想而设计,实现了两个设备之间通过网络进行全双工实时音频对讲,并做了以下增强处理:

支持声学回音消除,通过本人自己设计的音频输入输出帧同步方法、自适应设置回音延迟方法、三重声学回音消除器,声学回音可以消除到99%以上,还可以消除同一房间回音,且收敛时间很短,无论网络如何抖动都可以消除。

支持噪音抑制,对常见的底噪音、嘈杂的街道音、风吹音、等都有抑制效果。

支持语音活动检测,只有在人说话时才发送网络数据,无人说话时不产生网络数据,从而降低噪音、降低网络流量。

支持自动增益控制,当人说话声音较小时会自动增大音量,当人说话声音较大时会自动减小音量。

支持编解码,对音频数据的压缩率在1~20%之间,且支持动态比特率,从而大幅度降低网络流量,还支持数据包丢失隐藏,当网络丢包率高达30%时,仍然可以进行对讲。

支持自适应抖动缓冲,当网络存在丢包、乱序、延时等抖动情况时,通过自适应调节缓冲深度来应对这些抖动。

声学回音消除器效果对比:

image

准备

准备两台安装了Android 2.3及以上系统的设备(已适配到Android 10),其中一台设备作为客户端可以连接到另一台作为服务端的设备(可以用Ping工具测试,建议两台设备在同一局域网内),且两台设备都安装相同版本的本软件。

开始

在一台设备上直接点击创建服务端,再在另一台设备上将IP地址改为服务端设备的IP地址,并点击连接服务端,即可开始音频对讲,在任意端点击中断,即可中断音频对讲。

设置按钮提供了各项功能的参数设置,绝大部分情况下都不需要修改,当然你也可以根据需要自行修改。

特别注意:如果把两台设备放在同一房间里测试,有可能会出现啸叫、声音不完整、等问题,这是因为现在手机的麦克风都很灵敏了,一点小小的声音都会被录进去,导致软件无法正确识别回音,所以建议放在不同的房间里测试。

移植

如果需要在自己的软件中使用本软件的音频功能,只需要将HeavenTao.Audio包、HeavenTao.Data包和jniLibs文件夹下各个平台的动态库复制到自己的软件中,然后继承HeavenTao.Audio.AudioProcThread类,实现UserInit、UserProcess、UserDestroy、UserReadInputFrame、UserWriteOutputFrame、UserGetPcmOutputFrame这六个函数,再在AndroidManifest.xml文件中添加android.permission.RECORD_AUDIO和android.permission.MODIFY_AUDIO_SETTINGS权限即可。

如果用户要在JNI层处理音频帧,则可以将那六个函数继承为native函数,然后在JNI层实现即可。

如果有不需要的部分功能,则只需要删除该功能对应类文件和动态库文件,然后修改HeavenTao.Audio.AudioProcThread类文件即可。

普通免费版功能包括:WebRtc定点版声学回音消除器、Speex预处理器的噪音抑制、WebRtc定点版噪音抑制器、WebRtc浮点版噪音抑制器、Speex预处理器的其他功能、Speex编解码器、本端TCP协议服务端套接字、本端TCP协议客户端套接字、本端UDP协议套接字。

高级收费版功能包括:Speex声学回音消除器、WebRtc浮点版声学回音消除器、SpeexWebRtc三重声学回音消除器、RNNoise噪音抑制器、自己设计的自适应抖动缓冲器。

注意

不要在64位操作系统下使用32位动态库,或在32位操作系统下使用64位动态库,否则会导致意想不到的问题。

不要对HeavenTao.Audio包、HeavenTao.Data包、HeavenTao.Sokt包进行代码混淆,否则会导致意想不到的问题。

从老版本更新到新版本时,类文件和库文件全部都要更新,不能只更新类文件或库文件,否则会导致意想不到的问题。

如果要使用8000Hz采样频率时,最好不要使用RNNoise噪音抑制,因为它对8000Hz的声音抑制非常强烈。

本软件不支持音乐,尤其是系统自带的噪音抑制器和RNNoise噪音抑制器可能对音乐的抑制非常强烈。

其他

本软件采用了Speex的1.2.0版本、SpeexDsp的1.2.0版本、WebRtc的2019年7月份版本为基础,并进行了大量优化。

讨论QQ群:511046632 欢迎大家参与测试和讨论!

本人QQ号:280604597 赤勇玄心行天道

本人博客:http://www.cnblogs.com/gaoyaguo

Windows版源代码:https://github.com/cyz7758520/Windows_audio_talkback_demo_program

Android版源代码:https://github.com/cyz7758520/Android_audio_talkback_demo_program

感谢

感谢 WELEN、善书、陈国福 对 Speex、WebRTC 的指点!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].