Systemweites Audio via ALSA

Alle APIs oder Firmwares für den TXT: Community-Firmware, .net, C++, usw.
Forumsregeln
Bitte beachte die Forumsregeln!

Systemweites Audio via ALSA

Beitragvon ski7777 » 19 Dez 2017, 18: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-TXT/tree/alsa-spi
Der entscheidende Commit: https://github.com/ski7777/ftcommunity-TXT/commit/451a4217df2f58855adc6feb8739145b5247a5c8
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
ski7777
 
Beiträge: 761
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 16

Re: Systemweites Audio via ALSA

Beitragvon PHabermehl » 19 Dez 2017, 19:32

arecord -fS32_LE -r22050 -c1 -traw -Ddsnoop:Loopback,1 | ./txt_snd_cat ???
PHabermehl
 
Beiträge: 865
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 45

Re: Systemweites Audio via ALSA

Beitragvon PHabermehl » 19 Dez 2017, 20:33

Raphael, willst Du mit den Commits sagen, daß ich Recht hatte?
PHabermehl
 
Beiträge: 865
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 45

Re: Systemweites Audio via ALSA

Beitragvon ski7777 » 19 Dez 2017, 20: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
ski7777
 
Beiträge: 761
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 16

Re: Systemweites Audio via ALSA

Beitragvon PHabermehl » 19 Dez 2017, 20:44

Tja, das wird dann wohl an dem -c liegen... Channels count... Laß mal weg...
PHabermehl
 
Beiträge: 865
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 45

Re: Systemweites Audio via ALSA

Beitragvon ski7777 » 19 Dez 2017, 20: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: 761
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 16

Re: Systemweites Audio via ALSA

Beitragvon ski7777 » 19 Dez 2017, 20: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
ski7777
 
Beiträge: 761
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 16

Re: Systemweites Audio via ALSA

Beitragvon MasterOfGizmo » 19 Dez 2017, 23: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.
ftDuino, der Arduino für fischertechnik: http://ftduino.de
Benutzeravatar
MasterOfGizmo
 
Beiträge: 1345
Registriert: 30 Nov 2014, 08:44

Re: Systemweites Audio via ALSA

Beitragvon ski7777 » 19 Dez 2017, 23:26

Der Code fliegt in deinem App-Repository Lizenzfrei rum. Ich kann den auch gerne per Skript von dort laden.
Benutzeravatar
ski7777
 
Beiträge: 761
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 16

Re: Systemweites Audio via ALSA

Beitragvon ski7777 » 20 Dez 2017, 00: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: 761
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 16

Re: Systemweites Audio via ALSA

Beitragvon ski7777 » 20 Dez 2017, 16: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: 761
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 16

Re: Systemweites Audio via ALSA

Beitragvon ski7777 » 20 Dez 2017, 16:15

Benutzeravatar
ski7777
 
Beiträge: 761
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 16

Re: Systemweites Audio via ALSA

Beitragvon MasterOfGizmo » 21 Dez 2017, 14: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.
ftDuino, der Arduino für fischertechnik: http://ftduino.de
Benutzeravatar
MasterOfGizmo
 
Beiträge: 1345
Registriert: 30 Nov 2014, 08:44

Re: Systemweites Audio via ALSA

Beitragvon ski7777 » 21 Dez 2017, 14: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
ski7777
 
Beiträge: 761
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 16

Re: Systemweites Audio via ALSA

Beitragvon MasterOfGizmo » 21 Dez 2017, 14: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.
ftDuino, der Arduino für fischertechnik: http://ftduino.de
Benutzeravatar
MasterOfGizmo
 
Beiträge: 1345
Registriert: 30 Nov 2014, 08:44

Re: Systemweites Audio via ALSA

Beitragvon PHabermehl » 21 Dez 2017, 15: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
PHabermehl
 
Beiträge: 865
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 45

Re: Systemweites Audio via ALSA

Beitragvon ski7777 » 21 Dez 2017, 15:58

Nicht nicht übernehmen. Wenn die Qualität ausreichend ist, melde ich mich
Benutzeravatar
ski7777
 
Beiträge: 761
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 16

Re: Systemweites Audio via ALSA

Beitragvon ski7777 » 24 Dez 2017, 16:21

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

Raphael

Frohe Weihnachten
Benutzeravatar
ski7777
 
Beiträge: 761
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 16

Re: Systemweites Audio via ALSA

Beitragvon PHabermehl » 26 Dez 2017, 10: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
PHabermehl
 
Beiträge: 865
Registriert: 20 Dez 2014, 23:59
Wohnort: Bad Hersfeld
Alter: 45

Re: Systemweites Audio via ALSA

Beitragvon ski7777 » 26 Dez 2017, 10: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.
Benutzeravatar
ski7777
 
Beiträge: 761
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 16

Nächste

Zurück zu TXT-Sonderprogrammierungen

Wer ist online?

Mitglieder in diesem Forum: FischRob und 2 Gäste