Audioaufnahme mit sox und alsa

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hey zusammen,

    ich hoffe mal, dass ich hier richtig bin :)

    Ich verwende einen Raspberry Pi 3 B mit jessie lite. Mein Ziel ist es eine möglichst lange Audioaufnahme zu machen. Deshalb möchte ich die Qualität der Aufnahme in sox verringern, da nur Sprache aufgezeichnet werden soll. Weil ich mich aber nicht gut auskenne damit und schon viel dazu ohne Erfolg gesucht habe, möchte ich hier mal fragen, wie ich die Qualität verringern kann.

    Ich freue mich auf eure Antworten und vielen Dank im Voraus! :danke_ATDE:

  • Man kann z.B. die Bitrate oder Samplingfrequenz verringern. Anstatt 16 Bit dann 8 Bit. Die Frequenz auf 22kHz oder 11kHz runter setzen. Mono wählen, wenn kein Stereo nötig ist. Dann kann man das Dateiformat wählen, welches eine hohe Kompression ermöglicht. https://en.wikipedia.org/wiki/SoX könnte helfen, oder vielleicht man sox wenn ein Manpage existiert. Ansonsten http://sox.sourceforge.net/Docs/Documentation

  • Danke für die schnelle Antwort. Ich habe mich dann doch für arecord entschieden, da ich bei sox irgendwie nicht durchgeblickt habe :P

    Das Problem, was ich jetzt habe ist, dass ich gerne die Aufnahme zu einem bestimmten Zeitpunkt starten möchte. arecord Aufnahmen sind aber wohl über crontabs nicht ausführbar. Gibt es noch eine andere Möglichkeit?

  • Hallo,

    warum sind sie das nicht? Wie sieht Dein Cronjob aus?

    Der sieht so aus:

    • Offizieller Beitrag

    Was ist wenn Du die Zeile in ein Script packst und das dann per Cron aufrufst?

    BTW: sudo gehört nicht in eine Crontab. Entweder Du versuchst den Job in der Crontab von root oder IMHO besser die Systemweite /etc/crontab, bei dieser dann aber den user root nicht vergessen. Ich würde ein Rechteproblem vermuten, denn Deine Zeile sollte eigentlich funktionieren.

  • Was ist wenn Du die Zeile in ein Script packst und das dann per Cron aufrufst?

    BTW: sudo gehört nicht in eine Crontab. Entweder Du versuchst den Job in der Crontab von root oder IMHO besser die Systemweite /etc/crontab, bei dieser dann aber den user root nicht vergessen. Ich würde ein Rechteproblem vermuten, denn Deine Zeile sollte eigentlich funktionieren.

    Ich beschreibe gerade einfach mal mein Vorgehen.


    sudo crontab -e

    sudo nano /home/pi/rectest/test.sh

    Bash: test.sh
    #!/bin/bash
    
    sudo arecord -D plughw:1,0 -d 10 /home/pi/rectest/test.wav

    sudo chmod +x /home/pi/rectest/test.sh

    Hat nicht geklappt...

    • Offizieller Beitrag

    Gut soweit. Und nun in sudo nano /etc/crontab die Zeile 40 21 * * 5 root /home/pi/rectest/test.sh(die Zeit natürlich angepasst).

    Aus meinen Erfahrungen ist Alsa ein bissel zicksch und will aus unbekannten Gründen die systemweite Crontab.

  • Dann zeig doch noch mal deine aktuelle version

    Also ich habe jetzt einfach ein script in dem Hauptordner des Pis erstellt. Das habe ich ausführbar gemacht und ausprobiert. Hat ohne Probleme funktioniert.

    Dann natürlich das ganze noch in crontab eingetragen:

    sudo crontab -e

    Code: crontab
    # m h  dom mon dow   command
    20 15 * * 6 root sh /home/pi/test.sh

    Das kann doch nicht so schwer sein :denker:

    Einmal editiert, zuletzt von finn.bennet (24. März 2018 um 16:26)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!