Jestem bardzo podekscytowany nową funkcją, która została dodana w wczorajszej wersji Chrome Canary (23.0.1270.0) – chodzi o możliwość uzyskania dostępu do dźwięku na żywo z mikrofonu lub innego wejścia audio na komputerze z systemem operacyjnym OS X. (Ta funkcja nie jest jeszcze dostępna w systemie Windows, ale pracujemy nad tym).
Aby to włączyć, otwórz stronę chrome://flags/ i w jej dolnej części włącz opcję „Wejście audio z sieci”. Następnie uruchom ponownie przeglądarkę.
Możesz przetestować wejście audio na żywo, sprawdzając widmo wejścia za pomocą wizualizacji wejścia na żywo.
Jeśli zajmujesz się kodowaniem dźwięku w sieci, dowiedz się, jak poprosić o strumień wejściowy dźwięku i uzyskać węzeł do połączenia z dowolnym grafem przetwarzania.
// success callback when requesting audio input stream
function gotStream(stream) {
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var audioContext = new AudioContext();
// Create an AudioNode from the stream.
var mediaStreamSource = audioContext.createMediaStreamSource( stream );
// Connect it to the destination to hear yourself (or any other node for processing!)
mediaStreamSource.connect( audioContext.destination );
}
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia;
navigator.getUserMedia( {audio:true}, gotStream );
Jest wiele możliwości wprowadzania dźwięku z małym opóźnieniem, szczególnie w przestrzeni muzycznej. Krótki przykład wykorzystania tego narzędzia znajdziesz w prostym detektorze wysokości, który stworzyłem. Podłącz gitarę lub po prostu zagwiżdż do mikrofonu.
Zgodnie z obietnicą dodałem dźwięk na żywo jako źródło wejściowe do kodera mowy, który napisałem na konferencję Google IO. Wystarczy wybrać „wejście na żywo” w sekcji modulatora. Może być konieczne dostosowanie wzmocnienia modulatora i poziomu syntezatora. Występuje niewielkie opóźnienie spowodowane przetwarzaniem (nie opóźnieniem w wejściu). Skoro mam już wejście audio, czas na kolejną rundę poprawek.
Na koniec możesz zapoznać się z moją kolekcją demonstracji dźwięku w internecie. Do tego czasu mogę dodać jeszcze więcej demonstracji dźwięku na żywo.