staging.inyokaproject.org

Audio einrichten

Status: Gelöst | Ubuntu-Version: Server 24.04 (Noble Numbat)
Antworten |

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 941

apulse: Eine Bibliothek, die PulseAudio-Funktionalität für Programme simuliert, die PulseAudio voraussetzen (z. B. Firefox), aber nur ALSA zur Verfügung steht.

sndiod: Der Sound-Daemon von OpenBSD, wird aber auch unter Linux (z. B. auf Void Linux) verwendet. Er kann ALSA-Anwendungen unterstützen.

sagt KI, und mir das wird wohl so nix.


Vllt so, Zitat: (sehe da keinen Sinn dahinter)

🎯 Ziel: ALSA → sndiod

Wenn du möchtest, dass alle Programme, die ALSA verwenden (z. B. apulse oder mpv), ihren Ton an sndiod schicken, musst du ALSA so konfigurieren, dass es nicht direkt auf hw:0,0 geht, sondern den Ton an sndiod weiterleitet. 🔧 Wie geht das? ➤ Über eine Datei namens .asoundrc (in deinem Home-Verzeichnis):

Diese Datei teilt ALSA mit, welchen Ausgang ("pcm") es benutzen soll. Du kannst sie so schreiben:

pcm.sndiod {
    type sndio
}

pcm.!default {
    type plug
    slave.pcm "sndiod"
}

Ich kapiere nicht was an ALSA überhaupt da ist. Wenn

musst du ALSA so konfigurieren,

dann kann es doch gleich über ALSA laufen und nicht sndiod.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

Tim_x schrieb:

Kein Ton.

Versuch mal auch mit z. B.:

mpg321 -K -o sndio http://novazz.ice.infomaniak.ch/novazz-128.mp3

(oder gleichwertig)

sndioctl -v

und danach als root:

kill -15 $(pgrep sndiod)
sndioctl -v

ausführen.

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 941

@lubux

  • Was ist bei Dir eigentlich an ALSA installiert?

  • Hast Du mal das tolle "apulse" bei Dir probiert? Mit irgendwas.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

Marantkurz schrieb:

  • Was ist bei Dir eigentlich an ALSA installiert?

Installiert sind:

alsa-ucm-conf
alsa-utils
alsa-topology-conf

Marantkurz schrieb:

  • Hast Du mal das tolle "apulse" bei Dir probiert?

Nein, denn:

:~$ apt policy apulse
apulse:
  Installiert:           (keine)

Tim_x

(Themenstarter)

Anmeldungsdatum:
24. Januar 2016

Beiträge: 157

lubux schrieb:

Versuch mal auch mit z. B.:

mpg321 -K -o sndio http://novazz.ice.infomaniak.ch/novazz-128.mp3   # im 1. Terminalfenster

.

:~$ mpg321 -K -o sndio http://novazz.ice.infomaniak.ch/novazz-128.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2, and 3.
Version 0.3.2-1 (2012/03/25). Written and copyrights by Joe Drew,
now maintained by Nanakos Chrysostomos and others.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!

Directory: http:
Playing MPEG stream from novazz.ice.infomaniak.ch ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo

Tonausgabe zwar irgendwie stotternd, aber Ton ist da

~$ sndioctl -v
output.level=1.000
server.device=0
app/mpg0.level=1.000

und danach als root: # im 2. Terminalfenster

~$ sudo kill -15 $(pgrep sndiod)

... Ausgabe im 1. Terminalfenster

[2:19] Decoding of novazz.ice.infomaniak.ch finished.
Segmentation fault (core dumped)

.

~$ sndioctl -v
default: can't open control device

Tim_x

(Themenstarter)

Anmeldungsdatum:
24. Januar 2016

Beiträge: 157

Marantkurz schrieb:

Ich kapiere nicht was an ALSA überhaupt da ist. Wenn

musst du ALSA so konfigurieren,

dann kann es doch gleich über ALSA laufen und nicht sndiod.

Alles was ich von ALSA installiert habe ist das Paket alsa-utils.

Tim_x

(Themenstarter)

Anmeldungsdatum:
24. Januar 2016

Beiträge: 157

Wahnsinn ... gerade habe ich einen Benachrichtigungston erhalten - es hat geploppt, eine neue Email ist eingetrudelt 😀

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 941

Weil sich sicher die App an sndiod hängen kann, läuft also. FF kann das aber nicht, auch nicht per apulse. Es sei denn Du nutzt ALSA. Zumindest ist das mein momentaner Stand. Oder anderer Browser, glaube die Chrom*** Teile/Abkömmlinge gehen, zumindest das gelesen.

Tim_x

(Themenstarter)

Anmeldungsdatum:
24. Januar 2016

Beiträge: 157

Marantkurz schrieb:

Weil sich sicher die App an sndiod hängen kann, läuft also. FF kann das aber nicht, auch nicht per apulse. Es sei denn Du nutzt ALSA. Zumindest ist das mein momentaner Stand. Oder anderer Browser, glaube die Chrom*** Teile/Abkömmlinge gehen, zumindest das gelesen.

Bei der Wahl des Browsers habe ich nicht viele Möglichkeiten da ich uBlock Origin nutze.

Nun gut, ich denke wir haben zumindest einen Teilerfolg erzielt. Ich betrachte diesen Thread daher als gelöst.

