Wzmacnianie dźwięku

Odpowiedz Nowy wątek
Czarny Lew
2015-11-20 11:37
Czarny Lew
0

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 narazie 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?

Pozostało 580 znaków

2015-11-21 01:12

Rejestracja: 16 lat temu

Ostatnio: 18 minut temu

0

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ć?

Algorytm to dużo powiedziane, po prostu trzeba przemnożyć kolejno próbki przez jakąś liczbę > 1, dobraną odpowiednio.

W akustyce używa się skali decybelowej, więc mnożenie razy 2 nie będzie oznaczało „dwa razy głośniej”.

Pozostało 580 znaków

2015-11-21 15:05

Rejestracja: 5 lat temu

Ostatnio: 1 rok temu

0
Czarny Lew napisał(a):

Wiem że ffmpeg może zwiększyć głośność, ale nie znalazłem żadnego przykładu jak to zrobić programowo.

w tym przykładzie jest volume jako zmienna:
http://stackoverflow.com/ques[...]and-processing-it-with-ffmpeg


"Learn C, instead of just stringing random characters together until it compiles (with warnings)."
Paulo Coelho

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0