音量检测

检测当前麦克风的输入音量

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; public class NewBehaviourScript2 : MonoBehaviour
{
private static int VOLUME_DATA_LENGTH = ; //录制的声音长度 public float volume; //音量 public Text text; public Slider slider; private AudioClip mMicrophoneRecode; //录制的音频
private string mDeviceName; //设备名称 public int xishu=;
private const int frequency = ; //码率
private const int lengthSec = ; //录制时长 // Use this for initialization
void Start () {
//获取设备名称
mDeviceName = Microphone.devices[]; //录制一段音频
mMicrophoneRecode = Microphone.Start(mDeviceName, true, lengthSec, frequency);
} // Update is called once per frame
void Update () {
volume = GetMaxVolume();
volume*=xishu;
slider.value=Mathf.Lerp(slider.value,volume/,0.1f);
text.text=volume.ToString();
} /// <summary>
/// 获取最大的音量
/// </summary>
///
/// <returns>
/// 音量大小
/// </returns>
private float GetMaxVolume()
{
float maxVolume = 0f; //用于储存一段时间内的音频信息
float[] volumeData = new float[VOLUME_DATA_LENGTH]; int offset;
//获取录制的音频的开头位置
offset = Microphone.GetPosition(mDeviceName) - VOLUME_DATA_LENGTH + ; if(offset < )
{
return 0f;
} //获取数据
mMicrophoneRecode.GetData(volumeData, offset); //解析数据
for(int i = ;i < VOLUME_DATA_LENGTH; i++)
{
float tempVolume = volumeData[i];
if(tempVolume > maxVolume)
{
maxVolume = tempVolume;
}
} return maxVolume;
}
}

关键字识别

此处利用win10自带的识别

记得引入

 using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Windows.Speech;//引入命名空间 利用
using SpeechLib;
public class NewBehaviourScript1 : MonoBehaviour
{
// 短语识别器
private PhraseRecognizer m_PhraseRecognizer;
// 关键字 public string[] keywords; public GameObject xiangdu; // 可信度
public ConfidenceLevel m_confidenceLevel = ConfidenceLevel.Medium;
// Use this for initialization
void Start ()
{ //创建一个识别器
m_PhraseRecognizer = new KeywordRecognizer (keywords, m_confidenceLevel);
//通过注册监听的方法
m_PhraseRecognizer.OnPhraseRecognized += M_PhraseRecognizer_OnPhraseRecognized;
//开启识别器
m_PhraseRecognizer.Start ();
} // 当识别到关键字时,会调用这个方法 private void M_PhraseRecognizer_OnPhraseRecognized (PhraseRecognizedEventArgs args)
{
print (args.text);
if (args.text.Equals("小爱"))
{
SpVoice v = new SpVoice();
v.Voice = v.GetVoices(string.Empty, string.Empty).Item();
v.Speak("我在");
} if (args.text.Equals("帮我倒杯水"))
{
SpVoice v = new SpVoice();
v.Voice = v.GetVoices(string.Empty, string.Empty).Item();
v.Speak("是的主人");
} if (args.text.Equals("播放七里香"))
{
SpVoice v = new SpVoice();
v.Voice = v.GetVoices(string.Empty, string.Empty).Item();
v.Speak("好的,主人,开始播放七里香");
gameObject.SetActive(false);
xiangdu.SetActive(true);
xiangdu.GetComponent<AudioSource>().Play();
} if (args.text.Equals("哈哈"))
{
SpVoice v = new SpVoice();
v.Voice = v.GetVoices(string.Empty, string.Empty).Item();
v.Speak("主人,我没听懂");
gameObject.SetActive(false);
xiangdu.SetActive(true);
xiangdu.GetComponent<AudioSource>().Play();
}
}
private void OnDestroy ()
{
//用完应该释放,否则会带来额外的开销
m_PhraseRecognizer.Dispose ();
}
// Update is called once per frame
void Update ()
{ } }

