Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Audio-Ausgabe über Bluetooth speaker #63

Open
neporamone opened this issue Aug 2, 2020 · 24 comments
Open

Audio-Ausgabe über Bluetooth speaker #63

neporamone opened this issue Aug 2, 2020 · 24 comments
Labels
discussion Questions about SEPIA or documentations info Info of any kind helping SEPIA users

Comments

@neporamone
Copy link

hallo,
erst einmal vielen Dank für deine tolle Arbeit!
Nach der ersten Testphase aka Spielphase ;) soll es nun ernst werden. Habe mir den Server auf einen Orangepi (mit Armbian/Ubuntu) erfolgreich installiert, einen Client auf einem RPI3b - ebenfalls erfolgreich; Bluetooth Erkennung vom Client und Bluetooth-Box mit Audioausgabe ist konfiguriert.
So, wie bekomme ich es konfiguriert, daß der Client nicht "Headphone" als Ausgabegerät nimmt sondern den Bluetooth-Speaker ? Muß man das run.sh Script verändern, da dort nach den "Headphone" gesucht und schließlich auch konfiguriert

# Notify user
headphone_count=$(amixer scontrols | grep "Headphone" | wc -l)
if [ $headphone_count -gt 0 ];
then
amixer sset 'Headphone' 80%
fi

Gibt es nun eine Möglichlkeit, die Soundausgabe umzuleiten nach

amixer -D bluealsa
Simple mixer control 'MusicMan BT-X34 - A2DP',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 127
Mono:
Front Left: Playback 127 [100%] [on]
Front Right: Playback 127 [100%] [on]_

Und da ich schon am Fragen bin, die Installation für einen Client geht von einem RPI aus, ist eine Installation eines Clients auch auf anderen Systemen/Hardware möglich ?

Tschau nepo

@sepia-assistant
Copy link
Contributor

sepia-assistant commented Aug 2, 2020

Hi Nepo,

freut mich, dass du schon so weit gekommen bist :-).

Mit Bluetooth hatte ich leider bisher kein besonders großes Glück auf dem Raspberry Pi. Ich weiß nicht ob sich das mittlerweile verbessert hat aber vor ca 1 Jahr bin ich kläglich daran gescheitert meine Bluetooth Boxen für einfache Musik Ausgabe zum Laufen zu bekommen, selbst nach einem ganzen Tag rumspielen :-/
Funktioniert die Soundausgabe über die Box generell bei dir (Tests über das RPi Terminal etc.)?

Je nachdem welche Installationsvariante des Client du benutzt hast gibt es eine ~/.asoundrc in deinem Home Ordner. Das wird deine beste Chance sein die Audiogeräte zu konfigurieren. Generell nutzt der SEPIA Client einfach die Standard Audiogeräte des Systems. Vielleicht kannst du dort die Box eintragen. Wie genau das aussieht müsste ich aber auch googeln :-/ , das Audiosystem von Linux kommt mir meistens vor wie Alchemie ... man mixt irgendwas zusammen und wenn man Glück hat geht es 🙈

Generell versucht der Client Sound Ein- und Ausgabe über Alsa zu machen. Ich kann mir gut vorstellen dass die Boxen Pulseaudio benötigen. Wenn ich mich recht erinnere kann man auch Pulseaudio Geräte in die ~/.asoundrc eintragen.

Grüße,
Florian

@neporamone
Copy link
Author

neporamone commented Aug 2, 2020

Hi

Mit Bluetooth hatte ich leider bisher kein besonders großes Glück auf dem Raspberry Pi. Ich weiß nicht ob sich das mittlerweile verbessert hat aber vor ca 1 Jahr bin ich kläglich daran gescheitert meine Bluetooth Boxen für einfache Musik Ausgabe zum Laufen zu bekommen, selbst nach einem ganzen Tag rumspielen :-/

