AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Equalizer mit TBassDLLPlayer

Equalizer mit TBassDLLPlayer

Ein Thema von 64Jabor · begonnen am 17. Apr 2008 · letzter Beitrag vom 19. Apr 2008
Antwort Antwort
64Jabor

Registriert seit: 9. Jan 2008
158 Beiträge
 
Delphi 7 Personal
 
#1

Equalizer mit TBassDLLPlayer

  Alt 17. Apr 2008, 18:18
Hallo Leute

ich suche eine Möglichkeit, wie im WMP diese, wie soll ich sagen, Equalizer-Töne darzustellen.
Also ich wisst schon, diese Balken die je nach Instrument usw. ausschlagen, denke das sind die Equalizer-Frequenzen... ^^
Bei der TBassDLLPlayer die ich verwende gibt es ein

BassDLLPlayer.InitEQ; ...aber wie gehts weiter?
Ich finde nichts wie man die Daten des Equalizers nun auslesen und visuell darstellen kann...
Wahrscheinlich ist die Lösung denkbar einfach, aber ich steh aufm Schlauch und btw. weiß ich nicht wie man an die angepriesenen Beispiele der TBassDLLPlayer kommt -.-

mfg Sebastian
Sebastian
Unsren Clan im volle Lauf, hält weder Ochs noch Esl auf ^^
  Mit Zitat antworten Zitat
Benutzerbild von NikoMitDaMacht
NikoMitDaMacht

Registriert seit: 27. Apr 2004
Ort: Freiburg
298 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: Equalizer mit TBassDLLPlayer

  Alt 17. Apr 2008, 18:23
Ich glaube eher du meinst eine FFT-Anzeige bzw. vis.
Bei den Demos der BASS Dll gibts da was.
Niko
Alles was ein Ende hat, hat auch ein Anfang
  Mit Zitat antworten Zitat
64Jabor

Registriert seit: 9. Jan 2008
158 Beiträge
 
Delphi 7 Personal
 
#3

Re: Equalizer mit TBassDLLPlayer

  Alt 17. Apr 2008, 19:15
FFT, ja das hatte ich versucht, aber da kam ich auch nicht weiter...
Ich nehme an dass TBassDLLPlayer ja die Bass.dll mitbringt, oder?
Dann müsste sie ja irgendwo sein/in der TBassDLLPlayer versteckt sein.
Beispiele DAZU finde ich denn wo?
In den Kommentaren der TBassDLLPlayer oder wie?
Und wenn FFT das ist, wie kann man es darstellen?
FFTData -> integer und die dann per PaintBox oder was?

Kennt sich da jemand aus, hab schon viele Player gesehen mit Delphi und so nem Equalizer, nur halt nie den Code dazu...
Sebastian
Unsren Clan im volle Lauf, hält weder Ochs noch Esl auf ^^
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Equalizer mit TBassDLLPlayer

  Alt 17. Apr 2008, 20:41
Dann hast du nicht wirklich gesucht.
  Mit Zitat antworten Zitat
64Jabor

Registriert seit: 9. Jan 2008
158 Beiträge
 
Delphi 7 Personal
 
#5

Re: Equalizer mit TBassDLLPlayer

  Alt 18. Apr 2008, 14:04
Den Beitrag habe ich schon gefunden, aber er bringt mir nichts...
Wenn ich den Player laufen lasse fehlt eine GR32.dcu und noch n paar davon abgeleitete.
Ich nehme an genau die waren für die Visualisierung, oder?
Ich verstehe da nicht wie man Visualisierungen erzeugt
Wie genau ruft man denn die Werte des "Equalizer-Ausschläge" ab?
Oder habe ich da etwas grundlegendes nicht verstanden?
Vll ist es ja gar nicht so einfach wie ich mir das denke...

Kannst du mir denn erklären wie ich die FFtDaten nutze?

mfg Sebi
Sebastian
Unsren Clan im volle Lauf, hält weder Ochs noch Esl auf ^^
  Mit Zitat antworten Zitat
Benutzerbild von NikoMitDaMacht
NikoMitDaMacht

Registriert seit: 27. Apr 2004
Ort: Freiburg
298 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Equalizer mit TBassDLLPlayer

  Alt 18. Apr 2008, 18:14
Also ehrlich gesagt habe ich noch nie etwas von einem TBASSPlayer gehört...

Aber die BASS.dll liefert ja Funktionen zum erstellen sog. Channels. Über diese laufen später (soweit ich weiß) alle anderen Dinge wie z.B. Effekte oder in deinem Fall eine Visualisierung.

Delphi-Quellcode:
var
    Channel : DWORD // Global
[...]

// Initialisierung der Bass und des Channels
begin
  BASS_Init(-1, 44100, 0, Application.Handle, nil);
  Channel := BASS_StreamCreateFile(FALSE, FileName, 0, 0, 0);
end;
Um nun an die Daten einer FFT zu kommen kannst du die Funktion BASS_ChannelGetData benutzen
Delphi-Quellcode:
var
  FFTData: array [0..512] of single;
begin
  BASS_ChannelGetData(Channel, @FFTData, BASS_DATA_FFT1024);
  // Im array FFTData sind nun die Amplituden der "Frequenzen".
[...]
end;
Anbei ist ein Beispiel der BASS und beinhaltet noch das Zeichnen der FFT.
Ich hoffe ich konnte dir helfen.


[Edit]Was ich noch anmerken muss. Das sind keine "Equalizer Auschläge". Eine FFT ist ein Mathematisches Verfahren um eine Periodische Funktion (Klang) in ihre einzelnen Sinusanteile zu zerlegen. Sie hat in dieser hinsicht nichts mit dem Equalizer zu tun. Mit einen Equalizer kann man nur Frequnzbänder veringern oder verstärken. (Wobei natürlich die FFT dadurch beeinflusst wird)...[/edit]
Angehängte Dateien
Dateityp: zip samplevis_813.zip (365,4 KB, 65x aufgerufen)
Niko
Alles was ein Ende hat, hat auch ein Anfang
  Mit Zitat antworten Zitat
64Jabor

Registriert seit: 9. Jan 2008
158 Beiträge
 
Delphi 7 Personal
 
#7

Re: Equalizer mit TBassDLLPlayer

  Alt 19. Apr 2008, 13:22
@Niko:
Vielen Dank, das wollte ich haben! Natürlich hat die Visualisierung nicht direkt etwas mit dem Equalizer zu tun - da hatte ich mich wohl falsch ausgedrückt, aber wie gesagt, indirekt wird sie ntülich beeinflusst von den Einstellungen.
Sowohl TBassDLLPlayer als TBassPlayerEx gibt es, seltsam dass du davon noch nichts gehört hast, aber natürlich durchaus möglich ^^
Ich vermute dass die Bass.dll da irgendwie "integriert" ist, nur solche Funktionen wie BASS_xy funktionieren nicht so recht damit, obwohl sie in den *.pas-Dateien allesamt aufgelistet sind - aber davon habe ich nicht soo die Ahnung...
Auf alle Fälle vielen Dank, werde mich da mal durcharbeiten, aber vermute dass das genau das richtige sein wird!

mfg Sebi
Sebastian
Unsren Clan im volle Lauf, hält weder Ochs noch Esl auf ^^
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:55 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