хотелось бы узнать есть ли какая-нибудь библиотека для python или c# которая позволяла бы потоково измерять уровень децибел входящего через звуковую карту аудио? Как измерить уровень децибел в определенный момент времени во время постоянного изменения уровня шума вокруг микрофона? Для примера: Человек говорит в микрофон и мне надо измерить его громкость в децибелах через код.
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class MicroPlayer : MonoBehaviour
{
public float sensitivity = 100; // чувствительность
public float loudness = 0; // получаемое число скорости персонажа
void Start()
{
AudioSource aud = GetComponent<AudioSource>();
aud.clip = Microphone.Start(null, true, 10, 44100); // определяем Микрофон, продолжительность записи, фреймы в секунде
while (!(Microphone.GetPosition(null) > 0)) { } // Ждем пока запись начнется
aud.Play();
}
void Update()
{
loudness = GetAveragedVolume() * sensitivity; // получаемое число скорости персонажа
}
float GetAveragedVolume() // метод получения громкости
{
AudioSource aud = GetComponent<AudioSource>();
float[] data = new float[256];
float a = 0f;
aud.GetOutputData(data, 0);
foreach (float s in data)
{
a += Mathf.Abs(s);
}
return a / 256;
}
}
Источник: https://www.cyberforum.ru/unity/thread1936399.html#4
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть DataGrid, в одном из столбцов всегда хранится одно и то же числовое значениеКак это самое значение записать в переменную типа int? Знаю, что...
У меня есть форма с кнопками "вперед" и "назад" условноПри нажатии на кнопку вперед, показываются следующие 5 элементов коллекции...
хочу сделать анимацию заднего фона в простой 2D игре, чтобы при нажатии на клавиши движения, вслед за персонажем начинал в нужную сторону двигаться...
Начал заниматься разработкой игр на UnityПри создании стали возникать проблемы с "чистотой" и "грамотностью" скриптов