AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Soundspektrum des Systemsounds ohne "Input"
Thema durchsuchen
Ansicht
Themen-Optionen

Soundspektrum des Systemsounds ohne "Input"

Ein Thema von Delphi-Narr · begonnen am 14. Sep 2013 · letzter Beitrag vom 19. Sep 2013
Antwort Antwort
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#1

Soundspektrum des Systemsounds ohne "Input"

  Alt 14. Sep 2013, 23:15
Hallo,
ich habe ein eigenständiges Programm geschrieben, über welches ich andere Programme steuern kann, Daten auslesen und darstellen kann.
Unter anderem ist auch eine Steuerung für einen Musikplayer integriert - neben den allgemeinen Titelinformationen soll auch eine Art Visualisierung erfolgen.
Da diese über eine Konstruktion von Arduino Uno, Transistoren etc. auf einer RGB LED Kette ausgegeben wird, soll die Visualisierung sich nur auf Farben beschränken.
Bisher analysiert das Programm nur den aktuellen Peak der Lautsprecher und berechnet dann je nach Modus eine Farbe.
Damit das Ganze aber etwas besser an die Musik angepasst wird, möchte ich nun das Spektrum analysieren und Peaks für die einzelnen Frequenzbereiche erhalten.
Die Bass.dll kann das ja generell, doch muss sie entweder selbst der Player sein oder ein Input durch ein Mikrofon bekommen. Bei Wiedergabe über die Realtec Soundkarte ist das dank Stereomix
zwar möglich, wird die Musik jedoch über eine andere Soundkarte (USB - Logitech G930) ausgegeben, steht diese Option nicht zur Verfügung.
Gibt es sonst noch eine andere DLL oder generell eine Möglichkeit, das Spektrum zu erhalten? (Color Factory schafft es auch beim G930, das Spektrum zu erhalten).

Viele Grüße!
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Soundspektrum des Systemsounds ohne "Input"

  Alt 15. Sep 2013, 04:12
Es ist ein wenig unklar, wie und in welcher Form du deine Daten bekommst. Aber wenn du den Level für jedes einzelne Sample hast, sollte das ja in Summe die gesamte Audiodatei sein. In dem Fall wäre es dann das einfachste, wenn du "schlicht" deine eigene FFT über einen kleinen Buffer jagst. Die FFT kann man nun selber implementieren (Code dazu spuckt Google in erschreckenden Mengen aus), es gibt aber auch DLLs die das mit recht pfiffigen und schnellen Methoden machen. (Auch diese lassen sich finden.) Das Ergebnis der FFT ist genau was du suchst: Das Frequenzspektrum (genauer: die Ausschläge der jeweiligen Frequenzen) des dort hineingesteckten Buffers (in deinem Fall mit Zeit-Amplituden-Signal).
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Soundspektrum des Systemsounds ohne "Input"

  Alt 15. Sep 2013, 11:40
Hi,
mit der bass.dll kann man ab Windows 7 direkt den Audioausgang abgreifen, also das was Stereo-Mix macht, nur, ohne dass es Stereo-Mix explizit gibt.
Hier wird erklärt, wie das geht: http://www.un4seen.com/forum/?topic=8816

Viele Grüße,
Benjamin
Benjamin
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Soundspektrum des Systemsounds ohne "Input"

  Alt 15. Sep 2013, 11:52
Also dass man den Audioausgang direkt abgreifen kann, klingt schonmal gut! Da werde ich mich dann mal einlesen und das Ganze testen.

@Medium:
Die "Daten" bestanden bisher daraus, dass ich mit der TAudioVolume Komponente einfach immer den Peak des Wiedergabegerätes abgefragt habe.
Damit lässt sich zwar schon einiges anfangen, aber die LEDs im Rhythmus pulsieren zu lassen, gestaltet sich hiermit etwas schwer (klappt zwar einigermaßen, ist aber fehlerbehaftet)
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Soundspektrum des Systemsounds ohne "Input"

  Alt 15. Sep 2013, 12:19
Du hast auch die Möglichkeit die Sound-Daten direkt vom System abzugreifen. Dazu brauchst du das DSPack und die DSP-Worx Komponenten.
Auf der DSP-Worx Seite findest du Bsp. wie sowas funktioniert. Und dann brauchst du auch keine externen Bibliotheken...

http://dsp-worx.de/
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Soundspektrum des Systemsounds ohne "Input"

  Alt 15. Sep 2013, 13:50
Sorry aber..

DSPack und DSP-Worx Komponenten sind um ein weiteres schlimmer als
Bibliotheken dafür zu verwenden.

Warum also riesen Komponenten in ein Projekt einbinden wenn man das gleiche mit einer 1MB Lib erledigen kann.

Meine Meinung.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#7

AW: Soundspektrum des Systemsounds ohne "Input"

  Alt 18. Sep 2013, 18:20
Danke für die vielen Hinweise!
Ich habe jetzt mit einigen Problemen das DS-Pack installiert und probiere jetzt ein bisschen damit rum.
Die TDCSpectrum Komponente hört sich von der Kurzbeschreibung auf der Seite ja nicht schlecht an:
"Designed to retrieve some Values to do Visual drawing of a Spectrum. Output has always the same scaling on every Buffertype."

Jetzt fehlt mir nur irgendwie die Dokumentation dazu - was muss ich da jetzt machen, damit ich das Spektrum bekomme?

Viele Grüße!
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Soundspektrum des Systemsounds ohne "Input"

  Alt 18. Sep 2013, 23:03
Schau dir mal die beigefügten Beispiel-Anwendungen der DSP-Worx Komponenten an. Dort kannst du dir das abschauen, wie das funktioniert. Leider sind die Komponenten nicht großartig Kommentiert. Hilft also nur learning bei doing

Ist aber eigentlich nicht so schwer...
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#9

AW: Soundspektrum des Systemsounds ohne "Input"

  Alt 19. Sep 2013, 18:14
Leider gibt es nur eine Beispielanwendung, in der alle Funktionen zusammengewürfelt sind.
Wie ich die Spectrum-Komponente anspreche, hab ich jetzt (glaube ich zumindest) herausgefunden, doch im Beispiel geht die Analyse
nur über eine abgespielte Datei, nicht über die Soundkarte...
Hat keiner schon Erfahrungen damit gemacht, wie das ohne abzuspielende Datei geht?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz