Musik abspielen

  • Hallo,

    ich habe mir eine Raspberry Pi geholt und will mit Hilfe eines Bewegungsmelders eine Sounddatei abspielen wenn dieser ausgelöst wird.

    Dazu habe ich von folgender Seite folgendes Programm geschrieben.

    https://tutorials-raspberrypi.de/raspberry-pi-b…der-sensor-pir/

    Dieses Programm funktioniert auch. Jetzt versuche ich dort ein Befehl einzugeben, welcher eine Audiodatei abspielt.

    Leider bekomme ich das nicht hin. Ich kriege es Allgemein nicht hin, das der Raspberry überhaupt eine Sounddatei abspielt.

    Vielleicht könnt ihr mir da helfen? Ich bin ein totaler Neuling auf dem Gebiet.

    Danke

  • Ich kriege es Allgemein nicht hin, das der Raspberry überhaupt eine Sounddatei abspielt.

    Wie hast Du es versucht?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • ich hab es einmal mit folgendem script versucht:

    import pyglet

    nach print .....

    song = pyglet.media.load("*.ogg")

    song.play()

    pyglet.app.run()

    Ich weiss aber auch nicht ob ich bei *.ogg einen ganzen Pfad zu der Datei eingeben kann.


    Dann mit dem omxplayer muster.mp3

    Mit dem Befehl "speaker-test" im command Fenster

    Hab auch den Kanal für die Klinkebuchse eingestellt. Also nicht über HDMI

  • Fehlermeldungen diese immer als Code formatiert mit posten.

    :-/das hast du jetzt aber gekonnt ignoriert?


    No module named 'pyglet'

    ja hast du denn das Modul schon installiert?

    In meiner Signatur befindet sich ein Link, welcher viele wichtige Informationen für dich bereit hält

  • ich dachte sowas wäre alles schon auf dem raspberry drauf. Ich installiere das erstmal.

    muss denn der Befehl "speaker-test" nicht immer funktionieren?

    es soll einfach eine Audiodatei abgespielt werden, danach 30 Sek, gewartet werden und dann soll sich die Gesamtfunktion wiederholen. Wenn es eine einfachere Möglichkeit gibt eine Musikdatei zu starten, dann bin ich ganz Ohr :)

  • ich dachte sowas wäre alles schon auf dem raspberry drauf.

    Es ist nie jede Software installiert - dann wäre jedes Image mehrere 10GB groß - und nicht jeder will jedes verfügbare Programm.

    *.ogg ist aber keine gültige Angabe. Bitte gewöhne dir an vollständige Pfade zu verwenden e.g.: /home/pi/bla.ogg

  • ich habe jetzt einen anderen code eingegeben und zwar:

    import RPi.GPIO as GPIO
    import time

    import pygame


    SENSOR_PIN = 23

    GPIO.setmode(GPIO.BCM)
    GPIO.setup(SENSOR_PIN, GPIO.IN)

    def mein_callback(channel):
    # Hier kann alternativ eine Anwendung/Befehl etc. gestartet werden.
    print('Es gab eine Bewegung!')
    pygame.init()

    my_sound = pygame.mixer.sound('home/pi/python_games/badswap.wav')

    my_sound.play()

    try:
    GPIO.add_event_detect(SENSOR_PIN , GPIO.RISING, callback=mein_callback)
    while True:
    time.sleep(100)
    except KeyboardInterrupt:
    print "Beende..."
    GPIO.cleanup()

    Als Fehlermeldung bekomme ich:

    AttributeError: module 'pygame.mixer' has no attribute 'sound'

    /home/pi/Music/ton.mp3 ist der pfad

    So der omxplayer ist schon vorinstalliert. Ich habe jetzt man omxplayer eingegeben und bekomme da eine lange Liste mit Befehlen. Leider sagt es mir nicht wie ich diese anwenden soll.

    Kann ich den einfach eine Sounddatei auf die SD-Karte kopieren oder muss das auch über ein spezielles Programm erfolgen?

    Meine Soundkarte ist eine bcm2835(Alsa mixer)

  • /home/pi/Music/ton.mp3 ist der pfad

    ...

    Kann ich den einfach eine Sounddatei auf die SD-Karte kopieren ...

    Ja, das ist möglich. Versuch mal mit:

    Code
    sudo apt-get install mpg123
    mpg123 -C /home/pi/Music/ton.mp3

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Der omxplayer ist an sich unproblematisch:

    1. Hardwarecheck:

    Überprüfe doch erst einmal, an welchem Audioausgang Deine Lautspfrecher wirklich angeschlossen sind.

    * HDMI: Die Audioausgabe erfolgt über die Lautsprecher des Fernsehers

    * analog: Ausgabe über den 3,5mm-Klinkenstecker.

    ACHTUNG:

    Dieser Anschluss ist vierpolig und hält sich nicht an den gängigen Belegungsstandard, d.h. einige Anschlusskabel funktionieren evtl. nicht...

    * Soundkarte über I²S (GPIO-Pins) wie z.B. die HifiBerry-Derivate

    * USB-Soundkarte

    --> Hier bitte erst mal den richtigen Anschluss ermitteln, denn bei der Hardware vermute ich Dein Problem!

    2. Softwarecheck:

    * Funktioniert denn das Kommando speaker-test? Voraussetzung dafür ist eine korrekte ALSA-Konfiguration und wenn die nicht stimmt, ist das blöd.

    * Zum omxplayer:

    Mit der Eingabe von man omxplayer in der bash (aka Terminalfenster) erhält man einen Hilfetext zur Verwendung von omxplayer. Dort steht unter anderem:

    -o --adev device Audio out device : e.g. hdmi/local/both/alsa[:device]

    Die Auswahl des entsprechenden Audiokanals erfolgt beim omxplayer somit über

    omxplayer -o <device> <Pfad/Musikdatei>

    Die nativen Audioausgabegeräte des RPi (HDMI und 3,5mm-Klinke) kann der omxplayer unabhängig von einer ALSA-Konfiguration immer verwenden, wenn man -o hdmi oder -o local verwendet.

    -o both aktiviert beide nativen Ausgabekanäle, es ist also egal, ob tatsächlich HDMI oder die Klinke verwendet wird. Man sollte damit immer etwas hören.

    -o alsa benutzt man, wenn man die Audioausgabe explizit über ALSA steuern will oder muss, weil man externe Soundkarten (I²C oder USB) verwendet.

  • omxplayer -o <device> <Pfad/Musikdatei>

    Die nativen Audioausgabegeräte des RPi (HDMI und 3,5mm-Klinke) kann der omxplayer unabhängig von einer ALSA-Konfiguration immer verwenden, wenn man -o hdmi oder -o local verwendet.

    -o both aktiviert beide nativen Ausgabekanäle, es ist also egal, ob tatsächlich HDMI oder die Klinke verwendet wird. Man sollte damit immer etwas hören.

    -o alsa benutzt man, wenn man die Audioausgabe explizit über ALSA steuern will oder muss, weil man externe Soundkarten (I²C oder USB) verwendet.

    Vielen Dank, damit konnte ich jetzt den Ton abspielen. Also der Klinkeanschluss funktioniert.

    sudo apt-get install mpg123 mpg123 -C /home/pi/Music/ton.mp3

    ich werde das jetzt ausprobieren, Danke

  • Hallo

    ich habe ein weiteres Problem. Obwohl ich eine W-Lan Verbindung habe, kann ich keine Pakete installieren.

    Bei Holen der Pakete geht immer etwas schief. "Konnte nicht aufgelöst werden"

    Ich gebe z.B. "sudo apt-get install mpg123" ein und bestätige mit "J" und dann sagt er mir immer das er nichts holen konnte.

    Im Chromium kann ich aber im Internet surfen.

    Muss ich noch etwas einstellen um Pakete downloaden zu können?

Jetzt mitmachen!

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