Seite 1 von 2

Systemweites Audio via ALSA

Verfasst: 19 Dez 2017, 17:32
von ski7777
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?

Re: Systemweites Audio via ALSA

Verfasst: 19 Dez 2017, 18:32
von PHabermehl
arecord -fS32_LE -r22050 -c1 -traw -Ddsnoop:Loopback,1 | ./txt_snd_cat ???

Re: Systemweites Audio via ALSA

Verfasst: 19 Dez 2017, 19:33
von PHabermehl
Raphael, willst Du mit den Commits sagen, daß ich Recht hatte?

Re: Systemweites Audio via ALSA

Verfasst: 19 Dez 2017, 19:37
von ski7777
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.

Re: Systemweites Audio via ALSA

Verfasst: 19 Dez 2017, 19:44
von PHabermehl
Tja, das wird dann wohl an dem -c liegen... Channels count... Laß mal weg...

Re: Systemweites Audio via ALSA

Verfasst: 19 Dez 2017, 19:54
von ski7777
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

Re: Systemweites Audio via ALSA

Verfasst: 19 Dez 2017, 19:59
von ski7777
@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

Re: Systemweites Audio via ALSA

Verfasst: 19 Dez 2017, 22:23
von MasterOfGizmo
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.

Re: Systemweites Audio via ALSA

Verfasst: 19 Dez 2017, 22:26
von ski7777
Der Code fliegt in deinem App-Repository Lizenzfrei rum. Ich kann den auch gerne per Skript von dort laden.

Re: Systemweites Audio via ALSA

Verfasst: 19 Dez 2017, 23:19
von ski7777
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.

Re: Systemweites Audio via ALSA

Verfasst: 20 Dez 2017, 15:15
von ski7777
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

Re: Systemweites Audio via ALSA

Verfasst: 20 Dez 2017, 15:15
von ski7777

Re: Systemweites Audio via ALSA

Verfasst: 21 Dez 2017, 13:06
von MasterOfGizmo
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.

Re: Systemweites Audio via ALSA

Verfasst: 21 Dez 2017, 13:40
von ski7777
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

Re: Systemweites Audio via ALSA

Verfasst: 21 Dez 2017, 13:52
von MasterOfGizmo
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.

Re: Systemweites Audio via ALSA

Verfasst: 21 Dez 2017, 14:00
von PHabermehl
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

Re: Systemweites Audio via ALSA

Verfasst: 21 Dez 2017, 14:58
von ski7777
Nicht nicht übernehmen. Wenn die Qualität ausreichend ist, melde ich mich

Re: Systemweites Audio via ALSA

Verfasst: 24 Dez 2017, 15:21
von ski7777
Euer Weihnachtsgeschenk ist fertig!
Guckt euch das mal an: https://github.com/ftCommunity/ftcommunity-TXT/pull/97

Raphael

Frohe Weihnachten

Re: Systemweites Audio via ALSA

Verfasst: 26 Dez 2017, 09:34
von PHabermehl
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

Re: Systemweites Audio via ALSA

Verfasst: 26 Dez 2017, 09:43
von ski7777
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.