Systemweites Audio via ALSA

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Systemweites Audio via ALSA

Beitrag von ski7777 » 19 Dez 2017, 17:32

ski7777 hat geschrieben:Ich revidiere.
Irgendwas scheint mit den sample rates nicht ganz zu stimmen, aber vielleicht kann man das auch einfach in der txt_snd_cat lösen.
Mein Grundaufbau findet sich hier: https://github.com/ski7777/ftcommunity- ... e/alsa-spi
Der entscheidende Commit: https://github.com/ski7777/ftcommunity- ... 5b5247a5c8
Nach dem starten führe ich folgendes aus:

Code: Alles auswählen

sudo modprobe snd-aloop
Jetzt brauche ich zwei Terminals:
  • Im aktuellen Ordner muss die txt_snd_cat kompiliert liegen

    Code: Alles auswählen

    arecord -fS16_LE -r22050 -c1 -traw -Ddsnoop:Loopback,1 | ./txt_snd_cat
  • Code: Alles auswählen

    aplay -twav -Dplug:dmix:Loopback pfad_zu_einer_wav_datei
Problem:
arecord will nicht arbeiten:

Code: Alles auswählen

Recording raw data 'stdin' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono
arecord: set_params:1297: Sample format non available
Available formats:
- S32_LE
Wo soll da das Problem sein?

Raphael
An der Stelle hänge ich immer noch. Hat da jemand von euch eine Idee?

Benutzeravatar
PHabermehl
Beiträge: 2429
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: Systemweites Audio via ALSA

Beitrag von PHabermehl » 19 Dez 2017, 18:32

arecord -fS32_LE -r22050 -c1 -traw -Ddsnoop:Loopback,1 | ./txt_snd_cat ???
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

Benutzeravatar
PHabermehl
Beiträge: 2429
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: Systemweites Audio via ALSA

Beitrag von PHabermehl » 19 Dez 2017, 19:33

Raphael, willst Du mit den Commits sagen, daß ich Recht hatte?
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Systemweites Audio via ALSA

Beitrag von ski7777 » 19 Dez 2017, 19:37

Ich darf aber nur 16 Bit haben.
Wenn ich deine Zeile ausführe kommt das:

Code: Alles auswählen

