Unity实时接收麦克风音频将音频可视化类卡拉OK效果展示

news/2024/10/18 14:25:13/

昨天写了一篇关于将麦克风的音频变成可视化的音波       今天我就来把那个音波变成柱状的   -----------类卡拉OK的效果

本文将详细的介绍这一功能的实现,并对上一篇文档进行解析。

点击打开链接

首先:在Start的时候开始录音,

开始之前要记录使用的设备的麦克风,     音频采样率自行百度

Microphone.Start
的使用可以去Unity官网查询有关API文档

public AudioClip micRecord;string device;//记录设备的麦克风名称void Start(){device = Microphone.devices[0];micRecord = Microphone.Start(device, true, 999, 44100);//999 录音时长      44100音频采样率}

下面要处理在每一帧麦克风所录制的声音,并保存到一个baty数组内

 void Update(){volume = GetMaxVolume();}
音频处理:

float GetMaxVolume(){float maxVolume = 0f;float[] volumeData = new float[120];int offset = Microphone.GetPosition(device) - 120 + 1;if (offset < 0){return 0;}micRecord.GetData(volumeData, offset);for (int i = 0; i < 120; i++){float tempMax = volumeData[i] * volumeData[i];//修改麦克风对声音的敏感度可以自行调整,,,想不敏感就乘volumeData[i]就行了,反之就去掉
            //这个if是用来取记录的音频的一部分   和你所加的物体有关  下面有效果图展示if (i % 4 == 0){f = i / 4;ButtonAudio.instance.obj[f].gameObject.transform.localScale = new Vector3(1, volumeData[i] * 30 + 0.5f, 1);//将可视化的物体和音波相关联}}return maxVolume;}
到此,,音频处理结束


下面是处理物块的代码;

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ButtonAudio : MonoBehaviour
{public GameObject[] obj;public static ButtonAudio instance;public float Role;//旋转角度public float r;//半径public int d;//物块个数private void Awake(){//print(Mathf.Sqrt(9));instance = this;}// Use this for initializationvoid Start(){Role = 360.0f / d;print(Role.ToString());obj = new GameObject[d];for (int i = 0; i < d; i++){Object gameObject = Resources.Load("Audio", typeof(GameObject));GameObject Audio = Instantiate(gameObject) as GameObject;Audio.transform.parent = transform;Audio.gameObject.transform.position = Vector3.zero;Audio.gameObject.transform.localRotation = Quaternion.identity;Audio.gameObject.transform.localScale = Vector3.one;Audio.gameObject.transform.Rotate(new Vector3(0, Role * i, 0));Audio.gameObject.transform.Translate(Vector3.forward * r);Audio.name = i.ToString();obj[i] = Audio;}}
}
总之呢,,就是将音频的值和物块的放大缩小相关连  效果就出来了   随后可以将文件分享出来

上几张效果图给大家看看      由于没有美术   毕竟我们看的是功能对吧。

为了让它比较真实。。。。加了一个水面的特效

物块要改成自发光的



为了让它比较真实。。。。加了一个水面的特效

http://www.ppmy.cn/news/349457.html

相关文章

Spark大数据处理学习笔记1.3 使用Scala集成开发环境

文章目录 一、学习目标二、搭建Scala的IntelliJ IDEA开发环境&#xff08;一&#xff09;启动IDEA&#xff08;二&#xff09;安装Scala插件&#xff08;三&#xff09;配置IDEA使用的默认JDK&#xff08;四&#xff09;创建Scala项目1、创建Scala项目 - ScalaDemo2、创建Scala…

python会使电脑变卡吗_用 Python 把电脑变钢琴

标签&#xff1a; 录一段音频&#xff0c;把它的音高改变50次并把每一个新的音频匹配到键盘的一个键位&#xff0c;你就能把电脑变成一架钢琴! 一段音频可以被编码为一组数值的数组(或者列表)&#xff0c;像这样&#xff1a; 我们可以在数组中每隔一秒拿掉一秒的值来将这段音频…

麦克风声音小怎么设置 怎么调节麦克风声音

最近各种播音节目非常受大家欢迎&#xff0c;普及率最高的莫过于YY语音了。在使用电脑麦克风录音或者K歌的时候&#xff0c;总感觉麦克风录音声音小&#xff0c;但又不知道如何设置解决。下面安装系统小编为大家带来了一篇比较完整的麦克风录音声音小的原因分析与解决办法&…

vod点歌系统服务器,冰河家庭VOD点歌系统

亲爱的朋友们,有问题或是意见请到我们的官方网站发表(http://www.yyasp.net),此新浪博客将在2个月后关闭! 冰河VOD点歌系统(手机点歌版)开放公测。该软件通过手机与计算机联网实现在家唱K的乐趣。以下是最新截图: 手机客户端(web点歌台,用浏览器打开,适合所有手机,iphone…

计算机放音乐声音小在吗调,在电脑上使用酷我K歌录歌,发现自唱声音太小怎么办?...

酷我K歌&#xff0c;一款蛮好的K歌&#xff0c;录歌软件。前段时间有人问我&#xff0c;为什么自己录完歌后&#xff0c;试听的时候听不到自己的声音&#xff0c;明明自己的耳麦、话筒都没有问题的。在电脑上录音靠的是外设(就是你的耳麦、话筒等)设备和内置音频系统。两个当面…

手机麦克风声音太大_让手机麦克风声音变大的软件

让手机麦克风声音变大的软件软件是一款可以实现手机当麦克风的软件&#xff0c;通过让手机麦克风声音变大的软件app&#xff0c;可以放大声音&#xff0c;让手机麦克风声音变大的软件软件还能手机连接音响设备等等&#xff0c;让您随时随地就可以K歌&#xff01; 软件介绍 让手…

怎么让计算机唱歌视频教程,如何制作快手唱歌视频

对于喜欢唱歌的朋友们&#xff0c;想要将自己美妙的歌声让更多人听到&#xff0c;想要更多的人欣赏自己的作品&#xff0c;大多数会选择在快手等短视频平台发布自己的录歌视频。那么如何才能在千千万万的歌唱作品中脱颖而出呢&#xff1f;当然&#xff0c;你的歌唱实力起到了决…

k米评分容易得高分的歌_全民K歌上传本地歌曲/替换歌曲/修改SSS评分/导出歌曲作品教程都在这了...

上传本地歌曲前,首先你要明确你为什么要上传本地歌曲? 我想大部分同学应该和我一样,因为我的歌都是在电脑录制并且做好了后期的,效果肯定比在手机录要好很多,所以要上传。 当然还有一部分人是因为要“盗歌”,我之所以现在不玩全民了也正是因为这个,它实在是太火了,火到…