HTML Аудио запись до тишины?

Я ищу способ записи на основе браузера, пока не наступит тишина .

Запись звука в формате HTML с микрофона возможна в Firefox и Chrome — usingRecordmp3js см. http://nusofthq.com/blog/recording-mp3-using-only-html5-and-javascript-recordmp3-js/и код на github: http://github.com/nusofthq/ Recordmp3js

Я не вижу способа изменить этот код для записи до тишины.

Записывать до тех пор, пока тишина не будет сделана (и настроена) с использованием Java для собственного Приложение для Android — см. Здесь: Обнаружение тишины при захвате звука в Android

Голосовой поиск Google демонстрирует, что браузер может это делать, но как я могу использовать Javascript? Есть идеи?


Если вы используете API веб-аудио, откройте запись звука с микрофона в реальном времени, вызвав: navigator.getUserMedia, затем создайте узел с помощью: createScriptProcessor, затем вы назначаете этому узлу обратный вызов для его события: onaudioprocess. Внутри вашей функции обратного вызова (ниже я использую script_processor_analysis_node) у вас есть доступ к звуковому буферу в реальном времени, который вы затем можете анализировать в поисках тишины (некоторый промежуток времени, когда амплитуда низкая [остается близкой к нулю]).

для нормальной звуковой кривой во временной области см .: array_time_domain, который заполняется заново при каждом вызове callback script_processor_analysis_node … аналогично для частотной области см. array_freq_domain

