首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 开发之 QQ变声功能实现

1.简介  在QQ中我们使用到的一个功能就是变声,QQ是使用FMOD实现的,那么同样的我们也使用FMOD让自己的应用可以变音 2.FMOD简介 fmod Ex 声音系统是为游戏开发者准备的革命性音频引擎...新建项目,输入项目名称,勾选包含支持c++ ? 一直next最后一步勾选c++支持如下: ? 点击finish项目就创建完成了。...并且将fmod.jar引入进入,项目中如下图所示: ? 4.2将api/lowlevl/inc目录下的文件复制到你项目中的cpp目录下 ? 复制后如下图: ?...bool playing = true; //音乐轨道 Channel *channel; //播放速度 float frequency = 0; //音频地址...6.总结 原声:直接播放音频文件 萝莉:对音频提高八度 大叔:对音频减低八度 惊悚:增加音频的颤音 搞笑:增加音频的播放速度 空灵:增加音频的回音 源码地址:https://github.com/huanglinqing123

1.5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android 端音频变声方案

    但调整音调、节拍仅靠 Android api 就无能为力了,只能集成第三方库来实现,常见的音频处理库有 Fmod 、 SoundTouch。...Fomd https://www.fmod.com SoundTouch http://www.surina.net/soundtouch/ Fmod Fmod 是一个跨平台的音频处理引擎,官网提供了各个平台的接入文档...如果你不需要保存处理后的音频到文件,那就使用 Fmod 吧,你会发现音频变声是如此简单,而且还支持混响、颤音等高级变声效果!...假设一个聊天 app 要实现语音消息变声,那这段语音只会在你的应用中播放,那就都可以通过 Fmod 播放器变声播放啊,要知道 Fmod 可是一个跨平台的音频引擎,不论是 Android、iOS 还是 Web...能否跃过不支持保存处理后的音频到文件这一缺点,关键是要确定用户能否直接接触到处理后的音频文件,若能接触到,就无法使用 Fmod 了。 关于集成使用 Fmod 库十分简单,网上也有很多,就不再展开了。

    1.7K30

    【Android 音频】“声音”从何而来

    4、引擎内录 引擎内录可以统一 Android、iOS、PC 多端音频获取逻辑 从上图可以看出,整个获取内音的逻辑很简单,但是,引擎这么多,引擎插件怎么写就成了一个难题 我们先从最简单的 Unity FMOD...4.1、Unity FMOD 内录 Unity 內置的 Audio 內部使用的是 FMOD,但是没有导出接口,所以无法使用 FMOD 插件的方式。...PCM 文件,这样就可以定位是否是音频本身的问题 this.Write(data); } } } 4.2、 FMOD Studio 内录 感觉这是废话:...安装 FMOD Studio ,打开工程导入 FMOD for Unity 如果只是测试,可以直接使用 FMOD Studio 自带的样例的 bank 文件,FMOD 在 Unity 里面的配置也比较简单...接下来是 FMOD 插件实现的关键代码: ?

    2.3K40

    【C语言】初识C语言(常见的C语言概念)

    一.C语言是什么?...语言大致可以分为自然语言和计算机语言,自然语言就是人与人日常交流的语言,如汉语、英语、日语等等,计算机语言又可以分为机器语言、汇编语言、高级语言,C语言就是一个高级语言 机器语言:就是由二进制01组合起来的计算机可以直接识别的程序语言是一种面向机器的语言...,比起低级语言易懂易学,可移植性好,编程效率高,但是执行效率没有低级语言高,需要经过编译或解释,C语言就是采用编译的一种高级语言 二.为什么选择C语言 C语言常年霸榜各类高级语言前三,属于基础必学的语言...,其功能强大,而且许多语言都很相似,如果学好C语言,对学习其他语言也有很大帮助 三.编译器的选择 C语言是一门编译型的语言,需要依赖编译器将计算机语言转换成机器能够执行的机器指令 常见的编译器有:msvc...+文件,这里没有C文件选项,因为C++和C基本不分家,将后缀名.cpp改为.c就可以了,创建好后就可以开始写我们的第一个C语言程序了 注意:其中.c的文件叫源文件,.h的文件叫头文件(head),后面会慢慢讲到

    13310

    【C++】C 语言与 C++ 语言的关系 ( C 语言发展 | C 语言缺陷 | C 语言 + 面向对象 + 高级语言特性 | C++ 语言增加内容 | C 语言与 C++ 语言应用场景 )

    一、C 语言发展 C 语言 被开发之前 并 没有经过 缜密 的 设计 , 而是在 使用过程中 逐渐完善的 ; C 语言发展经过如下阶段 : 初始阶段 : 1972年至1978年 , C语言 初步形成 ,...C99 , C11 , C17 等标准 , 以满足新的编程需求 ; 二、C 语言缺陷 C 语言有如下缺陷 : C 语言 没有经历过 缜密的 设计过程 , 都是根据需求逐渐完善的 , 出现了很多缺陷和漏洞...2、C 语言与 C++ 语言关系 C 语言 与 C++ 语言 并 不是 竞争关系 ; C++ 语言 是 以 C 语言为基础 的 加强版本编程语言 , 可以看作是更好的 C 语言 , 在 C++ 语言...中 , 可以使用 C 语言语法 , 对 C 语言完全兼容 ; C++ 语言 包含 C 语言 , 在 C++ 代码中可以使用 C 语言的语法 , 但是在 C 语言中不能使用 C++ 的语法 ; 3、C++...语言应用场景 C 语言 和 C++ 语言的应用场景 : C语言 应用场景 : 系统软件、操作系统、编译器等 底层系统级应用 ; C++ 语言 应用场景 : 大型应用程序、游戏 等更 高级的应用 ; 在不同的

    29720

    谷歌发布音频SDK Resonance Audio,助力VR、AR开发

    近日、谷歌发布了一款名为“Resonance Audio”的新型空间音频软件开发套件。...谷歌对VR的空间音频支持已经非常成熟。...在今年2月份,谷歌官方博客上的一篇文章清楚认识到,兼容各种音频工具是一场“混乱和耗时”的战斗,并且描述了在Unity和Unreal引擎上为多个平台开发精简的FMOD和Wwise插件。...这将简化任何VR/AR游戏或体验中的空间音频的开发工作流程。据映维网了解,新SDK支持在安卓,iOS,Windows,MacOS和Linux上运行的“最流行的游戏引擎,音频引擎和数字音频工作站”。...谷歌正在为“Unity,Unreal,FMOD,Wwise和DAW”以及“C/C ++,Java,Objective-C和Web本地API”提供集成。

    95970

    ffplay.c 源码分析- 音频部分

    音频的线程模型.png 概述 主要的负责音频播放的线程,主要有如上几个 1. 读取线程-read_thread 在main方法中会启动的读取的线程。 这个和视频的线程模型中是一致的。...送入队列 最后将得到的数据,送入对应的流的packet队列(视频/音频/字幕都对应视频流自己的队列) 2....---- 音频参数 定义了一个结构体,来简单的保存音频的参数。...//每一秒的字节数 int bytes_per_sec; } AudioParams; ffplay初始化(main_thread) 进行初始化的整体流程,大部分和上一边文章相似ffplay.c...(视频、音频和字幕,对应打开自己的解码线程) stream_component_open中的音频部分 switch (avctx->codec_type) { case AVMEDIA_TYPE_AUDIO

    1.3K21

    音频降噪算法 附完整C代码

    降噪是音频图像算法中的必不可少的。 目的肯定是让图片或语音 更加自然平滑,简而言之,美化。 图像算法和音频算法 都有其共通点。 图像是偏向 空间 处理,例如图片中的某个区域。...音频更偏向 时间 处理,例如语音中的某段时长。 音频一般是一维数据为主,单声道波长。 处理方式也是差不多,要不单通道处理,然后合并,或者直接多通道处理。 只是处理时候数据参考系维度不一而已。...音频降噪目前感觉大有所为,像前面分享的《基于RNN的音频降噪算法 (附完整C代码)》 能达到这样的降噪效果,深度学习 确实有它独到的一面。...至于算法的实现,见源代码: 浮点版本: noise_suppression.c  定点版本: noise_suppression_x.c 算法提供4个降噪级别,分别是: enum nsLevel {...src[i]); } static int16_t FloatToS16_C(float v) { static const float kMaxRound = (float) INT16_MAX

    9.4K143

    WebRTC 音频算法 附完整C代码

    WebRTC提供一套音频处理引擎, 包含以下算法: AGC自动增益控制(Automatic Gain Control) ANS噪音抑制(Automatic Noise Suppression) AEC是声学回声消除...(Acoustic Echo Canceller for Mobile) VAD是静音检测(Voice Activity Detection) 这是一套非常经典,以及值得细细品阅学习的音频算法资源。...在前面分享的博文,也有提及音频相关知识点。 一些算法优化的知识点,由于历史的原因, WebRTC的实现已经不是当下最优的思路。 但也是非常经典的。...WebRTC 着力于音频通信,所以它对性能的要求是极高的。 而算法的性能的优化,绝大多数情况的思路,都是特例化。 以前在公司开技术分享会的时候,也分享过。 也就一句话,越靠近CPU,性能越快。

    3K50

    【C语言】C语言入门知识

    一、主函数 C语言的主函数是main()函数,有且仅有一个。 例如: int main() { return 0; } 是一个标准的C语言主函数。...二、输入、输出函数 C语言中的输出函数为printf,输入函数为scanf,使用前需要引用头文件#include 。...(2)C语言中的常见单位(从小到大): bit(比特)<byte(字节)<KB<MB<GB<TB<PB<..... 1byte = 8bit 1KB = 1024byte 1MB = 1024KB...四、变量和常量 4.1 变量的使用 C语言中常量是不变的值,变量是可变的值 创建变量的使用: int age = 10; char ch = 'w'; float weight = 45.5f...4.3 常量 C语言中的常量分为字面常量,const修饰的常变量,#define 定义的标识符常量,枚举常量。 (1)字面常量:100,'w',3.14等。

    16410

    被FMOD的内存管理坑了一把

    最近遇到个内存泄露, 查来查去竟然在FMOD模块里 要不是别的组件全部定制了内存分配函数, 还真不会怀疑到它头上 使用FMOD::EventSystem::getMemoryInfo()输出内存信息一看..., 直接崩溃了, 100MB~200MB 之前我是用XACT的, FMOD本以为是差不多的东西, 就没怎么在意, 结果摔一跟头 细细的去读了一下文档, 发现有3点: FMOD::Memory_Initialize...可以把FMOD的内存分配器换成自己的, 方便统计各模块的内在使用情况 这个函数需要链接fmodex的lib, 只有fmod event的lib不行的 这步可选, 但是我们自己的内存分析工具对于自己内存模块分配的比较好分析..., 所以还是定制了一下 FMOD::Event 播放声音会分配一些内存, 如果你不进行回收的话, FMOD是不会释放的, 除非你把整个工程(.fev)unload掉 一般关卡式的游戏才会使用切换工程的方式管理...把压缩过的音频数据解压到内存再播放. 要知道一首背景音乐解压完有几十MB... 检查发现我们的SoundBank竟然都设置成了"Decompress into memory", 汗死.

    1.9K20

    C语言 | 为什么学C语言

    C语言的重要性 C语言是所有高级语言的前辈,C++,C#,Java ,都是由C语言演变过来的,包括现在很火的python,第一个Python编译器诞生,它是用C语言实现的。...所有大学理科专业的必修课程都是C语言,就算你将来不从事开发, 期末考试总不能挂科吧,除了C语言,小林不知道还有哪一门课这么普及。...我们常用的操作系统windows、linux、unix是C语言开发的,如果你想当黑客必须学C语言,你去黑别人电脑的是不是绕不操作系统。 如果你想入职阿里、腾讯这样的大厂,必须学C语言,为什么呢?...C语言应用领域 操作系统:windows、linux、unix 数据库:Oracle和sql server 一些驱动程序 wps、photoshop 嵌入式开发 C语言特点 C语言简洁,灵活,有37个关键字...C语言数据类型极其丰富。 C语言程序执行效率很高,可以直接操作内存。 C语言学习目标 掌握C语言的语法规则,数组、循环、函数、指针等。 要学会一些算法,比如冒泡排序、快速排序、递归等。

    26.3K42

    【C语言】C语言可以做什么?

    C语言作为一种高效、灵活且具有底层控制能力的编程语言,在软件开发的多个领域中得到了广泛应用。以下是C语言在主要应用领域中的总结: 1....操作系统开发 1.1 操作系统内核 C语言因其高效性和底层硬件控制能力,被广泛用于编写操作系统内核。Unix、Linux和Windows等操作系统的内核部分主要是用C语言编写的。...3.3 多媒体处理 C语言广泛用于开发多媒体处理应用,如音频和视频编解码器、流媒体服务器等,这些应用需要高效处理大量数据和实时响应。 4....通信与信号处理 11.1 数字信号处理 C语言用于实现数字信号处理(DSP)算法,如滤波、变换、调制和解调等,广泛应用于通信系统、音频处理和图像处理等领域。...15.2 数据转换工具 数据转换工具用于在不同格式之间转换数据,如图像格式转换、音频格式转换和文档格式转换。C语言的高效性使这些工具能够快速处理大量数据。

    14910

    C语言初阶:一.初识C语言

    1.C语言是什么?   人们通过与计算机语言来和计算机进行交流。目前已知的计算机语言已经多达上千种语言。人们通过计算机语言来编写程序,给计算机下达指令,从而让计算机执行工作。  ...C语言是众多计算机语言中的一种,其他让人耳熟能详的计算机语言还有C++,Java,Go,Python等。...2.C语言历史来源 (1)C语言发展历史 (2)C语言标准演变 3.学习C语言的开端 3.1编译器的选择(以VS2022为例)   C语言是一门编译型计算机语言,C语言源代码是文本文件(文本文件无法直接执行....c,将.cpp改为.c即可 3.3编写第一个C语言程序 #include int main() { printf("Hello world!...\n"); return 0; } 恭喜你,成功的编写出自己的第一个C语言代码程序!

    8710
    领券