Здравствуйте, дорогие читатели! В этом материале я хотел бы рассмотреть, на мой взгляд, очень интересную библиотеку javascript - whistle.js .

Анализируем голос человека на javascript.

Здравствуйте, дорогие читатели! В этом материале я хотел бы рассмотреть, на мой взгляд, очень интересную библиотеку javascript - whistle.js.

Найти ее исходники вы можете здесь:

Ссылка

Описание

Итак, что же она делает? Данная библиотека анализирует входной голос человека через микрофон и следит за определенными частотами - "свистящими". Когда их уровень становится достаточно высоким, событие(по умолчанию "whistle") запускается на элементе(по умолчанию "document").

Использование

Скачайте архив с исходниками и подключите скрипт:

<script src="whistle.js"></script>

Проведите инициализацию

whistle.init()

Метод init может принимать 3 параметра:

  • whistleEventName - имя события
  • once - если true, то сработает только один раз, когда пользователь начнет "свистеть"
  • precision - если установлен low, то анализатор будет более толерантным

Установите обработчик события

document.addEventListener("whistle", function() {
  alert("Пользователь свистит!");
}, false)

При желании можете проверить, если пользователь "свистит" в реальном времени, его интенсивность.

setInterval(function() {
  if(whistle.whistling) {
   console.log("Пользователь свистит!");
   console.log("intensity: " + whistle.intensity);
  }
}), 10)

Также, вы можете проверить, готов ли whistle.js и подтверждено ли пользователем использование микрофона.

document.addEventListener("whistleReady", function() {
  alert("Whistle.js готов и запущен!")
}, false)

Это все!

Вот такая полезная библиотека, особенно, если вы делаете что-то вроде голосового чата.

Спасибо за внимание и удачи!