Уменьшите громкость динамика или используйте наушники, чтобы избежать обратной связи с микрофоном -> динамик -> микрофон …

      захватить микрофон, а затем показать вывод во временной и частотной области   var webaudio_tooling_obj = function () {var audioContext =  новый AudioContext ();  console.log ("аудио запускается ...");  var BUFF_SIZE_RENDERER = 16384;  var audioInput = null, микрофон_stream = null, gain_node = null, script_processor_node = null, script_processor_analysis_node = null, analyser_node = null;  если (! navigator.getUserMedia) navigator.getUserMedia = navigator.getUserMedia ||  navigator.webkitGetUserMedia ||  navigator.mozGetUserMedia ||  navigator.msGetUserMedia;  if (navigator.getUserMedia) {navigator.getUserMedia ({audio: true}, function (stream) {start_microphone (stream);}, function (e) {alert ('Ошибка записи звука.');});  } else {alert ('getUserMedia не поддерживается в этом браузере.');  }//--- функция show_some_data (given_typed_array, num_row_to_display, label) {var size_buffer = given_typed_array.length;  var index = 0;  console.log («__________» + метка);  if (label === "time") {for (; index <num_row_to_display && index <size_buffer; index + = 1) {var curr_value_time = (given_typed_array [index]/128) - 1.0;  консоль. журнал (curr_value_time);  }} else if (label === "частота") {for (; index <num_row_to_display && index <size_buffer; index + = 1) {console.log (given_typed_array [index]);  }} else {выбросить новую ошибку («ОШИБКА - должно пройти время или частота»);  }} функция process_microphone_buffer (event) {var i, N, inp, mic_output_buffer;  микрофон_output_buffer = event.inputBuffer.getChannelData (0); //только моно - пока 1 канал} function start_microphone (stream) {gain_node = audioContext.createGain ();  gain_node.connect (audioContext.destination);  mic_stream = audioContext.createMediaStreamSource (поток);  микрофон_стрим.connect (узел_усиления);  script_processor_node = audioContext.createScriptProcessor (BUFF_SIZE_RENDERER, 1, 1);  script_processor_node.onaudioprocess = process_microphone_buffer;  микрофон_поток.connect (script_processor_node); //--- включим регулировку громкости для выходных динамиков document.getElementById ('volume'). addEventListener ('change', function () {var curr_volume = this.value; gain_node.gain.value = curr_volume; console.log ("  curr_volume ", curr_volume);}); //--- установим FFT script_processor_analysis_node = audioContext.createScriptProcessor (2048, 1, 1);  script_processor_analysis_node.connect (gain_node);  analyser_node = audioContext.createAnalyser ();  analyser_node.smoothingTimeConstant = 0;  analyser_node.fftSize = 2048;  микрофон_поток.connect (узел_анализатора);  analyser_node.connect (script_processor_analysis_node);  var buffer_length = analyser_node.frequencyBinCount;  var array_freq_domain = новый Uint8Array (buffer_length);  var array_time_domain = новый Uint8Array (buffer_length);  console.log ("длина_буфера" + длина_буфера);  script_processor_analysis_node.onaudioprocess = function () {//получить среднее значение для первого канала analyser_node.getByteFrequencyData (array_freq_domain);  analyser_node.getByteTimeDomainData (array_time_domain); //рисуем спектрограмму if (mic_stream.playbackState == mic_stream.PLAYING_STATE) {show_some_data (array_freq_domain, 5, "frequency");  show_some_data (array_time_domain, 5, «время»); //сохраняем это для записи в агрегированный буфер/файл//исследуем array_time_domain на предмет близких к нулю значений за некоторый период времени}};  }} (); //webaudio_tooling_obj = function ()    

Volume


Это старый пост, но я уверен, что у многих будет такая же проблема, поэтому я публикую здесь свое решение. Используйте hark.js

Ниже приведен пример демонстрационного кода, который я использовал для своего электронного приложения

  hark = require ('./node_modules/hark/hark  .bundle.js ') навигатор. getUserMedia ({audio: true}, onMediaSuccess, function () {});  функция onMediaSuccess (блог) {var options = {};  var SpeechEvents = hark (блог, параметры);  SpeechEvents.on ('говорящий', функция () {console.log ('говорящий');});  SpeechEvents.on ('остановлено_говор', функция () {console.log ('остановлено_говор');});  };  


Решение от @Scott Stensland не не позволяю мне разбираться в тишине. Я получаю одно и то же значение при анализе двух массивов, то есть всегда получаю 0 при синтаксическом анализе arrayFreqDomain и 128. всегда при синтаксическом анализе arrayTimeDomain

  let analyzer = context.createAnalyser (); analyser.smoothingTimeConstant = 0; analyser.fftSize =  2048; let buffLength = analyser.frequencyBinCount; let arrayFreqDomain = new Uint8Array (buffLength); let arrayTimeDomain = new Uint8Array (buffLength); processor.connect (analyzer); processor.onaudioprocess = (event) => {/** * * Parse  живой буфер реального времени ищет тишину * **/analyser.getByteFrequencyData (arrayFreqDomain);  analyser.getByteTimeDomainData (arrayTimeDomain);  если (context.state === "работает") {let sizeBuffer = arrayTimeDomain.length;  пусть index = 0;  для (; индекс  



Худшие неприятности Android и способы их устранения

Android может быть самой популярной мобильной платформой на планете, но это не так. без изъянов. Телефоны и планшеты Android часто страдают от посредственного времени автономной работы, снижения производительности со временем, неприятных шумов уведомлений и множества других раздражителей.

Хорошая новость в том, что, поскольку операционная система Google очень гибкая, есть решение практически любой проблемы. Это 12 худших проблем Android и решения для каждого из них.

Ваш телефон со временем замедляется
. Когда вы принесли свой телефон Android домой из магазина, он почувствовал себя очень быстро. Теперь просто возврат на главный экран из почтового ящика занимает много времени. Если телефон заставляет вас ждать пять секунд, чтобы снова открыть браузер, вы можете проверить дисплей Gorilla Glass с помощью молотка.

К счастью , вам не нужно сидеть и смотреть на экран, ожидая, что что-то произойдет, и вам не нужно заменять трубку. Очистив кеш приложения, попробовав новый лаунчер и выполнив несколько других шагов, вы можете вернуть к жизни свой медлительный смартфон..

Подробнее: как ускорить работу телефона Android

Ваш телефон издает неприятные звуки
. Пытаетесь ли вы спать или во время собеседования, ваш телефон Android всегда издает шум в самый неподходящий момент. Не любите непрерывно перезвонить или слышать, как телефон кричит «Дроид», как какой-то робот-убийца? Легко научить ваше устройство манерам.

Вы можете зайти в каждое отдельное приложение и попытаться отключить звуки уведомлений, но независимо от того, сколько вы выключите, всегда есть еще одна служба, готовая появиться из ниоткуда и издать шум, когда вы меньше всего этого ожидаете.

Решение состоит не в отключении уведомлений Android по частям, а в том, чтобы выбрать звуковой файл в качестве звука по умолчанию.

Подробнее: как отключить шумные уведомления на телефоне Android

Не могу избавиться от вредоносного ПО
От торговых приложений, таких как Amazon, до сервисы для конкретных операторов, такие как Sprint TV и VZ Navigator, большинство телефонов Android поставляются с завода с ненужными приложениями.

Многие из этих приложений работают в фоновом режиме, даже если вы никогда их не используете, и, что еще хуже, их нельзя удалить при нормальных обстоятельствах. К счастью, вы можете отключить этих предварительно загруженных паразитов в меню настроек, заморозив их.

Подробнее: Как удалить вредоносное ПО для Android

Малое время автономной работы
В идеальном мире вы могли бы просматривать веб-страницы, проверять электронную почту и играть в трехмерные игры на своем телефоне в течение всего дня, не теряя заряда. В реальном мире большинство телефонов Android не могут прожить целый день интенсивного использования, а некоторым требуется зарядка к обеду.

Однако, если вы готовы пойти на несколько компромиссов, например, понизить уровень яркости, отключить фоновые данные и выключить GPS, вы можете получить больше выносливости, не покупая дополнительную батарею или портативное зарядное устройство. Если вы не боитесь аннулировать гарантию, вы можете сэкономить массу энергии, снизив напряжение на Nexus 4, Samsung Galaxy S3, Galaxy Note II или другом телефоне.

Подробнее: 10 советов по экономии заряда батареи для Android

Вы не можете сказать, сколько заряда у вас осталось.
Если бы вы знали, что у вас осталось всего 40 процентов заряда батареи в 15:00, вы могли бы изменить свои настройки и поведение, чтобы сделать это до конца дня.

К сожалению, большинство телефонов Android просто показывают крошечный зеленый или синий значок в верхнем левом углу экран, который в течение дня выглядит все менее и менее заполненным, но не дает точного числа, чтобы вы знали, сколько сока у вас осталось.

Установив стороннее приложение, такое как виджет батареи Элвисона из магазина Google Play, вы можете постоянно отображать точный уровень заряда батареи.

Подробнее: как показать время автономной работы в процентах на вашем телефоне Android

Ваш интерфейс выглядит некрасиво
Когда вы покупали свой телефон, вы думали, что значки, меню и рабочий стол выглядят нормально, но теперь каждый раз, когда вы смотрите на него, вас начинает рвать.

Конечно, вы можете поменять обои, но это всего лишь нанесение помады на свинью. К счастью, вам не нужно заменять телефон или проходить рискованный процесс рутирования, чтобы его интерфейс выглядел намного лучше.

Сторонние программы запуска Android, такие как LauncherPro, Go Launcher Ex и Lightning Launcher Home, могут заменить ваш старомодный домашний экран и меню приложений красивыми новыми темами с эффектами перехода и даже настраиваемыми меню или жестами. поддерживать. Некоторые программы запуска могут даже ускорить вашу систему.

Подробнее: как установить программу запуска Android

Другие телефоны Android имеют лучшие функции
Десять заповедей говорят, что не желайте жена или дом, но они не говорят вам, чтобы вы не испытывали вожделения к функциям его телефона Android.

Если вы хотите, чтобы в вашем телефоне был плавающее окно браузера, такое как QSlide на LG Optimus G Pro, видеопроигрыватель, который появляется поверх ваших приложений, например Pop-up Play на Samsung Galaxy S4, или служба автоматизации, такая как Smart Actions Droid RAZR M, есть приложения, которые могут выполнять все эти функции.

Поищите в магазине Google Play "плавающие приложения", чтобы найти такие программы, как Floating Browser Flux и Super Video, которые работают в перетаскиваемых окнах с изменяемым размером. Кроме того, поищите приложения для автоматизации, такие как Tasker, которые программируют ваш телефон для выполнения различных действий в зависимости от вашего календаря, местоположения или других условий. Вы даже можете настроить приложение так, чтобы ваш телефон не звонил, когда он видит встречу в вашем календаре.

Подробнее : Как получить лучшие функции Samsung, LG на любом телефоне Android

В меню общего доступа тоже есть множество опций
Одной из лучших функций Android является универсальное меню общего доступа, в котором перечислены все приложения, которым вы можете поделиться, от Facebook до вашей учетной записи Gmail.

К сожалению, многие приложения, с которыми вы никогда не поделитесь, такие как передача по Bluetooth или Backup Assistant, оказываются в меню выше, чем те, которые вы используете каждый день, например Twitter.

Стороннее приложение Andmade Share заменяет меню общего доступа Android на настраиваемый список, из которого вы можете переупорядочивать или удалять элементы. Поэтому, если вы делитесь с Pinterest больше, чем с Google Plus, вы можете поставить эту социальную сеть на первое место.

Подробнее: Как редактировать меню общего доступа в Android

Экран блокировки замедляет работу
. На нем может быть красивый виджет погоды, ярлыки для ваших любимых приложений или даже обновления в социальных сетях, но для большинства экран блокировки Android - это не более чем привлекательная «лежачая полицейская», которая мешает каждый раз, когда вы будите свой телефон.

Если вы хотите нажать кнопку питания и немедленно вернуться к тому, что вы делали, когда ваш телефон переходил в спящий режим, просто измените настройку блокировки экрана в меню безопасности Android.

Подробнее: как отключить экран блокировки в Android

Ваш телефон использует неправильные приложения для открытия ссылок или файлов
Иногда кажется, что у вашего телефона есть собственные мысли. Вы нажимаете на ссылку, и она открывает экран в приложении IMDB, когда вы хотите просмотреть его в своем браузере. Вы хотите отредактировать документ Word в QuickOffice, но он открывается в версии Documents to Go только для просмотра.

Как и Windows, Android связывает типы файлов с определенными приложениями, чтобы открывать их, но мобильная ОС идет еще дальше, связывая ссылки на определенные домены с приложениями. Например, вы можете запустить приложение Newegg, нажав на ссылку, ведущую на www.newegg.com. Если вам не нравится приложение, открывающее определенный тип файла, просто перейдите в меню настроек приложения, выберите программу, связь с которой вы хотите удалить, и нажмите «Очистить настройки по умолчанию». В следующий раз, когда вы попытаетесь открыть этот тип файла, вам будет предложено выбрать новое приложение по умолчанию.

Подробнее: Как изменить приложения по умолчанию в Android

Виртуальная клавиатура - отстой
Ввод текста с экранной клавиатуры телефона Android по умолчанию может быть упражнением в расстройстве. Вы продолжаете нажимать не те клавиши, вам нужно менять режим каждый раз, когда вам нужно ввести число, а интеллектуальный текст никогда не угадает слово, которое вы набираете.

Хуже того, клавиатура настолько уродлива, что вам хочется печатать, не глядя.

Если вам не нравится клавиатура по умолчанию на вашем телефоне или планшете, Android позволяет легко установить лучшую стороннюю альтернативу. Выполняя поиск в магазине Google Play, вы можете найти более десятка клавиатур с превосходным предсказанием текста, выделенными числовыми рядами и пользовательскими скинами. Вы даже можете получить различные раскладки клавиатуры и клавиатуры с изменяемым размером.

Подробнее: 5 лучших клавиатурных приложений для Android

У вас устаревшая версия Android
Последняя итерация Android - Jelly Bean (версия 4.2), но на вашем телефоне все еще есть устаревший Ice Cream Sandwich ( 4.0) или даже имбирный пряник (2.3).

Другими словами, вы упускаете о таких ключевых функциях, как голосовой помощник Google Now, подробные уведомления и поддержка всех современных приложений. Вы можете молиться, чтобы когда-нибудь ваш оператор или производитель пожалели вас и выпустили беспроводное обновление ОС, или вы могли взять дело в свои руки, рутировав свое устройство и установив пользовательское ПЗУ.

Рутирование Android-устройства не для слабонервных. Этот процесс включает в себя ряд сложных шагов, неправильное выполнение которых может превратить ваш телефон или планшет в кирпич, на который не распространяется ваша гарантия. Однако, если вы готовы рискнуть, вы можете найти инструкции по рутированию для вашего конкретного устройства на таких сайтах, как форумы разработчиков unlockr или xda. Имея рутированный телефон, вы можете не только обновлять операционную систему, но и запускать приложения, которые предоставляют недоступные иным образом возможности, такие как захват экрана видео или разгон.

Подробнее: 10 лучших приложений для рутированных телефонов

Оцените статью
clickpad.ru
Добавить комментарий