Hallo Leute.
Um eventuelle Missverständnisse zu vermeiden, erkläre ich gleich jetzt, was ich vorhabe und auch wo das Problem liegt.
Und zwar möchte ich mir ein Programm machen, mit dem ich aus einer mp3-Datei ein Musikvideo erstellen kann.
Dargestellt soll erstmals nur ein kleines Frequenzspektrum (zB. 20 Balken) welches sich entsprechend zur Musik ändert.
Das Programm möchte ich mit vb.net und WPF programmieren.
Ich habe es mir wie folgt vorgestellt:
Das Problem, bei dem ich jetzt nicht weiterkomme, ist die Verarbeitung der mp3-Datei.
Beginnend mit dem auslesen der Audiospur, aber vor allem die Aufteilung und herauslesen der Frequenzen ist das größte Problem.
Da ich nun schon ziemlich lange noch einer Möglichkeit gesucht habe, aber leider nicht fündig wurde, dachte ich mir, dass es am besten ist, wenn ich einfach hier frage.
Bei meinen Recherchen hab ich erfahren, dass man dazu eine FFT verwenden sollte.
Allerdings weiß ich nicht, wo genau ich da ansetzten soll, da ich ja nicht mal weiß, wie ich auf die Audiospur direkt zugreife.
Es wird auch teilweise von Bass.dll gesprochen und somit hab ich auch versucht, das zu nutzen.
Allerdings hab ich Bass.dll überhaupt nicht zum laufen gebracht und versuche deshalb nun etwas eigenständiges.
Da man so was ja von verschiedenen Musikplayern kennt, muss es da doch eine Möglichkeit geben (die ich halt leider nicht kenne).
Ich würde mich über jede Hilfe freuen, auch wenn es nur ein Ideenanstoß ist.
Und da ich ja auch mehrere Foren durchforstet habe und nicht wirklich eine hilfreiche Antwort finden konnte, wird es sicher auch den einen oder anderen, der ein ähnliches Problem hat, freuen, wenn er mit diesem Thread auf eine Lösung kommt.
Schon mal Danke im voraus für jegliche Hilfe.
Um eventuelle Missverständnisse zu vermeiden, erkläre ich gleich jetzt, was ich vorhabe und auch wo das Problem liegt.
Und zwar möchte ich mir ein Programm machen, mit dem ich aus einer mp3-Datei ein Musikvideo erstellen kann.
Dargestellt soll erstmals nur ein kleines Frequenzspektrum (zB. 20 Balken) welches sich entsprechend zur Musik ändert.
Das Programm möchte ich mit vb.net und WPF programmieren.
Ich habe es mir wie folgt vorgestellt:
- Es wird eine mp3-Datei (also halt der Pfad dorthin) ausgewählt
- Die mp3-Datei wird stückchenweise abgespielt (den Sound braucht man nicht zu hören, sonder nur kleine Zeitabschnitte werden genommen)
- Von diesen Zeitabschnitten (oder auch Zeitpunkten, wenn nur so möglich) sollen die einzelnen Frequenzanteile ermittelt werden
- Diese werden in mehrere Klassen (Bereiche) aufgeteilt und summiert
- Je nach dem, was man für Werte der einzelnen Klassen erhält, sollen bei dünnen Rechtecken die Länge entsprechend angepasst werden
- Man hat hierbei eine fix vorgegebene Anzahl von Rechtecken, welche auf einer horizontalen Linie platziert sind und die Höhe der Balken wird eben eingestellt
- Da diese sich in einem Grid befinden, ist es dann relativ einfach, dieses Grid als Bild zu rendern und abzuspeichern
- Da das Video am Schluss optimal 60 fps (ansonsten 50 fps) haben sollte, muss somit jede Sekunde der Audiospur in 60 Teile geteilt und jeder Teil als Bild gespeichert werden.
- Letztendlich muss man nur noch die Bilder zu einem Video zusammensetzen
- Der Ton muss hierbei nicht unbedingt direkt ins Video übernommen werden (das kann ich ansonsten auch mit einem anderen Programm machen)
Das Problem, bei dem ich jetzt nicht weiterkomme, ist die Verarbeitung der mp3-Datei.
Beginnend mit dem auslesen der Audiospur, aber vor allem die Aufteilung und herauslesen der Frequenzen ist das größte Problem.
Da ich nun schon ziemlich lange noch einer Möglichkeit gesucht habe, aber leider nicht fündig wurde, dachte ich mir, dass es am besten ist, wenn ich einfach hier frage.
Bei meinen Recherchen hab ich erfahren, dass man dazu eine FFT verwenden sollte.
Allerdings weiß ich nicht, wo genau ich da ansetzten soll, da ich ja nicht mal weiß, wie ich auf die Audiospur direkt zugreife.
Es wird auch teilweise von Bass.dll gesprochen und somit hab ich auch versucht, das zu nutzen.
Allerdings hab ich Bass.dll überhaupt nicht zum laufen gebracht und versuche deshalb nun etwas eigenständiges.
Da man so was ja von verschiedenen Musikplayern kennt, muss es da doch eine Möglichkeit geben (die ich halt leider nicht kenne).
Ich würde mich über jede Hilfe freuen, auch wenn es nur ein Ideenanstoß ist.
Und da ich ja auch mehrere Foren durchforstet habe und nicht wirklich eine hilfreiche Antwort finden konnte, wird es sicher auch den einen oder anderen, der ein ähnliches Problem hat, freuen, wenn er mit diesem Thread auf eine Lösung kommt.
Schon mal Danke im voraus für jegliche Hilfe.
Es gibt für alles eine Lösung, auch wenn es nicht so ausschaut!