Laden...

Frequenz-Diagramm: (Musik visualisierung)

Erstellt von Floste vor 13 Jahren Letzter Beitrag vor 13 Jahren 10.348 Views
Floste Themenstarter:in
1.130 Beiträge seit 2007
vor 13 Jahren
Frequenz-Diagramm: (Musik visualisierung)

Ich hab mein neuestes Projekt noch schnell halbwegs fertig gemacht: ein mp3-spieler, der ein frequenzdiagramm anzeigt.

NEUE VERSION GIBTS WEITER UNTEN!!!!

Bei manchen Liedern kann man sogar die noten halbwegs erkennen.

Benutzung:
mp3-datei auf die .exe ziehen

Vorraussetzungen:

-Windows
-.net Framework 3.5
-OpenAl (wer spiele spielt hats meistens schon aufm rechner, ansonsten kann man es kostenlos herunterladen)
-dual core ist hilfreich, dass sich die threads nicht verzögern.

Sreenshot:
Tiefe Töne=unten
Hohe töne=oben (oberer rand ist ca. 10 khz)
Die ausgefransten graden linien sind bei mir Geigentöne.

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

Floste Themenstarter:in
1.130 Beiträge seit 2007
vor 13 Jahren

Binarys (der alten version. Die neuen gibt es weiter unten.)

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

Floste Themenstarter:in
1.130 Beiträge seit 2007
vor 13 Jahren

Code (wer selbst compilieren will, muss minimp3.dll manuell in den ausgabeordner kopieren).

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

B
293 Beiträge seit 2008
vor 13 Jahren

Hey Floste,
erstmal "Hut ab" - ein sehr schickes Projekt. Leider bekomme ich den Player nicht flüssig zum laufen, obwohl meine CPU lange noch nciht voll ausgelastet ist. (siehe http://www.abload.de/img/spectraljc8i.jpg - Musik kommt ca. in 0,5/1sec. Blöcken an)
Läuft es bei dir flüssig und wenn ja mit welcher Hardware?

Ich hab hier nen Intel i3 330M (Dualcore mit 2,1GHZ) und 4GB Ram, falls das weiterhilft.

viele Grüße,
Raffi

edit:// Sehe gerade noch eine Kleinigkeit. Bevor sich jetzt jemand über das PDF Windows-Hacking auf meinem DT aufregt. Das ist lediglich eine Hausarbeit - kein Böses HowTo. 😉 Stammt von hier: http://www.eex-dev.net/index.php?id=34

Wenn ich nicht hier bin, findest du mich auf code-bude.net.

Floste Themenstarter:in
1.130 Beiträge seit 2007
vor 13 Jahren

Danke für das Lob.

Leider bekomme ich den Player nicht flüssig zum laufen, obwohl meine CPU lange noch nciht voll ausgelastet ist. (siehe
>
- Musik kommt ca. in 0,5/1sec. Blöcken an)
Läuft es bei dir flüssig und wenn ja mit welcher Hardware?

Bei mir läuft es flüssig, ich habe aber auch ne Ati hd5750 Graka mit aktuellen Treibern. von der Leistung her sind aber alte Grafikkarten vollkommen ausreichend, da nur minimale Shaderleistung gebraucht wird, man braucht jedoch einen Treiber mit anständigen Opengl-Support.

Dein Verhalten hört sich danach an, dass dein Grafiktreiber zu blöd is, Texturen teilweise zu ersetzen und einfach die gersamten Daten ersetzt.

Ich hab hier nen Intel i3 330M (Dualcore mit 2,1GHZ) und 4GB Ram, falls das weiterhilft.

Mein System ist etwas schlechter, was das angeht. Ein kern schafft bei mir locker die Grafikberechnungen und Opengl-Aufrufe. Deshalb bleibt nurnoch ein langsamer Treiber übrig.

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

B
293 Beiträge seit 2008
vor 13 Jahren

Ich danke dir für die Antwort. Werde das mit dem Treiber noch mal probieren. Vielleicht liegt es aber auch daran, dass ich ein Notebook habe und nur die Mobility Version der Grafikkarte verbaut ist. Naja ich werd's probieren und mich dann noch mal melden. 😉

Wenn ich nicht hier bin, findest du mich auf code-bude.net.

Floste Themenstarter:in
1.130 Beiträge seit 2007
vor 13 Jahren

Ich habe etwas herumexperimentiert und dabei ist eine neue version entstanden. Ob das nun eine verbesserung ist oder nicht hängt wohl von der sichtweise ab:
Mich hat gestört, das die tiefen frequenzen nur schlecht zu erkennen waren. Anstatt fft (fast fourier transformation) benutze ich jetzt etwas selbst entwickeltes. Dadurch ist die skala jetzt logarithmisch. Allerdings braucht das ganze erheblich mehr rechenleistung, weil der algorithmus wie gesagt selbst zusammengebastelt und nicht so effizient ist (O(n2) statt O(n*log(n))).
Außerdem habe ich einen schärfungsfilter eingebaut (nocheinmal O(n
2)).
Das ergebnis kann sich aber sehen lassen, wie ich finde.
Ich habe oben ja angedeutet, das man bei manchen liedern die noten erahnen könnte. Deshalb wird jetzt unter der maus immer die frequenz in herz und als klaviernote angezeigt.
Damit man etwas mehr zeit hat, kann man jetzt die wiedergabe mit einem einfachen klick pausieren oder wieder aufnehmen.

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

Floste Themenstarter:in
1.130 Beiträge seit 2007
vor 13 Jahren

Zum Download:
[EDIT] da einige sich beschwert aben, das sie das archiv nicht entpacken können, habe ich es ausgetauscht. (warum dabei eine gänzlich unkomprimierte datei größeren ärger macht als eine lzma-komprimiere ist mir allerdings schleierhaft)

Und bevor sich noch leute beschweren, das das programm nicht geht:
man braucht für diese version:
-framewotrk version 3.5
-openal
-einen 3ghz-prozessor oder 2 prozessoren mit jeweils 2 ghz
-gute grafiktreiber
-man muss alle dateien im zipordner entpacken
-eine mp3-datei, die man auf die .exe zieht oder über den öffnen mit dialog mit der .exe öffnet.

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

6.911 Beiträge seit 2009
vor 13 Jahren

Hallo Floste,

Mich hat gestört, das die tiefen frequenzen nur schlecht zu erkennen waren. Anstatt fft (fast fourier transformation) benutze ich jetzt etwas selbst entwickeltes.

Um diese "Unschärferrelation" (Zeit <-> Frequen) der FFT zu lösen würde ich die Wavelet-Transformation verwenden. Die S-WT (schnelle Wavelet-Transformation) hat die Aufwandsklasse O(N).

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"