Schrift
[thread]10521[/thread]

Gedankenschubs zu Pipelines



<< >> 3 Einträge, 1 Seite
AndreasM
 2007-10-05 16:12
#100359 #100359
User since
2005-10-08
31 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo zusammen,

mir schwebt ein Script vor, mit dem ich Soundeffekte manipulieren kann während ein Musikstück läuft.

Ich dachte daran, unter Linux und/oder BSD Dinge wie ogg123, mpg123, sox u.ä. zu nutzen.

Prinzipiell funktioniert das Piping auf der Shell so:

Code: (dl )
1
2
3
ogg123 -d stdout Musik.ogg | 
sox -t raw -r 44100 -sw -c 2 - -t raw - chorus 0.7 0.7 80 0.5 2 1 -s |
artscat


Also eine 3teilige Pipe, sozusagen.
ogg spiel ab, sox sorgt für einen choreffekt und leitet die Ausgabe an den soundserver weiter...

Mein Problem ist: ich möchte gerne den mittleren Teil austauschen (oder ggf. auch letzen) , und quasi "on-the-fly" die Soundeffekte mit sox wechseln, um bei Bedarf den einen oder anderen Effekt zu setzen.

Nur, wie kriege ich es hin, das der erste Teil der Pipe sozusagen weiterläuft, und das abspielen nicht unterbrochen wird?

Grüße
AndreasM
murphy
 2007-10-05 17:42
#100366 #100366
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Zum einen erinnere ich mich dunkel, dass es eigentlich eine API für Arts geben müsste, mit der man dynamisch alle möglichen Filter vor die Ausgabe schalten kann, ohne das über Pipes lösen zu müssen.

Zum anderen wäre es natürlich möglich, das "mittlere" Programm in der Pipeline durch ein Skript auszutauschen, welches seine Eingabe durch einen Subprozess schleift und wieder ausgibt. Dieses Skript könnte dann auf irgendwelche externen IPC-Mechanismen reagieren (Kommandos über lokale Sockets oder ähnliches) und bei bedarf seinen Kindprozess töten und durch einen anderen ersetzen.
When C++ is your hammer, every problem looks like your thumb.
AndreasM
 2007-10-05 21:03
#100377 #100377
User since
2005-10-08
31 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hm,
mal ausprobieren.
Was arts anbetrifft: das ist nur optional, für Menschen, die es verwenden.
Andere nutzen jackd, andere esd, andere nutzen überhaupt keinen Soundserver.

Grüße
AndreasM
<< >> 3 Einträge, 1 Seite



View all threads created 2007-10-05 16:12.