Für eure Unterstützung nochmals herzlichen Dank.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

Tim_x schrieb:

Wahnsinn ... gerade habe ich einen Benachrichtigungston erhalten - ...

Für chromium mit sndiod wird die library "libasound_module_pcm_sndio.so" benötigt. Evtl. kann man diese mit dem Package "libasound2-plugins" bekommen/installieren. Wenn das nicht der Fall ist, gibt es source-code (eine einzige *.c-Datei) im Internet, aus dem man die library einfach kompilieren kann.

Wenn Du dann genau wissen willst ob chromium (via ~/.asoundrc) den sndiod auch benutzt, starte ein youtube-video im chromium und schau mit top (oder gleichwertig) nach, ob in dieser Zeit, der sndiod auch CPU und Speicher verbraucht. Z. B.:

563 sndiod     0 -20   18432   6212   5212 S   2,3   0,2   0:18.22 sndiod

BTW: Ob der Eintrag (für die Umleitung) in der ~/.asoundrc richtig/korrekt ist, kann mit:

aplay /usr/share/sounds/alsa/Front_Center.wav

getestet werden. Wenn man eine Tonausgabe von aplay bekommt, ist der Eintrag in der .asoundrc richtig.
Mit dem FF habe ich nicht getestet.

EDIT:

:~$ sndioctl -v
output.level=1.000
server.device=0
app/aplay0.level=1.000
app/chromiu0.level=1.000
app/mpg0.level=1.000
app/mumble0.level=1.000

Tim_x

(Themenstarter)

Anmeldungsdatum:
24. Januar 2016

Beiträge: 157

lubux schrieb:

Für chromium mit sndiod wird die library "libasound_module_pcm_sndio.so" benötigt. Evtl. kann man diese mit dem Package "libasound2-plugins" bekommen/installieren. Wenn das nicht der Fall ist, gibt es source-code (eine einzige *.c-Datei) im Internet, aus dem man die library einfach kompilieren kann.

.

Im Debian-Paket libasound2-plugins ist die Datei libasound_module_pcm_sndio.so jedenfalls nicht enthalten:

https://packages.debian.org/trixie/amd64/libasound2-plugins/filelist

Ich denke, ich lass es erstmal ruhen ... vielleicht was zum Frickeln für kalte Winterabende.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

Tim_x 9480103

… zum Frickeln für kalte Winterabende.

sudo apt install build-essential libasound2-dev libsndio-dev git
git clone https://github.com/rtbo/alsa-plugins.git
cd alsa-plugins
./configure --enable-sndio
make
sudo make install

EDIT:

... oder mit: https://github.com/Duncaen/alsa-sndio

Tim_x

(Themenstarter)

Anmeldungsdatum:
24. Januar 2016

Beiträge: 157

lubux schrieb:

Für chromium mit sndiod wird die library "libasound_module_pcm_sndio.so" benötigt. Evtl. kann man diese mit dem Package "libasound2-plugins" bekommen/installieren. Wenn das nicht der Fall ist, gibt es source-code (eine einzige *.c-Datei) im Internet, aus dem man die library einfach kompilieren kann.

.

Ich habe Chromium mal installiert. Offiziell wird uBlock origin nicht mehr unterstützt (Manifest V3). Man kann die Erweiterung durch die Hintertür manuell installieren, doch wird sie ständig deaktiviert und es wird zum Entfernen aufgefordert. Nach einem Update wird die Erweiterung dann automatisch entfernt.

Das macht Chrome- und Chromium-basierte Browser für mich eigentlich uninteressant.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

Tim_x schrieb:

Das macht Chrome- und Chromium-basierte Browser für mich eigentlich uninteressant.

OK, ... evtl. mit dem FF. Wenn die Umleitung mit dem FF nicht funktioniert, dann den FF evtl. mit sndio-Unterstützung kompilieren. 😉
... so wie das in den *BSDs gemacht wird. Z. B.:

https://cgit.freebsd.org/ports/tree/www/firefox/Makefile.options
OPTIONS_GROUP_AUDIO=	ALSA JACK PULSEAUDIO SNDIO

Tim_x

(Themenstarter)

Anmeldungsdatum:
24. Januar 2016

Beiträge: 157

lubux schrieb:

OK, ... evtl. mit dem FF. Wenn die Umleitung mit dem FF nicht funktioniert, dann den FF evtl. mit sndio-Unterstützung kompilieren. 😉
... so wie das in den *BSDs gemacht wird. Z. B.:

https://cgit.freebsd.org/ports/tree/www/firefox/Makefile.options
OPTIONS_GROUP_AUDIO=	ALSA JACK PULSEAUDIO SNDIO

.

@lubux, du bist unglaublich - geht nicht, gibt es nicht bei dir. Ein echter BSDler.

Zur Erinnerung mal einer unserer Ausgangsposts:

lubux schrieb:

Du könntest sndiod installieren.

tim_x

Nie gehört, danke für den Tipp. Da muss ich mich mal einlesen. Die Konfiguration scheint anspruchsvoll zu sein.

lubux

Nein

Vielleicht doch eher etwas für kalte Winterabende.

Nachtrag: Bei einem Update von FF müsste eine kompilierte Version mit sndio-Unterstützung doch neu kompiliert werden?