OnoSendai
29.11.04, 16:45
Also. Ich denke schon länger über den idealen MP3 Player nach.
Heutzutage haben Desktop Rechner mehr als genug Rechenleistung zu Verfügung. Warum also nicht ein bisschen Bloat? ;)
Der Player sollte auf jeden Fall Datenbank basiert sein. Vielleicht sogar eine richtige, robuste Datenbank (postgresql oder mysql)
Rhythmbox bzw. iTunes hat ein ziemlich gutes User Interface. Insbesondere die drei Spalten Genre, Interpret und Album, die dann so etwas wie eine Dynamische Playliste generieren. So eine Art von Interface geht in die Richtung, in der ich mir das Projekt vorstelle.
Das editieren von Playlisten sollte ebenfalls per Drag and Drop funktionieren, allerdings in einem extra Fenster.
Jetzt kommt der Hook:
* Das Tempo des Musikstücks (BPM) sollte mit in der Datenbank gespeichert sein. Aus diesen Daten könnte man dann ein 5 Stelliges Geschwindigkeit Rating generieren. BpmDj (http://bpmdj.sourceforge.net/) ist dazu ein guter Ansatz.
* Das Erkennen von Klangfarben ist ebenfalls ein sehr gutes Feature von BpmBj.
So lassen sich ähnlich klingende Songs leicht identifizieren.
* Mit einer FFT in Verbindung mit den BPM müsste sich sogar herausfinden lassen, ob in dem Song vornehmlich Dur oder Moll Akkorde vorkommen.
* Ein Baum, der alle möglichen Musik Genre repräsentiert, und die Genre Chronologisch sortiert von einander Ableitet.
Diese Features könnte man benutzen, indem man z.B. im Kontext Menü einen Punkt finde "Zeige ähnliche Songs" oder "Generiere Playlist für CD mit ähnlichen Songs", oder beim automatischen generieren von Playlisten z.B. den Geschwindigkeitsbereich auswählen kann.
Beim Automatischen generieren der Playlisten muss man unbedingt die Speicherplatz Größe begrenzen können. (z.B. 256 MB für das spätere Synchronisieren mit einem MP3 Player.)
Ebenso muss man die Spiellänge der Playlist begrenzen können. (z.B. 80 Minuten zum brennen auf CD.)
Daraus folgen dann zwei Menüpunkte:
* Brenne Playlist auf CD
* Übertrage Playlist auf MP3 Player
Die Playlisten sollten am besten als XMMS Playlisten abgespeichert werden.
Als Sahnehäubchen sollte das Programm vielleicht auch Album Cover anzeigen, ID3 Tags editieren können, alle MP3s in der Datenbank normalisieren können, und am Ende eines Liedes zum nächsten crossfaden.
Vielleicht sollte man auch noch den Kern des Players abkoppeln von dem Userinterface. Idealerweise so, wie bei dem mpd Projekt. (http://www.musicpd.org)
Und ehe ich mich jetzt ans Programmieren setze...
Gibt es schon ein Programm mit einem ähnlichen Ansatz?
Was wünscht ihr euch von dem (perfekten) Player?
Welche libs würden sich anbieten?
Will jemand mitmachen? *g*
Heutzutage haben Desktop Rechner mehr als genug Rechenleistung zu Verfügung. Warum also nicht ein bisschen Bloat? ;)
Der Player sollte auf jeden Fall Datenbank basiert sein. Vielleicht sogar eine richtige, robuste Datenbank (postgresql oder mysql)
Rhythmbox bzw. iTunes hat ein ziemlich gutes User Interface. Insbesondere die drei Spalten Genre, Interpret und Album, die dann so etwas wie eine Dynamische Playliste generieren. So eine Art von Interface geht in die Richtung, in der ich mir das Projekt vorstelle.
Das editieren von Playlisten sollte ebenfalls per Drag and Drop funktionieren, allerdings in einem extra Fenster.
Jetzt kommt der Hook:
* Das Tempo des Musikstücks (BPM) sollte mit in der Datenbank gespeichert sein. Aus diesen Daten könnte man dann ein 5 Stelliges Geschwindigkeit Rating generieren. BpmDj (http://bpmdj.sourceforge.net/) ist dazu ein guter Ansatz.
* Das Erkennen von Klangfarben ist ebenfalls ein sehr gutes Feature von BpmBj.
So lassen sich ähnlich klingende Songs leicht identifizieren.
* Mit einer FFT in Verbindung mit den BPM müsste sich sogar herausfinden lassen, ob in dem Song vornehmlich Dur oder Moll Akkorde vorkommen.
* Ein Baum, der alle möglichen Musik Genre repräsentiert, und die Genre Chronologisch sortiert von einander Ableitet.
Diese Features könnte man benutzen, indem man z.B. im Kontext Menü einen Punkt finde "Zeige ähnliche Songs" oder "Generiere Playlist für CD mit ähnlichen Songs", oder beim automatischen generieren von Playlisten z.B. den Geschwindigkeitsbereich auswählen kann.
Beim Automatischen generieren der Playlisten muss man unbedingt die Speicherplatz Größe begrenzen können. (z.B. 256 MB für das spätere Synchronisieren mit einem MP3 Player.)
Ebenso muss man die Spiellänge der Playlist begrenzen können. (z.B. 80 Minuten zum brennen auf CD.)
Daraus folgen dann zwei Menüpunkte:
* Brenne Playlist auf CD
* Übertrage Playlist auf MP3 Player
Die Playlisten sollten am besten als XMMS Playlisten abgespeichert werden.
Als Sahnehäubchen sollte das Programm vielleicht auch Album Cover anzeigen, ID3 Tags editieren können, alle MP3s in der Datenbank normalisieren können, und am Ende eines Liedes zum nächsten crossfaden.
Vielleicht sollte man auch noch den Kern des Players abkoppeln von dem Userinterface. Idealerweise so, wie bei dem mpd Projekt. (http://www.musicpd.org)
Und ehe ich mich jetzt ans Programmieren setze...
Gibt es schon ein Programm mit einem ähnlichen Ansatz?
Was wünscht ihr euch von dem (perfekten) Player?
Welche libs würden sich anbieten?
Will jemand mitmachen? *g*