Używam Raspberry Pi 3. Próbuję przetestować mikrofon USB. Najpierw piszę, lsusb
aby sprawdzić, czy raspberry pi wykryje moje urządzenie. Tak, a wynik jest następujący:
BUS 001 Urządzenie oo8: ID 0d8c: 013c C-Media Electronics, Inc. Kontroler dźwięku CM108
Następnie wpisuję polecenie, alsamixer
aby wybrać urządzenie i zwiększyć głośność. Następnie wpisuję polecenie, arecord -l
aby uzyskać listę urządzeń przechwytujących:
- karta 1: Urządzenie [USB PnP Sound Device],
- urządzenie 0: USB Audio [USB Audio]
- Urządzenia podrzędne: 1/1 Urządzenie podrzędne # 0: urządzenie podrzędne # 0 ".
Widzę, że mój mikrofon nagrywa dźwięk, ale nie słyszę go po podłączeniu słuchawek.
arecord -f cd -D plughw:0 -d 10 a.wav
Odpowiedzi:
Już dawno temu zmierzyłem się z tym problemem, dlatego zamieszczam dwa rozwiązania, które dla mnie zadziałały.
Pierwszym rozwiązaniem jest, jeśli chcesz tylko strumieniowe przesyłanie dźwięku.
Nie używaj pakietu ffmpeg z repozytorium Raspbian apt-get, ponieważ jest on przestarzały.
Właściwy sposób:
Teraz,
Idź na przerwę, to zajmie trochę czasu!
Możesz także użyć innych kodeków, użyłem mp2, ponieważ znacznie zmniejsza użycie procesora.
Uwaga : Ten adres IP jest rodzajem adresu multiemisji ([224-239] .xyz). Nie kieruj go więc na określone urządzenie sieciowe w sieci LAN.
Otwórz VLC na komputerze podłączonym do tej samej sieci.
Idź do mediów -> strumień sieci -> wpisz adres IP, tutaj rtp: //224.1.2.3: 7000
Drugie rozwiązanie dotyczy jednoczesnego nagrywania dźwięku i obrazu.
Zmienia się to, ponieważ ffmpeg zapewnia pełne strumieniowanie multimediów.
Otwórz VLC na komputerze podłączonym do tej samej sieci.
Idź do mediów -> strumień sieci -> wpisz adres ip, tutaj udp: // @: 1234
źródło
Wejście mikrofonu nie przechodzi do wyjścia audio, chyba że napiszesz (lub użyjesz) program, który powie to zrobić.
źródło
Niektóre karty dźwiękowe mają wejście i wyjście audio. Jeśli chcesz usłyszeć, co dochodzi z wejścia audio i jednocześnie nagrywać, istnieje kilka opcji, takich jak;
Użyj karty dźwiękowej, która pozwala nagrywać (prawdopodobnie z wbudowanym mikrofonem) i włącz opcję bypass, aby usłyszeć bezpośrednio, co jest na wejściu, jednocześnie nagrywając. Ta opcja jest zwykle nazywana „obejściem” i można ją aktywować za pomocą alsamixer. Nie wyczerpująca lista kart dźwiękowych opartych na GPIO jest dostępna tutaj . Ta opcja jest najlepsza, jeśli chcesz uzyskać wyjątkowo małe opóźnienia, tj. Słyszeć to, co nagrałeś przez słuchawki z opóźnieniem bliskim zeru.
Możesz także spróbować dowiedzieć się, jak zarejestrować plik arecord i zrobić osobny plik arecord | polecenie aplay z tego samego urządzenia. Wtyczka urządzenia dmix alsa umożliwia nagrywanie z urządzenia, które jest już w użyciu. Problemy z tym podejściem polegają na tym, że wystąpi znaczne opóźnienie (3 do 6 ms) - szczególnie w przypadku kart dźwiękowych USB, może być znacznie niższe przy użyciu karty dźwiękowej opartej na nagłówku GPIO. To bardzo odrażające, jeśli próbujesz występować i słuchać jednocześnie.
Matt
źródło