Skocz do zawartości

Karta Dźwiękowa do raspberry pi zero


Brendy

Pomocna odpowiedź

Czyli w sox'ie wywołuje je się przez subprocess myślałem, że sox ma swoją klasę wywołania. Czyli jak dobrze rozumiem na końcu linijki zrobiłeś wzmocnienie dźwięku na 20dB?

Na początku muszę dodać jeszcze import sox? Sox mam już zainstalowanego.

Muszę się oderwać wyjazd służbowy i weekend z głowy, ale po weekendzie wrócę do tego.

A jeszcze miałem zapytać jak w manie się poruszać wpisałem tak na szybko w terminalu Man sox, ale nie wiem co dalej.

 

Link do komentarza
Share on other sites

1 minutę temu, Brendy napisał:

Czyli jak dobrze rozumiem na końcu linijki zrobiłeś wzmocnienie dźwięku na 20dB?

Nie, zwiększyłem subiektywną głośność (20 to przykład, musisz sobie wypróbować parametr od 0 do 100). Warto dać jeszcze norm, czyli (już nie rozpisuję na listę):

play -t mp3 cośtam.mp3 norm contrast 20

norm zwiększy głośność do maksymalnej możliwej. Jeśli będą clicki to wtedy:

play -t mp3 cośtam.mp3 norm -3 contrast 20

(zwiększy głośność o 3 dB mniej od maksymalnej). Co prawda contrast nie powinien ruszać sygnału w okolicach maximum, ale jak wiadomo różnie z tym bywa 🙂

6 minut temu, Brendy napisał:

Na początku muszę dodać jeszcze import sox? Sox mam już zainstalowanego.

Nie - sox jest poleceniem zewnętrznym i wystarczy subprocess.

 

Link do komentarza
Share on other sites

(edytowany)

Dziękuję za przykłady i wyjaśnienia po powrocie będę walczył dalej. Masakra jakie tu są możliwości można edytować dźwięk dodać głośność i masę innych parametrów zanim trafi na głośnik. Coś jak na kompie bym odpalił audacity i robił z dźwiękiem co chciał, a tu odbywa się to z automatu.

Edytowano przez Brendy
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Ethanak poznając takie możliwości z edycją dźwięku zastanawiam się i bardzo wkręciłeś mnie w temat.

Jak zaczyna się proces nagrywania video i dźwięku, potem stop i zaczyna się proces łączenia video z nagraniem głosowym w całość i wysyłka na Telegram.

Czy jest to bardzo skomplikowany proces do ogarnięcia i ile czasu mógłby trwać łącząc 10s nagranie?

 

Link do komentarza
Share on other sites

Proces jest stosunkowo prosty, ale coś o systemie trzeba wiedzieć, a tu masz sporo do nadrobienia.

Spróbuj na początek zostawić program w spokoju i połączyć ręcznie audio i video w jeden filmik. Możesz użyć ffmpeg, ale moim zdaniem mencoder jest wygodniejszy, szczególnie jeśli nie transkodujesz żadnego ze strumieni. Tu już będziesz wiedział ile czasu to zajmie.

A co do pythona... jeśli nagrywanie audio i video to dwa oddzielne procesy - bezwzględnie zapoznaj się z funkcjami os.fork, os.exec  (i pochodnymi), os.wait, os.waitpid i co tam wyjdzie po drodze. Trudność może być taka, że żadne odpowiedniki tych funkcji nie występują w windows (i raczej nie wystąpią), a dokumentacja pythona dość często ogranicza się do krótkiej wzmianki i odesłania do dokumentacji C.

No ale jeśli się zrozumie ogólną zasadę działania to potem jest to już dziecinnie proste 🙂

Tak że próbuj i pytaj o szczegóły jeśli coś będzie niejasne.

Link do komentarza
Share on other sites

(edytowany)

Ok najpierw jak wrócę to zacznę od tego dźwięku żeby ten głos był głośniejszy powołując się na twój przykład wyżej. Potem spróbuję trochę poczytać,żeby chociaż mieć jakieś podstawowe tło i tak jak piszesz zacznę od podstawowego programu połączenia video z audio.

Jeśli chodzi zasadę działania mnie w programie to dźwięk i video ma być nagrywane tym samym czasie i potem połączone czy jak tam się to zwie i wysłane na Telegram.

Ważne jest że jak trafi do telegram to musi być w formacie MP4.

Nagrywanie z kamery h264 z audio w tym samym czasie ->> konwersja video z dźwiękiem na MP4-->> Telegram.

 

Dziękuję za wsparcie na pewno będą pytania.

 

Edytowano przez Brendy
Link do komentarza
Share on other sites

Możesz. Ale może najpierw zrób to z linii poleceń, a jak już będziesz wiedział co trzeba zrobić to dopiero wrzuć do programu.

To co pisałem o mencoderze to - jak nadmieniłem - moje osobiste zdanie. Jak dla mnie jest po prostu wygodniejszy w użyciu, ale efekt przy użyciu mencodera i ffmpeg będzie ten sam.

Link do komentarza
Share on other sites

Jeszcze zapomniałem zapytać o kolejność.

1. Nagrane video z dźwiękiem w tym samym momencie.

2. Edycja dźwięku czyli dodanie contrast, norm, żeby było głośniej.

3. Połączenie video + audio do MP4.

4. Wysyłka do Telegrama.

???

 

 

 

 

Link do komentarza
Share on other sites

(edytowany)

A masz inny pomysł?

Nagranie zajmuje tyle samo czasu (dźwięk i video), czyli kolejność jest nieważna.

Ja bym zrobił coś takiego:

  • fork
  • w utworzonej gałęzi nagranie video
  • w głównej gałęzi:
  1. nagranie dźwięku
  2. korekta
  3. zaczekanie na zakończenie nagrania video
  • utworzenie mp4
  • wysyłka

Równie dobrze można:

  • fork
  • w utworzonej gałęzi:
  1. nagranie dżwięku
  2. korekta
  • w głównej:
  • nagranie video
  • zaczekanie na zakończenie procesu tworzącego dźwięk
  • utworzenie mp4
  • wysyłka

(sorki, ale ten genialny edytor nie przewiduje zagnieżdżania list)

Czyli po pythonowemu:

pid = os.fork()
if pid == 0:
  subprocess.call(to co trzeba do stworzenia dźwięku)
  subprocess.call(to co trzeba do korekty bo nie wiem jak to zrobić jednym wywołaniem)
  sys.exit(0)
nagraj_video()
os.waitpid(pid, 0)
połącz_audio_i_video()
telepot.wyślij_film()

Oczywiście warto sprawdzić czy wszystko poszło tak jak trzeba, ale obsługa błędów (np. użycie check_call zamiast call) to inna bajka.

No i oczywiście użycie os.execl zamiast subprocess.call

 

 

 

 

Edytowano przez ethanak
Link do komentarza
Share on other sites

To szkielet jest teraz tylko to jakoś poskładać. Jutro wieczorem jak wrócę biorę się do roboty zobaczymy c z tego wyjdzie.

 

 

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.