Unity 声音处理 之 语音识别的更多相关文章

  1. dome 模块 pyaudio 声音处理 为语音识别准备

    dome 模块 pyaudio 声音处理 为语音识别准备 直接上例子 dome1 声音强度检查 import pyaudio import numpy as np class QAudio: CHUN ...

  2. 【Unity】讯飞语音识别SDK

    1.进入讯飞官网,注册帐号,进入控制台,创建新应用UnityXunfeiDemo,平台选Android.在当前应用这点下载SDK,添加AI能力(添加新服务),选择语音听写,即可下载安卓SDK(下称讯飞 ...

  3. Unity声音-音源组件

    音源组件(AudioSource) 音源是场景中在某个位置的发声装置,好像一个喇叭.它播放着音频片段 (Audio Clip). 发出的声音将输出到声音监听器(audio listener),或者声音 ...

  4. Unity 声音与录音与麦克风实时播放

    Unity AudioSource与MicroPhone以及AudioClip之间的关系. 下面是一个声音,长度为7秒钟,声音的实际数据本质是由采样点组成的的列表,一秒钟内的采样点数就是采样频率,下面 ...

  5. Unity 声音播放不受Time.scale为0的影响

    其他会暂停,目前发现声音不受影响 嗯,就这样.

  6. HoloLens开发手记 - Unity之Spatial Sounds 空间声音

    本文主要讲述如何在项目中使用空间声音特性.我们主要讲述必须的插件组件和Unity声音组件和属性的设置来确保空间声音的实现. Enabling Spatial Sound in Unity 在Unity ...

  7. (二)Hololens Unity 开发之 语音识别

    学习源于官方文档 Voice input in Unity 笔记一部分是直接翻译官方文档,部分各人理解不一致的和一些比较浅显的保留英文原文 (二)Hololens Unity 开发之 语音识别 Hol ...

  8. (三)Hololens Unity 开发之 语音识别

    学习源于官方文档 Voice input in Unity 笔记一部分是直接翻译官方文档,部分各人理解不一致的和一些比较浅显的保留英文原文 (三)Hololens Unity 开发之 语音识别 Hol ...

  9. 给自己的Unity添加声音文件

    下面说明一下,在Unity 里是怎么样加载声音文件的. Unity同时支持单声道和立体声音频资产. Unity支持导入以下音频文件格式:.aif, .wav, .mp3, 和 .ogg,和以下音轨模块 ...

随机推荐

  1. MongoDB 谨防索引seek的效率问题【华为云技术分享】

    目录 背景 初步分析 索引seeks的原因 优化思路 小结 声明:本文同步发表于 MongoDB 中文社区,传送门:http://www.mongoing.com/archives/27310 背景 ...

  2. 带着canvas去流浪系列之八 碰撞

    [摘要] canvas动画-碰撞仿真 示例代码托管在:http://www.github.com/dashnowords/blogs 经过前面章节相对枯燥的练习,相信你已经能够上手canvas的原生A ...

  3. HIT2019视听觉信号处理视觉实验一

    写在前面 HIT大三上学期视听觉信号处理课程中视觉部分的实验一,经过和学长们实验的对比发现每一级实验要求都不一样,因此这里标明了是2019年秋季学期的视觉实验一. 由于时间紧张,代码没有进行任何优化, ...

  4. Use Swift Dynamic Framework (如何科学地引用第三方 Swift 库)

    转自:http://andelf.github.io/blog/2014/07/07/use-swift-dynamic-library/ CocoaPods 由于完全使用静态链接解决方法,过度依赖 ...

  5. jQuery中操作页面的文本和值

    主要是区分俩种方法: 1.html():可以识别HTML文件,将里面内容全部打印(操作双标签) 2.text():只是将里面的内容打印出来,不能识别HTML格式(操作双标签) <!DOCTYPE ...

  6. IO 文件夹的拷贝

    package FileCopy; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ja ...

  7. Python爬虫根据关键词爬取知网论文摘要并保存到数据库中【入门必学】

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:崩坏的芝麻 由于实验室需要一些语料做研究,语料要求是知网上的论文摘要 ...

  8. BOM和DOM操作

    目录 BOM window对象 window子对象 location 弹出框 计时 history navigator DOM 查找节点 直接查找 间接查找 节点操作 创建节点 添加节点 删除节点 替 ...

  9. 如何禁止chrome浏览器http自动转成https

    Chrome 浏览器 地址栏中输入 chrome://net-internals/#hsts 在 Delete domain security policies 中输入项目的域名,并 Delete 删 ...

  10. mac 删除生成的.DS_Store文件,以及设置不再生成此文件

    步骤一:删除当前目录下所有隐藏.DS_store文件(请一定要在当前目录执行) sudo find ./ -name ".DS_Store" -depth -exec rm {} ...