Sound Visualisierung für die Konsole

Dieses Thema im Forum "Anwendungen" wurde erstellt von miketech, 31.08.2004.

  1. #1 miketech, 31.08.2004
    miketech

    miketech Routinier

    Dabei seit:
    03.04.2003
    Beiträge:
    403
    Zustimmungen:
    0
    Hi,

    Ihr kennt doch diese lustigen Visualisierungen/Effects unter XMMS und Co. Sowas suche ich für die Konsole. Und wenns geht, sollte es auf die aktuelle Audioausgabe direkt aufbauen und an keinen Player gebunden sein. Was ich vorhabe: Ich möchte unter X via Remote X Musik abspielen und auf der Konsole des Rechners, auf den ich zugreife diese Effekte anzeigen lassen.

    Gibts sowas?

    Gruß

    Mike
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 oyster-manu, 31.08.2004
    Zuletzt bearbeitet: 31.08.2004
    oyster-manu

    oyster-manu toast

    Dabei seit:
    26.06.2003
    Beiträge:
    1.055
    Zustimmungen:
    0
    hammer idee! :)
    sowas will ich auch haben (aber ohne das remote X ) :D

    @miketech:
    kennst du "bb" bzw. "aalib"? damit lässt sich sowas wohl realisieren. wie das aber gehen soll weiss ich net.
    --> http://aa-project.sourceforge.net/index.html
     
  4. #3 miketech, 31.08.2004
    miketech

    miketech Routinier

    Dabei seit:
    03.04.2003
    Beiträge:
    403
    Zustimmungen:
    0
    Ne noch nie vorher gehört. Ich glaube sowas schonmal irgendwo gesehen zu haben. Ich weiß nur leider nicht mehr wo.

    Mike
     
  5. #4 oyster-manu, 31.08.2004
    oyster-manu

    oyster-manu toast

    Dabei seit:
    26.06.2003
    Beiträge:
    1.055
    Zustimmungen:
    0
  6. etuli

    etuli Betrunken

    Dabei seit:
    12.04.2003
    Beiträge:
    278
    Zustimmungen:
    0
    Sollte nicht das Problem sein, wenn ihr nur ein bestimmtes Plugin, oder eine bestimmte Visualisierung portieren wollte. Wuerde euch dann unterstuetzen.
     
  7. etuli

    etuli Betrunken

    Dabei seit:
    12.04.2003
    Beiträge:
    278
    Zustimmungen:
    0
    So. Hab mir mal aalib angesehen. Von der Doku schonmal recht mager. Dennoch nicht sonderlich kompliziert zu nutzen in C.

    Man erstellt sich einen context und kann Daten in diesen wie in einen simplen Grafik-Speicher schreiben, dass dann rendern und ausgeben. Problematisch dabei allerdings, dass es nicht sonderlich schnell auf den Beinen sein wird, was allerdings auch vom verwendeten Algorithmus fuer das Beschreiben und (teilweise) Rendern der Grafikdaten abhaengt.

    Das Hauptproblem in meinen Augen ist, an die Audiodaten zu kommen. Ich wuesste keine Moeglichkeit ohne weiteres als Benutzer, oder root auf die Ausgabe der Audiodaten fremder Programme zuzugreifen.

    Alternativ muesste das Program entweder als Effect-Plugin von XMMS (mal angenommen wir sprechen von XMMS) geschrieben werden, welches dann als daemon die Daten anderen Programmen bereitstellt, oder sie direkt verarbeitet und in Grafik-Daten umsetzt. Auch moeglich waere die Umsetzung als Vizualisation-Plugin. Allerdings koennt ihr nicht einfache Console erstellen, in der die Daten dann ausgegeben werden. aalib kann zwar selbst Fenster erstellen, jedoch ist das nicht das, was ich mir vorstelle.

    Mein Favorit waere das Effect-Plugin, wenn keine eine Idee hat, wie die Daten sonst im System zwischen Programmen und Ausgabe abgefangen werden koennen. Fifos statt /dev/dsp eignen sich uebrigens nicht sonderlich. Je nach Aufwand ein Effect-Plugin zu schreiben koennte auch direkt ein Stueck Code in den mpg123 von XMMS implementiert werden, welcher die Daten parallel zum Device ausgibt. jedoch laeuft man dann Gefahr, dass dies mit jeder neuen Version von XMMS geaendert wird und zu anderen Versionen zu der des Autors angepasst werden muss.

    Mal schauen, wie viel Aufwand die implementation eines abzweigenden Effect-Plugins beansprucht.

    mfg
     
  8. etuli

    etuli Betrunken

    Dabei seit:
    12.04.2003
    Beiträge:
    278
    Zustimmungen:
    0
    Fein. Nehmen wir statt dem Effect- ein Viz-Plugin und ich bin gluecklich. Der Aufwand haelt sich Arg in Grenzen.

    Das System besteht demnach aus drei Teilen.
    • dem XMMS Plugin, welches die Daten von XMMS erhaelt (freq/pcm?) [C]
    • einem XMMS (Worker-)Thread, welcher die Daten ueber die IPC (shm+sem?) anderen Prozessen zur Verfuegung stellt* [C]
    • eine Prozess, welcher die Daten dann rendert und darstellt [C/C++?]
    * optional

    Alternativen, Vorschlaege, ...? Jemand der beim Umsetzen helfen moechte??? :)

    mfg und gn8
     
  9. thorus

    thorus GNU-Freiheitskämpfer

    Dabei seit:
    03.11.2002
    Beiträge:
    757
    Zustimmungen:
    0
    Ort:
    Passau, Niederbayern
    Da hätte ich auch Interesse. ;)
    Ich hab mich vor einem Monat schon mal mit aalib gespielt. Mit XMMS Plugins hab ich mich noch nicht beschäftigt, aber das macht sicher Spaß.
    Ich muss mir das mal heute Abend, wenn ich von der Arbeit wieder zu Hause bin, angucken.
     
  10. #9 etuli, 01.09.2004
    Zuletzt bearbeitet: 01.09.2004
    etuli

    etuli Betrunken

    Dabei seit:
    12.04.2003
    Beiträge:
    278
    Zustimmungen:
    0
    Die view main-themes des programms sind das ...
    • XMMS Plugin
    • die IPC mit Semaphoren und Shared Memory fuer die Syncronisierung
    • die Visualisierung in einen Analyzer, oder Scope
    • die Darstellung mit aalib

    XMMS Plugin ist nicht das grosse Problem. (http://www.xmms.org/docs/vis-plugin.html)

    Die IPC bereitet mir noch unbehagen. Hab zwar frueher haeufig damit gearbeitet, jedoch immer Probleme gehabt entsprechende Auffangroutinen zu implementieren. Die Komunikation und Umsetzung an sich sind nicht sonderlich schwer.

    Visualisierung in Scope/Analyzer hab ich noch grob keinen Plan von. Analyzer duerfe mit den Frequenz-Daten (__u16 [n_channels][n_freqs]) vom XMMS Plugin nicht schwer fallen. Ansonsten gibt es da entsprechende Plugins um einen Algorithmus zu extrahieren.

    Die aalib an sich finde ich auch nicht sooo schwer. Zumindest wenn man die Steuerung er Parameter auf die Kommandozeile, und den Environment schiebt. :) Beachtet werden sollte in diesem Zusammenhang, dass die Visualisierung die Ausgabegroesse beruecksichtigt (schneller), oder diese spaeter nochmal angepasst wird (langsamer).

    Waere toll wenn du mitmachst. Welche Themen duerfen es denn sein? :)

    mfg
     
  11. khs

    khs Routinier

    Dabei seit:
    19.08.2004
    Beiträge:
    408
    Zustimmungen:
    0
    An den Sound kommt man mit vsound.
    Ist es eine Textmode- oder einen Framebuffer-Konsole? Wenn ersteres, was spricht gegen letzteres?

    -khs
     
  12. #11 etuli, 01.09.2004
    Zuletzt bearbeitet: 01.09.2004
    etuli

    etuli Betrunken

    Dabei seit:
    12.04.2003
    Beiträge:
    278
    Zustimmungen:
    0
    vsound waere eine Moeglichkeit. Auch wenn mir nicht behagt, dass alle Programme dann "ueber" vsound laufen.

    Stellt sich nun die Frage, wie die Architektur des Systems entsprechend an vsound angepasst werden soll. Alles bisherige (xmms) mal aussen vor.

    Am einfachsten waere es, direkt mit vsound (als Helferlein) die Visualisierung umzusetzen. Der Benutzer wuerde dann Programme die er visualisieren moechte, entsprechend starten.
    Code:
    visualize [opts] xmms [xmms-opts]
    visualize [opts] mplayer [...]
    visualize [...] ...
    
    Hinzukommen wuerde dabei dann eine Komponente, welche die Ver- und Aufwertung der Daten vornimmt, ueber der Funktionalitaet heraus, die vsound bietet.

    Wir muessten zuerst die Frage klaeren, wie das Programm genutzt werden soll. Jedesmal ein Programm zu starten, etwa xmms, oder mplayer, nur um dann eine Visualisierung zu haben, ist das gegenteil von usability. Hingegen nimmt der Aufwand erheblich zu wenn, wir es anders machen und zu jeder Zeit der Benutzer die Visualisierung starten, oder beenden kann.

    Keine Ahnung. Mir fehlt das noetige know-how um das abzuschaetzen, zumal ich keinen framebuffer zur Verfuegung habe. Wenn sich jemand findet mit dem noetigen Wissen, koennen wir gern darueber reden. :)

    mfg
     
  13. #12 thorus, 01.09.2004
    Zuletzt bearbeitet: 01.09.2004
    thorus

    thorus GNU-Freiheitskämpfer

    Dabei seit:
    03.11.2002
    Beiträge:
    757
    Zustimmungen:
    0
    Ort:
    Passau, Niederbayern
    Wenn wir die aalib verwenden, funktioniert das auf fast jeder Art von Textkonsole. Es wird auch auf einer Linux Framebuffer-Konsole funktionieren. Der einzige Unterschied zu einer "normalen" Konsole ist, dass man die Auflösung manuell einstellen kann. ;)

    Wegen vsound & Problem der usability:
    Ich weiss aber nicht, wie man ohne solche Wrapper wie vsound an den Soundstream kommt bzw. ob das überhaupt möglich ist. Es wäre natürlich sehr praktisch wenn man das Programm zu jeder Zeit wenn von irgendeinem Programm grade Sound abgespielt wird starten kann.

    EDIT:
    Alsa hat ein PCM-Loopback-Device: http://linuxfromscratch.org/pipermail/blfs-support/2002-November/030726.html
    (Ich liebe Google :D)

    Kanns aber leider noch nicht testen.. wir haben hier keine Linux-Maschinen...
     
  14. #13 oyster-manu, 01.09.2004
    oyster-manu

    oyster-manu toast

    Dabei seit:
    26.06.2003
    Beiträge:
    1.055
    Zustimmungen:
    0
    also erstmal muss ich sagen, etuli, dein engagement hier finde ich super :respekt:
    ich hätte nicht gedacht, dass sich so einer so schnell versuchen wird sich einzuarbeiten in aalib.
    adridon, dir danke ich natürlich auch :) :respekt:

    also ich weiss nicht genau was ihr meint, aber falls es um die konsole geht auf der nachher die visualisierung stattfinden soll, denke ich wäre es doch am besten die bash zu nehmen.

    leider habe ich nicht das know-how um beim coden mitzumachen, ich könnte mich wahrscheinlich nur als tester anbieten :(
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. thorus

    thorus GNU-Freiheitskämpfer

    Dabei seit:
    03.11.2002
    Beiträge:
    757
    Zustimmungen:
    0
    Ort:
    Passau, Niederbayern
    Hmm? Macht der auch mit? Kann der überhaupt programmieren? ;)

    Shells haben mit dem eigentlich nichts zu tun. Es wird prinzipiell einfach nur der Text für die Visualisierung von aalib ausgegeben und das ist sowohl shell- als auch konsolenunabhängig. (xterm, framebuffer, ...)
     
  17. #15 oyster-manu, 01.09.2004
    oyster-manu

    oyster-manu toast

    Dabei seit:
    26.06.2003
    Beiträge:
    1.055
    Zustimmungen:
    0
    huch, ich hab irgendwie deinen mit adridons avatar verwechselt. warum habt ihr auch beide so schwarze pinguine? :)
     