$ arecord -fS32_LE -r22050 -c1 -traw -Ddsnoop:Loopback,1 | txt_snd_cat
Recording raw data 'stdin' : Signed 32 bit Little Endian, Rate 22050 Hz, Mono
arecord: set_params:1305: Channels count non available
:(

Wenn ich zumindest ein Brummen hören würde, wäre das toll.

Benutzeravatar
PHabermehl
Beiträge: 2429
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: Systemweites Audio via ALSA

Beitrag von PHabermehl » 19 Dez 2017, 19:44

Tja, das wird dann wohl an dem -c liegen... Channels count... Laß mal weg...
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Systemweites Audio via ALSA

Beitrag von ski7777 » 19 Dez 2017, 19:54

Dann habe ich aber Stereo. Und Ich kann schwer die Datenströme beider Kanäle nach dem Muster First-In-First-Out in txt_snd_cat schicken. Die Datenrate pro Kanal ist nämlich genauso hoch, wie die Rate von txt_snd_cat. Das führt zu verzerrtem Audio und einem Überlauf.

Raphael

P.S. Statt 16 meinte ich natürlich U8

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Systemweites Audio via ALSA

Beitrag von ski7777 » 19 Dez 2017, 19:59

@Till:
Ich hoffe, dass das von der Lizenz so in Ordnung ist. Wenn nicht, können wir das wieder ändern. https://github.com/ftCommunity/txt_snd_cat

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Systemweites Audio via ALSA

Beitrag von MasterOfGizmo » 19 Dez 2017, 22:23

Es geht mir ganz gehörig auf die Nerven, dass Du wieder erst irgendwas machst und _dann_ fragst.

Nein, es ist nicht ok. Wenn Du nicht bereit bist zu kommunizieren, dann möchte ich gerne, dass Du um meinen Code einen Bogen machst.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Systemweites Audio via ALSA

Beitrag von ski7777 » 19 Dez 2017, 22:26

Der Code fliegt in deinem App-Repository Lizenzfrei rum. Ich kann den auch gerne per Skript von dort laden.

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Systemweites Audio via ALSA

Beitrag von ski7777 » 19 Dez 2017, 23:19

Aktuell kann ich schon mehrere Audiospuren simultan abspielen. Die Ausgabe ist aber noch auf Steinzeitniveau. Ich mache das morgen mal fertig, damit ihr das auch ausprobieren und debuggen könnt.

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Systemweites Audio via ALSA

Beitrag von ski7777 » 20 Dez 2017, 15:15

Das "läuft" soweit schon.
Now we just to fix the audio experience. The output level is so high, that the speaker gets hot...
Das sollte ich aber hinkriegen.

Raphael

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Systemweites Audio via ALSA

Beitrag von ski7777 » 20 Dez 2017, 15:15


Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Systemweites Audio via ALSA

Beitrag von MasterOfGizmo » 21 Dez 2017, 13:06

Ich habe mal meine alten Versionen des txt_snd_cat aus den Repositories gelöscht. Da war sowieso noch ein unschönder Bug drin und ich wollte es immer mal alles neu und ordentlich machen. Aber wenn Du das jetzt alles übernimmst ist das ja auch gut.

Meine Motivation war eh gering, weil ich den TXT praktisch nicht mehr nutze.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Systemweites Audio via ALSA

Beitrag von ski7777 » 21 Dez 2017, 13:40

Ob ich das so übernehme oder mal selbst neu schreibe (Torsten bietet das ja in Python unter MIT-Lizenz. Danke) überlege ich mir noch. Zunächst muss ich jetzt die Soundqualität massiv verbessern.

Raphael

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Systemweites Audio via ALSA

Beitrag von MasterOfGizmo » 21 Dez 2017, 13:52

Wie Du willst. Der Audio-Teil auf der Motorplatine kann manchmal aus dem Tritt kommen. Ich habe das nie zu Ende debug't, aber einigen Code zum Re-Synchronisieren hatte ich auch in der damals veröffentlichten Version schon drin. Sowas hat Torstens Code m.E. nicht. Von daher sind beide nicht perfekt. Die Original-GUI kommt aus der Nummer immer wieder raus, von daher sind da wohl auch Resync-Sachen drin, die wir aber nicht kennen.

Torstens Code macht das Kommandohanding nicht mit einem seperatren SPI-Transfer und hat daher das Problem mit dem Reset-Kommando meines Codes nicht.

Das erfordert also noch Arbeit, bis es stabil funktioniert.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
PHabermehl
Beiträge: 2429
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: Systemweites Audio via ALSA

Beitrag von PHabermehl » 21 Dez 2017, 14:00

So, Jungs, was bedeutet das für die Commits auf GitHub?

Ich habe - wenn auch nur für mich selbst wichtig - das ftduino_direct Python-Modul in die cfw gepackt, so daß ich gern heute oder morgen einen weekly build laufen lassen würde.
Ist das jetzt was zu übernehmen oder nicht? Ohne "Aufforderung" werde ich die pull requests von Raphael erstmal außen vor lassen.

Gruß
Peter
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Systemweites Audio via ALSA

Beitrag von ski7777 » 21 Dez 2017, 14:58

Nicht nicht übernehmen. Wenn die Qualität ausreichend ist, melde ich mich

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Systemweites Audio via ALSA

Beitrag von ski7777 » 24 Dez 2017, 15:21

Euer Weihnachtsgeschenk ist fertig!
Guckt euch das mal an: https://github.com/ftCommunity/ftcommunity-TXT/pull/97

Raphael

Frohe Weihnachten

Benutzeravatar
PHabermehl
Beiträge: 2429
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: Systemweites Audio via ALSA

Beitrag von PHabermehl » 26 Dez 2017, 09:34

Hi Raphael,
da hast Du ja noch mal richtig hingelangt...
Aber die Tester-Basis dürfte recht klein sein, da es keine Anwendungen gibt.

Kannst Du da nicht noch eine App beisteuern, Dein Webradio oder einen mp3-Player oder so?

Frohes Rest-Fest und viele Grüße
Peter
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

Benutzeravatar
ski7777
Beiträge: 870
Registriert: 22 Feb 2014, 14:18
Wohnort: Saarwellingen

Re: Systemweites Audio via ALSA

Beitrag von ski7777 » 26 Dez 2017, 09:43

Eine mp3 Datei auf dem TXT und dann einfach per mpg123 abspielen. Eine App mache ich mal fertig.

Raphael

P.S. Der Store ist purer durcheinander mittlerweile. Da müssten wir uns Mal auf ein System einigen, was nicht so viel durcheinander bringt. Ich dachte da schon an opkg.

Antworten