Witam. Z góry zaznaczam że stosowane przeze mnie definicje mogą być niepoprawne ponieważ dopiero rozpocząłem temat dźwięku.
Mój cel: wysłać z przeglądarki (dzięki html5 i javascript) dźwięk z mikrofonu do telefonu z androidem i odegranie go.
Jak to działa: na przeglądarce za pomocą getUserMedia (http://webaudioapi.com/samples/microphone/) napełniam bufor, następnie kowertuje go na sygnał mp3 (https://github.com/zhuker/lamejs), dalej skompresowany bufor wysyłany jest za pomocą websockets do androida, w androidzie za pomocą bibliotek ffmpeg sygnał jest rozkodowywany i odgrywany.
Efekt: Sygnał jest poprawnie rozkodowywany, dźwięk jest czysty (co jakiś czas słychać przerwania ale to na razie nieważne), słychać słowa, ale...
Problem: Dźwięk jest niezwykle cichy. Przy ustawionej maksymalnej głośności na telefonie i słuchawkach odbierany dźwięk można porównać do cichego szeptu.
No i co z tym fantem zrobić? Mikrofon mam w laptopie, próbowałem na innym laptopie, efekt ten sam. Nie działa jakieś windowsowe wzmacianie sygnału. Nie wiem jak by to było z zewnętrznym mikrofonem.
Na androidzie jest audioeffect "LoudnessEnhancer", nie wiem czemu działa mi tylko przez pierwsze 10 sekunde, ale efekt i tak jest marny. Nie znalazłem żadnych informacji czy istnieją jakieś funkcje w javascript do wzmocnienia sygnału. Wiem że ffmpeg może zwiększyć głośność, ale nie znalazłem żadnego przykładu jak to zrobić programowo.
A jeśli sam chciałbym napisać algorytm do wzmocnienia sygnału? Czy to było by trudne? Jak by to miało wyglądać? Jakieś linki?
Jest ktoś kto się orientuje w temacie?