ubuntuusers.de

Soundkarten Salat

Status: Ungelöst | Ubuntu-Version: Ubuntu MATE 16.04 (Xenial Xerus)
Antworten |

HerzKapser

Anmeldungsdatum:
15. April 2018

Beiträge: Zähle...

Hallo, ich bin der neue komme jetzt öfter 😀

Zur Einführung eine kleine Anekdote zu mir:

Ich bin... naja im gehoben alter und komme aus der Leipziger Toskana.

Ich Programmiere hauptsächlich JavaScript und php, ab und zu mal Microprozessoren in C/C++. Shell befehle sind eingleich genau mein ding, habe früher schon mit Robotron Klorechenern arbeiten müssen.

Nun aber zum Problem:

Ich arbeite mit 2 Programmen einmal mit SoX und einmal mit gnuradio. Diese 2 Programme sollen sich Unterhalten, was mir auch gelungen ist in dem ich ein Virtuelles Sound Kabel eingerichtet habe.

Das Problem ist gnuradio versteht nur ALSA, das virtuelle Kabel ist aber ein Pulseaudio device:

pacmd load-module module-null-sink sink_name=Virtual_Sink sink_properties=device.description=Virtual_Sink

Siehe: https://www.onetransistor.eu/2017/10/virtual-audio-cable-in-linux-ubuntu.html

Der Sound kommt in gnuradio nur an wenn ich in den Systemeinstellung Virtual_Sink auf default für input und ouput stelle.

Das Problem ist, ich benötige ein 2tes Virtuelles Kabel, da ich aus gnuradio nochmal nach SoX verbinden muss. Also SoX → gnuradio → SoX

Ich muss also ALSA sagen nutze doch das PulseAudio Virtuelle Kabel.

Habe folgendes gefunden : https://wiki.gnuradio.org/index.php/ALSAPulseAudio

Wenn ich aber die ~/.asoundrc Datei erstelle.

pcm.Virtual_Sink {
    type pulse
    device Virtual_Sink.monitor 
}

ctl.Virtual_Sink {
    type pulse
    device Virtual_Sink.monitor
}

dann kommt in gnuradio kein Ton an. Warum und wie lösen?

Asso ich arbeite mit Ubuntu Mate 16.04 LTS, da ich auf dem Raspberry Pi unterwegs bin. Das sollte aber keine große rolle spielen.

Bearbeitet von sebix:

Bitte verwende in Zukunft Codeblöcke, um die Übersicht im Forum zu verbessern!

Moderiert von Taomon:

Dieses Thema ist verschoben worden. Bitte beachte die als wichtig markierten Themen („Welche Themen gehören hier her und welche nicht?“)!

Kellerkind_2009

Avatar von Kellerkind_2009

Anmeldungsdatum:
26. November 2009

Beiträge: 19617

Wohnort: Schleswig-Holstein

Willkommen im Forum ☺ Siehe mal hier https://wiki.ubuntuusers.de/PulseAudio/#paprefs

Stichwort "Simultane Ausgabe"

HerzKapser

(Themenstarter)

Anmeldungsdatum:
15. April 2018

Beiträge: 5

Hallo Kellerkind, danke für die schnelle Antwort.

Ich möchte aber nicht die Ausgabe auf alle Soundkarten verteilen sondern 2 Programme mit einander verbinden.

Ich habe eine SoX Filter Kette, diesen Output möchte ich in gnuradio weiterbearbeiteten und nach gnuradio nochmal nach sox mit dem Ton und dann erst raus zum Kopfhörer.

Also noch mal Kurz Mic->SoX->gnuradio->SoX->Kopfhörer

Da modprobe snd-aloop nicht funktioniert erstelle ich mir die Virtuelle Soundkarte mit PulseAudio.

Problem Gnuradio versteht nur Alsa als Source und Sink.

Ich komme zwar von Sox nach gnuradio, aber der Ton kommt nicht aus gnuradio heraus, ich kann also die virtuelle Sounkarte nicht als Alsa Sink angeben.

Source geht einwandfrei.

Ich habe mich da jetzt so rausgeredet, das ich mein Virtuelle Soundkarte als "default" eingestellt habe, dann kann ich in gnuradio als Sink "default" angeben. Compiliert wird der FlowGraph, aber ich höre nix.

pepre Team-Icon

Supporter
Avatar von pepre

Anmeldungsdatum:
31. Oktober 2005

Beiträge: 6474

Wohnort: Erlangen

Ähmpf! Speziell, das... 😀

Ohne mich da jetzt wirklich konkret einzuarbeiten: sox kann von Stdin lesen und nach Stdout schreiben. Es bietet sich also an hier Pipes zu verwenden. Um das Signal vom Mike zu bekommen bietet sich arecord an, das kann direkt an sox pipen, bzw später in der Signalkette named pipes verwenden.

Und - falls ich das recht verstehe - läßt sich gnuradio ebenfalls mit diesen Pipes verheiraten.

HerzKapser

(Themenstarter)

Anmeldungsdatum:
15. April 2018

Beiträge: 5

So, habe mit den namened Pipes ein weinig rum gespielt.

Das Ding ist, gnuradio versteht stdin/stdout , aber nur wenn man im gnuradio Quellcode arbeitet. Das macht aber keiner, der normal Mensch arbeitet mit gnuradio-companion. Aus dem flowgraph lässt sich ein Python Script erstellen, was man dann ausführt.

Der gr-pipe block lässt sich nicht kompilieren ,da "Gruel" fehlt: https://github.com/jolivain/gr-pipe/blob/master/CMakeLists.txt#L90

Ist halt alles speziell.

Antworten |