Bischen tricky, aber alles machbar, bin (hauptsächlich) nach dieser Anleitung vorgegangen https://geeks-r-us.de/2017/08/18/bluetooth-a2dp-lautsprecher-am-raspberry-pi/ (allgemein: https://github.com/Arkq/bluez-alsa ) ohne pusle Audio (Tipp: Blue-alsa mußt nicht mehr selbst kompiliert werden, kann man mit apt installieren). Mit Pulse-audio https://www.raspberrypi.org/forums/viewtopic.php?t=235519 wäre dies eine Möglichkeit

Funktioniert die Soundausgabe über die Box generell bei dir (Tests über das RPi Terminal etc.)?

Mit aplay -D bluealsa datei.wav schon

Je nachdem welche Installationsvariante des Client du benutzt hast gibt es eine `Je nachdem welche Installationsvariante des Client du benutzt hast gibt es eine ~/.asoundrc in deinem Home Ordner

Durch die Installation des Clients wird eine ~/.asoundrc angelegt ? Habe/mußte mir bei der Konfiguration von Bluealsa selbst eine solche Datei anlegen und die wurde durch die Client Installation nicht verändert.

Generell nutzt der SEPIA Client einfach die Standard Audiogeräte des Systems. Vielleicht kannst du dort die Box eintragen. Wie genau das aussieht müsste ich aber auch googeln :-/

das war auch meine Grundidee, aber a) wußte ich auch nicht genau wo (auch ewig gegoogelt) und zweitens taucht "die Karte" nicht auf bei aplay -L auf

Generell versucht der Client Sound Ein- und Ausgabe über Alsa zu machen. Ich kann mir gut vorstellen dass die Boxen Pulseaudio benötigen

Meine Ausgabe erfolgt über Alsa , behaupte ich jetzt mal.

Ich sehe zwei Möglichkeiten, a) die bereits erwähnte mit der Standardausgabe und b) so kenne ich es von LMS/squeezelite, man teilt dem Player mit, welche Ausgabe er wählen soll. Welche(n) Player benutzt der Client ?

tschau nepo

@neporamone
Copy link
Author

hi

Je nachdem welche Installationsvariante des Client du benutzt hast gibt es eine ~/.asoundrc in deinem Home Ordner. Das wird deine beste Chance sein die Audiogeräte zu konfigurieren. Generell nutzt der SEPIA Client einfach die Standard Audiogeräte des Systems. Vielleicht kannst du dort die Box eintragen

Das war der richtige Tipp :), bzw. fast richtig ;)
Man löscht die .asoundrc im Home verzeichnis und erstellt eine asound.conf in /etc
sudo nano /etc/asound.conf
mit folgenden Inhalt:

pcm.!default "bluealsa"
ctl.!default "bluealsa"
defaults.bluealsa.interface "hci0"
defaults.bluealsa.device "80:C5:F2:27:E7:7E"
defaults.bluealsa.profile "a2dp"

Die ersten beiden Zeilen definieren Bluealsa als Standardausgabegerät, die unteren drei Zeilen den Bluetooth-Speaker selbst.

Alles nachzulesen unter
https://www.raspberry-pi-geek.de/ausgaben/rpg/2018/04/musik-per-bluetooth-an-einen-lautsprecher-senden/
Eine wirklich gute Anleitung, um Bluetooth Lautsprecher anzubinden und einzurichten.

Tschau nepo

@sepia-assistant
Copy link
Contributor

Wow, heißt das, dass der Client bei dir tatsächlich jetzt mit einer Bluetooth Box läuft? ... ich hab lange nicht geglaubt, dass man das zum Laufen bekommen kann ^^ 🙈 😁

Ich werde mir die Anleitungen mal genauer angucken Ende der Woche und versuchen es zu reproduzieren :-)

@neporamone
Copy link
Author

Ein großes wahrscheinlich 🤔
Bin noch im Aufbau, Respeaker Mikrophone bestellt usw ..., aber

  1. Generell läuft die Audioausgabe über Bluetooth mit Bluealsa -> aplay
  2. Bei der Client-Konfiguration gibt er mir den Ton auch über die Bluetooth Box aus, also ist Bluetooth das Audio Standard Gerät.
    Gehe somit davon aus, das es funktioniert, abwarten ... Werde auch erst am Wochenende dazu kommen, es komplett zu installieren und zu konfigurieren.

Tschau nepo

@neporamone
Copy link
Author

hi
Bin jetzt endlich dazu gekommen, ein wenig weiter zu testen. Das USB-Mikrofon bestellt,angekommen und angeschlossen. Das Mikrofon wird vom System erkannt und funktioniert auch, leider (zu Anfang) mit SEPIA nicht. Dementsprechend bash install_usb_mic.sh ausgeführt und SEPIA erkennt das Mikrofon und man kann es benutzen. Leider funktioniert (logischerweise) die Bluetoothausgabe nicht mehr. Laut ~.asoundrc wird nun audio jack als Audioausgabe genutzt
pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm "hw:0,0"
}
capture.pcm {
type plug
slave.pcm "hw:1,0"
}
}
Wie kann ich meine funktionierende /etc/asound.conf
pcm.!default "bluealsa"
ctl.!default "bluealsa"
defaults.bluealsa.interface "hci0"
defaults.bluealsa.device "80:C5:F2:27:E7:7E"
defaults.bluealsa.profile "a2dp"
in der ~.asoundrc integrieren, so das beides - Bluetooth-Audioausgae und Mikrofon - funktionieren. Die Notation sieht ganz anders aus und es übersteigt defintiv meine Kenntnisse.
Vielleicht kann hier jemand helfen ?!?

Tschau nepo

@sepia-assistant
Copy link
Contributor

sepia-assistant commented Aug 14, 2020

Hi,
ich bin leider auch kein Experte für die Konfigurationsdatei, aber meine beste Vermutung (als ALSA Alchemist) wäre:

# Set default:
pcm.!default {
    type asym
    playback.pcm "speaker"
    capture.pcm "mic"
}
ctl.!default {
    type bluealsa
}

# Define devices used in default:
pcm.mic {
    type plug 
    slave {
        pcm "hw:1,0"
    }
}
pcm.speaker {
    type plug
    slave.pcm {
        type bluealsa
        interface "hci0"
        device "80:C5:F2:27:E7:7E"
        profile "a2dp"
    }
}

# Bluealsa defaults (more general):
defaults.bluealsa.interface "hci0"
defaults.bluealsa.device "80:C5:F2:27:E7:7E"
defaults.bluealsa.profile "a2dp"

Bei ctl.!default bin ich nicht sicher. Warum die Geräte am Besten wohl als "type plug" mit "slave" definiert werden verstehe ich auch nicht so ganz, aber beim Mikrofon klappte das gut ^^.

Die Notation generell ist etwas verwirrend, weil die geschweiften Klammern "{" und die Schreibweise mit "." austauschbar sind ähnlich wie bei YAML und JSON aber doch wieder ganz anders 😆

[EDIT] Ich habe zur Sicherheit die alten Zeilen auch noch mal ergänzt für die Bluealsa Defaults. Das sollte keinen Einfluss aufs Mikrofon haben.

@sepia-assistant sepia-assistant added discussion Questions about SEPIA or documentations info Info of any kind helping SEPIA users labels Aug 14, 2020
@neporamone
Copy link
Author

neporamone commented Aug 14, 2020

hi

erst mal danke für deine Antwort !
Leider hat deine Konfiguration auch nicht funktioniert. habe es als .asoundrc und als /etc/asound.conf ausprobiert, sollte aber keine Rolle spielen (aber man weis ja nie ). Ebenfalls habe ich den Teil mit Bluealsa defaults mal komplett auskommentiert, auch ohne Erfolg.
Bekomme als Fehlermeldung diese Meldung, wenn ich über die Konsole etwas abspiele
_aplay test1.wav
ALSA lib bluealsa-pcm.c:726:(snd_pcm_bluealsa_open) Unknown field interface
aplay: main:828: Fehler beim Öffnen des Gerätes: Das Argument ist ungültig

Bei der Netzrecherche sieht man, das viele Probleme mit alsa und deren richtige Konfiguration haben. Ärgerlich finde ich, das es doch prinzipiell funktioniert, sowohl die Bluetooth Ausgabe als auch das Mikrofon, nur das ich die beiden Konfigurationsdateien nicht richtig zusammenfügen kann.
Möglicherweise habe aber auch schon zuviel konfiguriert, werde den Client bei Zeiten neu aufsetzen und das möglichst minimalistisch ...
In diesem Zusammenhang: Da der 5 kernel relativ neu ist für RaspiOs, könnte dies auch ein mögliches Problem sein ?

Tschau nepo

@sepia-assistant
Copy link
Contributor

sepia-assistant commented Aug 14, 2020

habe es als .asoundrc und als /etc/asound.conf ausprobiert

Rein theoretisch sollte die ~/.asoundrc die /etc/asound.conf überschreiben, aber wie du schon sagtest ... man weiß ja nie :-p

Bekomme als Fehlermeldung diese Meldung, wenn ich über die Konsole etwas abspiele ...

Ich rate mal ins Blaue mit einer neuen Variante:

# Set default:
pcm.!default {
    type asym
    playback.pcm "bluealsa"
    capture.pcm "mic"
}

# Define devices used in default:
pcm.mic {
    type plug 
    slave {
        pcm "hw:1,0"
    }
}

# Bluealsa defaults (more general):
defaults.bluealsa.interface "hci0"
defaults.bluealsa.device "80:C5:F2:27:E7:7E"
defaults.bluealsa.profile "a2dp"

In diesem Zusammenhang: Da der 5 kernel relativ neu ist für RaspiOs, könnte dies auch ein mögliches Problem sein ?

Mit dem Image vom 2020-05-27 läuft bei mir alles noch, allerdings ohne Bluetooth. Ich hatte wohl Probleme mit dem Bluetooth Remote Trigger im Raspberry Pi OS, da wurde mein Wifi plötzlich total instabil :-/

@neporamone
Copy link
Author

Ich rate mal ins Blaue mit einer neuen Variante:

Blau finde ich gut !!! ;)
Die neue Konfiguration scheint (erster kurzer Test) zu funktionieren - Vielen vielen Dank !!!
Nun kann es weitergehen ... und wahrscheinlich mit noch mehr fragen ;)
Schönes WE und bleibt am Ball, wirklich ein tolles Projekt !

Tschau nepo

@sepia-assistant
Copy link
Contributor

Die neue Konfiguration scheint (erster kurzer Test) zu funktionieren - Vielen vielen Dank !!!

😱 das kam jetzt unerwartet , das bin ich nicht gewohnt von ALSA 😆

Schönes WE und bleibt am Ball, wirklich ein tolles Projekt !

Ebenfalls und danke :-)

@neporamone
Copy link
Author

neporamone commented Aug 17, 2020

hi
und einen Guten Morgen ! 😄

@sepia-assistant , leider war das nur die halbe Miete 🙁
Alles, was direkt über die voice-engine geht, funktioniert, wie z.B. Wetteransage, Bestätigungen ... .
Wenn ich nun z.B. Musik (Radio-Station, Youtube) hören möchte, wird zwar mir gesagt, das sie gespielt wird, über die Bluetooth-lautsprecher kommt aber nichts an

Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-speech":{"type":"tts_speak","msg":"Radio wird gestartet."}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-speech":{"type":"asr_result","msg":"Spiele Radio WDR 5"}}}
Soweit ich das sehe, wird solch ein Content über Chromium abgespielt. Entweder erkennt Chromium Bluetooth nicht als Standardaudioausgabe an oder Chromium wird eventuell mit den falschen Parametern gestartet.

Generell funktioniert es, getestet mit Audio-Jack als Ausgabegerät.

Es wäre natürlich super, wenn dies auch über Bluetooth funktionieren würde. Allgemein kann man sagen, das der Klinkenausgang eines RPI's nicht besonders gut ist und man den Audioausgang selbst bestimmen kann - ob nun Bluetooth, HDMI, externe Soundkarte usw. .

Noch eine gute Woche und
Tschau neporamone 😁

@fquirin
Copy link
Contributor

fquirin commented Aug 19, 2020

Hi,

das ist sehr komisch irgendwie denn sowohl TTS als auch Musik kommen aus der gleichen Chromium Instanz lediglich aus 2 verschiedenen HTML Audio Elementen. Bisher bin ich eigentlich davon ausgegangen, dass das dann auch zwangsläufig das selbe Output Gerät ist 🤔

Kannst du statt Radio mal folgendes versuchen "Spiele Musik von Queen via YouTube"?

@neporamone
Copy link
Author

moin
Sorry für die verspätete Antwort - bin gerade beim Einrichten von WakeWords - Läuft super !!!

Kannst du statt Radio mal folgendes versuchen "Spiele Musik von Queen via YouTube"?

Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-wake-word":{"state":"active"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"idle"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"speaking"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-speech":{"type":"tts_speak","msg":"Eine Sekunde, Musik wird gesucht."}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-speech":{"type":"asr_result","msg":"spiele musik von queen Bier YouTube"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"idle"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"listening"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-wake-word":{"state":"inactive"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-wake-word":{"state":"triggered","word":"Hey Pico"}}}
Wenn ich mir htop anschaue, scheint da auch etwas zu laufen
sepia htop
Alsamixer
sepia mikrofon
sepia alsamixer
Hoffe es hilft ein wenig

Tschau neporamone

@neporamone
Copy link
Author

neporamone commented Aug 22, 2020

hi
vielleicht bin ich der Lösung ein wenig näher gekommen 😁

Laut htop nimmt chromium
alsa-output-device=default und default ist bei mir auch in der ~.asoundrc als auch in /etc/asound definiert und wie gesagt, prinzipiell funktioniert es auch, nur nicht mit Chromium. Stellt sich die Frage, was chromium als default ansieht.
Jetzt die gute Nachricht 😉 Wenn ich chromium direkt den alsa output mitgebe, bekomme ich auch Sound über meine Bluetooth-Box (siehe https://stackoverflow.com/questions/47137683/chromium-alsa-ouput-device-flag-not-working)
chromium-browser --alsa-output-device='bluealsa:DEV=80:C5:F2:27:E7:7E,PROFILE=a2dp' -kiosk https://www.youtube.com/watch?v=bm51ihfi1p4
oder
chromium-browser --alsa-output-device='bluealsa:DEV=80:C5:F2:27:E7:7E,PROFILE=a2dp' -kiosk http://stream.laut.fm/polarlicht
Beides funktioniert 🤣
So, nun gibt es zwei Möglichkeiten:
Entweder bringt man Chromium bei, die "richtige" default Einstellungen zu übernehmen
(https://superuser.com/questions/273561/how-can-i-make-chromium-use-a-different-alsa-device mit https://www.alsa-project.org/main/index.php/LibEnvVars)
oder man startet generell chomium mit der direkten Angabe des Audio-Output-Devices.
Für beide Lösungsansätze habe ich im Netz leider nichts gefunden, vielleicht könnt ihr mir weiterhelfen !

Schönes WE und
Tschau neporamone

Wir schaffen das

@neporamone
Copy link
Author

neporamone commented Aug 23, 2020

Moin

... und wieder einen kleinen Schritt weiter

@fquirin

Bisher bin ich eigentlich davon ausgegangen, dass das dann auch zwangsläufig das selbe Output Gerät ist

und da hast du recht !
Habe ein wenig weiter getestet und folgendes festgestellt:

  • Wie im vorherigen Beitrag schon geschrieben, kann Chromium generell das Audio-Signal über Bluetooth ausgeben
  • wenn ich per console chromium mit --alsa-output-device='default' starte bei Bluetooth-Verbindung
    chromium-browser --alsa-output-device='default' -kiosk http://stream.laut.fm/polarlicht
    kommt der Sound auch über die Bluetooth-Box
  • wenn ich den Client per Console stoppe und neustarte bei Bluetooth-Verbindung, kommt auch per Mikro-Befehl Sound aus der Bluetooth-Box

Für mich bedeutet es, das der Client (Chromium) zu früh startet (bevor eine Bluetooth-Verbindung hergestellt werden kann) und somit der Befehl, den in der asoundrc-Datei festgelegten default Audiooutput zu nehmen, ins Leere läuft. Da (anscheinend) Chromium die einmal festgestellte "Nichtbenutzung" beibehält, auch wenn danach eine Bluetooth-Verbindung hergestellt wird, kommt kein Sound aus der Box
Mögliche Lösungsansätze

  • Chromium standardmäßig direkt mit dem jeweiligen Audiogerät starten und nicht mit default
  • Chromium neustarten (Client per "re"-run.sh), sobald eine Bluetooth-Verbindung aufgebaut ist
    (starte meine Bluetooth-Verbing mit folgendem Script/Programm https://github.com/bablokb/pi-btaudio mittels watchdog-daemon

Was meint Ihr dazu ?

Tschau nepo

@fquirin
Copy link
Contributor

fquirin commented Aug 23, 2020

Abend :-)
Danke für die neuen Infos! Das hilft ja schon sehr weiter 😎
Ich könnte eine Option ins Setup Menü einbauen (~/sepia-client/setup) mit der man das Output Gerät angeben kann. Die würde dann nicht viel mehr machen als den entsprechenden Flag in der ~/sepia-client/run.sh zu setzen, aber es wäre etwas komfortabler zu managen 🙂. Was meinst du?

@neporamone
Copy link
Author

Hi

hört sich gut an und ein Versuch ist es immer wert.
Schon mal Danke fur deine/eure ganze Hilfe !!!

Werde wahrscheinlich (erst am WE) alle möglichen Scenarien einmal wirklich konsequent durchspielen, auch die, die du vorgeschlagen hast @fquirin (händisch: bei der run.sh jeweils mein Audio-Output eintagen).

Tschau nepo

@sepia-assistant
Copy link
Contributor

Ich könnte eine Option ins Setup Menü einbauen (~/sepia-client/setup) mit der man das Output Gerät angeben kann.

Hier ist eine (experimentelle ^^) Testversion: sepia-diy-client_0.23.0_beta_scripts. :-)
Einfach die run.sh und setup.sh in ~/sepia-client/ ersetzen und dann im Setup Punkt 9 auswählen um das Output Gerät zu definieren.

@neporamone
Copy link
Author

hi

Danke für deine/eure Mühe !!!
Aber ...
Bitte nicht schlagen 😞
Bin gerade am testen (hoffentlicht diesmal systematisch) und vorweg, es liegt nicht daran, das sepia das Bluetooth-gerät bzw. die .asoundrc nicht rechtzeitig findet. Man hat immer etwas im Hinterkopf, beachtet es aber nicht oder interpretiert es falsch. In meinem fall war es so, das man immer den Begrüßungstext gehört hat, alles andere aber nicht richtig laufen wollte. Die Tatsache, das man die Begrüßung hören kann, zeigt das generell Bluetooth mit sepia funktioniert.
Aber von Anfang an ...

Erstes Scenario: Rpi Sepia Client mit Audiojack als Output und USB-Mikro, .asoundrc aus dem Github

  • alles funktioniert reibungslos, sowohl mit Wake-Word als auch über Clexi. Musik (Radio/Youtube) und Sprachansagen werden über Audiojack/Kopfhörer wieder gegeben.

Folglich stimmt das System als auch meine Konfiguration als solches !

Zweites Scenario: Rpi Sepia Client mit Bluetooth als Audio Ausgabe und USB-Mic, Bluetooth ist verbunden und funktioniert mit aplay, @sepia-assistant deine .asoundrc #63 (comment)

  • Begrüßungsansage ist zu hören
  • Über Client-Control (Clexi)
    - wenn ich zuerst auf "CALL TEST" gehe, kommt die Bestätigung - Akustisch und schriftlich, auch andere Spreachansagen
    sind zu hören. Der Befehl "Spiele Radio WDR 5" wird mir schriftlich angezeigt und auch "ausgeführt", aber Akustisch ist
    nichts zu hören
  • Nach Neustart Begrüßungansage ist zu hören
  • wenn ich zuerst den Befehl "Spiele Radio WDR 5" wird die Musik abgespielt
  • beende ich Radio und sende ein "CALL TEST", so wird es mir zwar angezeigt, aber es kommt nichts über die Bluetooth-Box

Bei beiden Varianten funktioniert das Wake-Word nur einmal (wenn überhaupt) und dann nicht mehr.

Also entweder funktioniert die Musikwiedergabe oder die Sprachausgabe, aber nicht beides zusammen. Ob es nun an der (falschen) asoundrc liegt (habe schon andere aus dem Netz probiert z.B. https://www.raspberrypi.org/forums/viewtopic.php?t=232182) oder an sepia selbst bzw meiner Konfiguration, keine Ahnung. Bin mittlerweile wirklich am verzweifeln !
Tschau nepo

P.S. Nochmals sorry, das ihr extra Arbeit hattet

@neporamone
Copy link
Author

neporamone commented Aug 30, 2020

Hi
@sepia-assistant

Ich könnte eine Option ins Setup Menü einbauen (~/sepia-client/setup) mit der man das Output Gerät angeben kann.

Hier ist eine (experimentelle ^^) Testversion: sepia-diy-client_0.23.0_beta_scripts. :-)
Einfach die run.sh und setup.sh in ~/sepia-client/ ersetzen und dann im Setup Punkt 9 auswählen um das Output Gerät zu definieren.

Habe es nun ausprobiert, macht keinen Unterschied. Nochmals, tut mir leid wegen der Umstände !
Noch ein Test, wobei mir bald die Ideen ausgehen, was und wie ich testen soll.

  • Audio Ausgabe über Bluetooth
    Per Terminal-Befehl chromium-browser -kiosk http://stream.laut.fm/polarlicht wird ein Audio-Internetstream abgespielt, Musik ist über Bluetoothbox zu hören. Während der Musikwiedergabe wird über Clexi ein "Call test" abgeschickt, der nicht zu hören ist (ohne Audio-Internetstream natürlich schon)

Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"idle"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-speech":{"type":"tts_error","msg":"unknown"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"idle"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"speaking"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-speech":{"type":"tts_speak","msg":"Läuft!"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","test-result":{"isActive":true,"user":"uid1007","next":"sending test message now ..."}}} Broadcaster response: "sent" Broadcaster event: {"broadcast":{"name":"sepia-client","data":{"deviceId":"o1","call":"test"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"idle"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"speaking"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-speech":{"type":"tts_speak","msg":"Läuft!"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","test-result":{"isActive":true,"user":"uid1007","next":"sending test message now ..."}}} Broadcaster response: "sent" Broadcaster event: {"broadcast":{"name":"sepia-client","data":{"deviceId":"o1","call":"test"}}}

Also mit Fehlermeldung:

Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-speech":{"type":"tts_error","msg":"unknown"}}}

  • gleiches Scenario, nur mit Audioausgabe über Audiojack

Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"idle"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"speaking"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-speech":{"type":"tts_speak","msg":"Läuft!"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.22.0","deviceId":"o1","test-result":{"isActive":true,"user":"uid1007","next":"sending test message now ..."}}}
Ohne Fehlermeldung und über Kopfhörer sind Internetstream und Sprachansage gleichzeitig zu hören (wobei natürlich die Lautstärke des Internetstreams nicht reduziert wird)

Ein Schuß ins blaue:
Bei (blue-) alsa kann man nicht zwei Software-Player gleichzeitig laufen lassen (es sei denn, man benutzt das dmix-Plugin).
Kann es sein, das bei der Bluetooth-Variante Chromium einen anderen Player benutzt als den für die Sprachausgabe ?

Mir fällt wirklich sonst nichts mehr ein ...

Tschau nepo

Anbei nochmal meine asoundrc

pcm.!default {
type asym
capture.pcm "mic"
playback.pcm "speaker"
}
pcm.mic {
type plug 
slave { pcm "hw:1,0" }
}
pcm.speaker {
type plug
slave.pcm {
           type bluealsa
           device "80:C5:F2:27:E7:7E"
           profile "a2dp"
}
}

ctl.!default {
type bluealsa
}

@rubipopubi
Copy link

Sicherlich ist das keine zufriedenstellende Lösung - aber versuchs doch notfalls mit nem Bluetooth Sender/Empfänger-Dongle, der einfach an den Headsetport angesteckt wird und dann an den Speaker weiter sendet? Die kosten ja nur ein paar Euro. Falls alle anderen Ansätze versagen :(

@neporamone
Copy link
Author

Moin @rubipopubi

Ein guter Tipp, habe daran noch nicht gedacht - Danke! Werde es als Notfalllösung im Hinterkopf behalten. Generell möchte ich den Klinken-Anschluß nur ungern benutzen. Hinzu kommt, das ich alles so klein halten möchte wie möglich (noch ein Gerät und noch eins ....) und zweitens alles so automatisch wie möglich laufen soll, anschalten - Verbindung automatisch - Musik u.a. wird abgespielt .... .
Generell funktioniert alles auch einzelnd, Bluetooth-Box, Mikrofon, Sepia. Dementsprechend gebe ich die Hoffnung nicht auf, das wir alles zusammen fügen können !

Tschau neporamone

@fquirin
Copy link
Contributor

fquirin commented Sep 3, 2020

Hallo,

sorry noch mal für die späten Antworten, zur Zeit komme ich nicht immer sofort dazu alles sorgfältig zu lesen.

Bitte nicht schlagen

Haha, hier wird keiner geschlagen 😆

Es ist leider etwas schwierig den Fehler zu suchen, da ich mir selber erst das gleiche Setup aufbauen müsste um verschiedene Sachen zu testen. Wenn ich es zeitlich irgendwie hinbekomme werde ich in den nächsten 2 Wochen mal versuchen mir verschiedenen Clients + Bluetooth einzurichten, vielleicht kommt mir dann eine gute Idee.

Ein Schuß ins blaue:
Bei (blue-) alsa kann man nicht zwei Software-Player gleichzeitig laufen lassen (es sei denn, man benutzt das dmix-Plugin).
Kann es sein, das bei der Bluetooth-Variante Chromium einen anderen Player benutzt als den für die Sprachausgabe ?

Bisher bin ich davon ausgegangen, dass Chrome nur einen Audioausgang kennt und technisch gesehen laufen TTS und Musik über die selbe Schnittstelle (HTML Audio Element). Vielleicht ist Bluetooth in dieser Konfiguration besonders, aber das weiß ich nicht.

Hat deine Bluetooth Box eigentlich ein eingebautes Mikrofon? Das sorgt bei mir in Kombination mit der Android App manchmal für komische Effekte.
Generell hilft es in Linux alle Audio Geräte, die nicht verwendet werden, zu deaktivieren. Am Besten über die /boot/config.txt.

Ich hoffe ich kann zu dem Bluetooth Thema in ein 1-2 Wochen ein paar neue Erkenntnisse beisteuern.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Questions about SEPIA or documentations info Info of any kind helping SEPIA users
Projects
None yet
Development

No branches or pull requests

4 participants