Thema:

Sound Visualisierung für die Konsole

Die Seite wird geladen...

Sound Visualisierung für die Konsole - Ähnliche Themen

  1. Soundconverter

    Soundconverter: Hallo ich habe Centos 7.2-15.11 Ich möchte den Soundconverter installieren und weiss nich wie das geht. Wie kann man den Soundconverter in Centos...
  2. PCI-Soundkarte welche mit Debian Wheezy Kernel 3.16 läuft?

    PCI-Soundkarte welche mit Debian Wheezy Kernel 3.16 läuft?: Hallo zusammen Kann mir jemand eine Soundkarte vorschlagen, welche mit dem Wheezy-backports-Kernel v3.16.x läuft? Dabei sollte die Karte im...
  3. Creative Labs SoundBlaster Audigy 2 ZS unter Debian / Kernel 3.16

    Creative Labs SoundBlaster Audigy 2 ZS unter Debian / Kernel 3.16: Hallo zusammen Beim verwendeten Gerät handelt es sich um eine Sun Ultra 45, also SPARC-Plattform. Die Karte wird angezeigt bei den...
  4. Kein Sound im Spiel - OpenAL error

    Kein Sound im Spiel - OpenAL error: Ich hab in einem Spiel leider keinen Sound. In der Konsole kommt in einer Endlosschleife immer diese Meldung: OpenAL error: 40964 (Audio_Tick...
  5. Kurztipp: Satter Sound für Mini-PCs und Notebooks

    Kurztipp: Satter Sound für Mini-PCs und Notebooks: Verwöhnte Ohren werden mit der Audioqualität von Notebooks und Mini-PCs kaum glücklich, da Störgeräusche den Klang trüben. Relativ preiswerte,...