Sonoko Audiospieler

Hier können eigene Projekte, die mit Qt in Beziehung stehen vorgestellt werden.
Antworten
FaS
Beiträge: 184
Registriert: 25. Mai 2006 19:48
Kontaktdaten:

Sonoko Audiospieler

Beitrag von FaS »

Hallo,
ich plane derzeit die Entwicklung eines unkonventionellen Musik-Abspielsystemes und würde gerne über seine vorraussichtliche Akzeptanz diskutieren.

Ich höre im Prinzip den ganzen Tag viel und stilistisch sehr diversifizierte Musik und habe bereits sämtliche Player ausprobiert die es so gibt; derzeit quäle ich mich mit Songbird oder Windows Explorer durch meine Audiothek und weiche aus Bequemlichkeit meist auf LastFM aus. Auch die Zusammenstellung von Musik für MP3-Player oder besondere Anlässe ist eine Qual.

So gut wie jeder Aspekt, der mir bezüglich dieses Themas einfällt, wird in aktueller Software (zumindest usability-technisch) mies umgesetzt. Also habe ich mich hingesetzt und ein Konzept für eine neue Player-Generation ausgearbeitet. Der angestrebte Umfang und die wichtigsten Features sind hier nachzulesen: http://sonoko.fineshift.de/

Leider ist dies doch etwas zeitaufwendig, von daher möchte ich versuchen, das Ganze zu vermarkten. Daher die Frage an euch, wie ich wohl herausfinden kann, ob das ganze rentabel verlaufen könnte. Und vor Allem was ihr über dieses Thema denkt: Seid ihr mit aktuellen Playern zufrieden? Würdet ihr Sonoko einsetzen wollen? Wie ist euer Musikverhalten? Ich würde mich zumindest freuen, wenn sich herausstellt, dass ich mit meiner Kritik derzeitiger Angebote nicht alleine da stehe.

Ich bin gespannt auf eure Einschätzung
FaS
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Hört sich prinzipiell nach einem interessanten Projekt an. Nur trifft es in keiner Weise meine Vorstellungen eines Musikplayers :D (was aber nichts heißt)
Mir bietet schon amarok zu viel Features.

Deine Vorbedingung "lokal laufender mysql-server" gefällt mir nicht. XAMPP installiert sich vielleicht schnell (man braucht aber den ganzen Apache-PHP-Perl nicht, nur MySQL), aber unnötig ist es trotzdem - mysql bietet einen embedded-server an, der direkt mit dem Programm gestartet wird - kein mylsqd starten, kein User-Management, keine Fallstricke für Leute mit wenig PC-Ahnung.

Wie soll eine baumartige Playlist ausgegeben werden (inorder, preorder, postorder - konfigurierbar)? (Es heißt ja nicht umsonst "Playlist").

amarok tagged via nepomuk

Wie sollen "falsch getaggte MP3s" identifiziert werden? Geht fast nur, wenn die irgendwo per torrent gezogen wurden. Meine Klassik-CDs wurden von mir selber geripped und getagged, so dass ich es auch wirklich finde (das ganze "Komponist/Interpret/Album/blabla" ist für mich unsinnig, bei mir steht im Interpret "Beethoven - Streichquartette", das Album trägt die Bezeichnung des Quartetts (z.B. "Op. 59 No. 1 in F-Dur"), alles andere wäre Käse, weil die Musik nicht zu finden ist... Die Tags sind relativ sicher nur bei mir so gesetzt und nicht synchronisierbar).

Wie werden "Qualitätsupgrades" erkannt? Prinzipiell wäre das schon interessant! Ich hab früher meine CDs als OGG abgespeichert, mittlerweile zieh ich flac vor. Die OGGs will ich aber behalten, weil sie kleiner sind und auf dem tragbaren Player weniger Platz brauchen. Dupletten in der Sammlung sind unnötig. OGG und FLAC zu unterscheiden ist einfach - recht sicher ist FLAC besser als OGG.
Wie aber komprimierte Formate qualitativ unterschieden werden soll, ist mir nicht klar. Ein stärker komprimiertes OGG kann durchaus bessere Klangeigenschaften haben als ein MP3 - aber eben auch nicht. Im Prinzip muss man da den User fragen, welches er für das bessere hält.

Ich bin jemand, der viele Player (je nach Lust und Laune) nutzt. Da kommt es drchaus vor, dass ich nur ein paar Stücke via Dateimanager in QMMP aufmach, oder amarok starte und was komplexeres zusammenschuster. Ich will dann schon, dass die Tags synchron sind. Wenn ich in einem Player die Tags änder, soll das in anderen Playern übernommen werden - das geht eigentlich nur, wenn die Musikdateien selbst immer aktuelle Tags beinhalten. Eine Config-Option "Sync Tags with files" wäre für mich Pflicht.

Usability:
Das wird sicher die größte Herausforderung: Dem User viel Funktionalität bieten, dabei die GUI übersichtlich und intuitiv bedienbar halten. Vor allem Laien werden mit vielen Begriffen nichts anfangen können, entweder bietest du überall Hilfen/Beschreibungen an, oder du verpackst es so, dass es jeder versteht.

Entwicklungszeit wird heftig...
An Amarok siehst du, wie lange sowas dauern kann, wie viele Fehler eingebaut sind, wie die User schimpfen, weil es nicht wirklich userfreundlich oder zuverlässig ist, wie sie jauchzen und frohlocken, weil sie eine geniale Funktion gefunden haben, die so gut versteckt ist, dass eigentlich nur der Entwickler weiß, dass sie existiert, usw...
Und Amarok hat eine komplette Entwickler-Heerschar hinter sich.

Zu guter letzt:
Zuverlässigkeit Warnung: Der fineshift-Server wurde beschädigt.
auf deiner Startseite :P
FaS
Beiträge: 184
Registriert: 25. Mai 2006 19:48
Kontaktdaten:

Beitrag von FaS »

Usability/zu viele Features> Ich werde schon versuchen das Ganze so zu designen, dass alles intuitiv bedienbar ist :-) Die Hauptfunktionen sind ja das Auffinden, Playlist erstellen und Abspielen, dafür darf man nicht groß überlegen müssen, es wird aber auch ein Suchfeld geben, in das man sowas wie (artist:akira||tag:silent)&&kbps>=192 schreiben kann. Mir ist dann noch wichtig anhand des aktuellen Tracks oder einer beliebigen Auswahl deren Gemeinsamkeiten/Eigenschaften zu präsentieren, welche neue Listen generieren können. Die verschiedenen Nodes sollen auch miteinander verschmolzen werden können/sich gegenseitig filtern können usw.; will aber nicht in Details gehen, die kenne ich selber noch nicht...

falsch getaggte MP3s identifizieren> Die Identifizierung ist nicht der ausschlaggebende Punkt. Jeder einzelne Track wird katalogisiert, auch online, und mit einem speziellen Algorythmus mit bereits existierenden Tracks verglichen; bei großer Ähnlichkeit werden sie als identisch betrachtet, oder diese Zuordnung wird manuell vollzogen. Falls jemand bei solch einer Zuordnung beispielsweise zwei Schreibweisen des selben Interpreten entdeckt, kann er sie zusammenfassen, wobei die Tracks bei Benutzern mit der falschen Schreibweise dann automatisch korrigiert werden (also die Zuordnung, nicht die Tags in der Datei - außer, man möchte das explizit synchron halten). Vandalismus ist hier ein nicht zu vernachlässigendes Übel, vor Allem vor einer Zusammenführung von nicht-zusammengehörigen Einträgen zu schützen bzw. diesen Akt bei den Benutzern rückgängig machen zu können, ist recht kompliziert, aber nicht unlösbar.

Interpret "Beethoven - Streichquartette"> Was, wenn du jegliche Musik von Beethoven suchen möchtest? Eine gewisse Ordnung ist also durchaus sinnvoll, zur Not muss man eben für solche Sonderfälle die Datenbank-Struktur etwas anpassen, ergänzen, oder sich mit Labels behelfen. Komplexe Suchen mit regulären Ausdrücken sollten für jede ordentliche Lösung Wiederauffindbarkeit sicherstellen, hoffe ich.

Qualitätsupgrades> Wenn zwei Tracks (durch seine Tags oder manuell) als dieselben identifiziert werden, ist man ja fast fertig. Man könnte die Qualität anhand diverser Parameter schätzen und vergleichen (FLAC > APE (CPU-lastiger) > MP3/OGG; OGG 192kbps ~ MP3 320kbps (ggf. nicht-linear); usw. - unterschiedliche Formate mit sehr ähnlicher Qualität wird man kaum haben, weshalb sowas hier ausreichen müsste, oder?).

Wenn ich in einem Player die Tags änder> Sowas will Sonoko ja überflüssig machen. Wozu Tags ändern, außer sie waren falsch? Es sollte außerdem nicht schwierig sein, eine Änderung der Datei festzustellen, Sonoko kann dann erahnen, dass man die Tags geändert hat und sie (auch online) korrigieren, wodurch dieser Track schonmal niemals wieder irgendwo auf der Welt korrigiert werden müsste, vorrausgesetzt jeder verwendet Sonoko bzw. seine Online-Datenbank.

Playtree> Meine ursprüngliche Idee vor ein paar Jahren war, die Baumstruktur der Playlisten durch eine halb-dreidimensionale, mindestens größen- und positionsangepasste Visualisierung zu realisieren, was mir für den Anfang zu komplex erscheint. Werde wohl auf eine horizontale Anordnung ausweichen mit vertikalen Zusammenfassungen, Beispiel: sketch-playtree.png: Klickt man hier z.B. auf die gelb hervorgehobene Zusammenfassung wird der entsprechende Pfad "geöffnet".

Ich lege neue Musik übrigens immer in neuen Ordnern ab, ggf. mit derzeitigem Datum/Jahr und Quelle, so kann ich zurückverfolgen woher ich die Musik habe und finde sie umgekehrt auch besser wieder. Grundsätzlich ändere ich bei neueren Dateien auch die Tags nicht (es könnten ja immer irgendwelche zusätzlichen Informationen neben dem Titel oder sonstwo stehen, die ersteinmal unwichtig erscheinen, sich später als interessant herausstellen, und dann habe ich sie der Übersichtlichkeit halber überschrieben - toll..) Wenn ich beispielsweise ein paar Alben herunterlade und sich eines irgendwann als fehlerhaft herausstellt, kann ich diese Dateien gezielt identifizieren. Und es spielt ja auch keine Rolle, ob einzelne Tracks woanders vereinzelt nocheinmal auftauchen, da Sonoko mit Duplikaten umgehen kann. Und ich weiß, falls ich eine MP3 aus einem YouTube-Video extrahiert habe, sie wird also nicht mit hochqualitativen Dateien vermischt, wo ich weiß, dass ich sie selbst gerippt habe. Und vermischte Musik von früher, aus Torrents, mit schlechter Qualität, vom Radio aufgenommen oder was weiß ich, will ich auch nur ungern mit aktuellen Sammlungen vermischen.

"Ich bin jemand, der viele Player (je nach Lust und Laune) nutzt"> Das spricht dafür, dass keiner so wirklich ideal ist. Sonoko will die Effektivität maximieren und nicht Gewohnheiten befriedigen, dafür muss man etwas umdenken. :-]

MySQL> Der Embedded-Server ist lizenzierungspflichtig für kommerzielle Produkte, ich weiß ja noch garnicht auf welche Weise ich entlohnt werden möchte. Für die Entwicklung ist mir ein richtiger MySQL-Server mit phpMyAdmin komfortabler, später kann man diese Anforderung vielleicht eliminieren. Aber so schlimm finde ich das nicht, sogar WoW-Spieler bekommen das hin..

Der fineshift-Server wurde beschädigt> Vor 1,5 Jahren hat so ein Spinner den Server mit meinem angemieteten vServer gestohlen, ehh beschlagnahmt, ich warte immernoch auf die Daten, ärgerlich sowas. Der Text erinnert mich daran, mehr Backups zu machen...
Frime
Beiträge: 2
Registriert: 19. August 2011 01:37

Re: Sonoko Audiospieler

Beitrag von Frime »

Hey (:

Wir entwickeln gerade an einem Audioplayer der deiner Idee schon ein wenig nahe kommt... Wie ein vorposter schon erwähnt hat haben wir ne eigene SQLite im Hintergrund die unsere Daten managed. Bei uns war es zunaechst ein FH Projekt welches sich mit der Zeit verselbstständigt hat. Proggen nun schon seit fast nem Jahr dran rum, bald kommt das erste offizielle Release.

Der Aufwand für so ne Sache ist kaum abzuschätzen.. zumindest hatten wir den anfangs deutlich unterschätzt. Waren zu dem Zeitpunkt auch noch absolute Qt Frischlinge ^^

Das mit dem online katalogiesieren is Quark, wollten wir auch machen. Dafuer gibts aber schon Musicbrainz, da is so ziemlich alles drin was man braucht in nem gigantischen ERM .. Die API libs sind frei und eigentlich ganz cool für sowas.

Vermarkten wuerde ich sagen ist Käse. Dafuer gibt es zu viele freie, gute Alternativen. Bald sogar noch eine mehr (;


Features bei uns bisher eingebaut:

-Hierarchische Ansicht der MP3s, Hierarchieebenen individuell anpassbar
-ändern der Ansicht per Drag and Drop, ebenso wie Taggen per Drag and Drop (wenn was falsch ist, kann man's einfach in den richtigen Baumknoten ziehen und speichern)
- Playliste per Drag and Drop zusammenstellen
- QuickPlay (wird ne Überraschung, will nicht zuviel verraten)
den Player als kleinen stand-alone Player benutzen (nur das Playerfenster)
-Albumcover support
- Sehr übersichtliche GUI im Gegensatz zu vielen Alternativprogrammen.
- komfortable Live-Suche
- Verwaltung deiner Sammlung komplett unabhängig vom Speicherort oder den MP3s
- direkte Verknuepfung auf deinen Dateisystembaum, aus dem du wie in allen andern Bäumen auch direkt Ordner mitsamt Unterordnern in die PL draggen kannst
- OSD bei neuem Lied
- Unterstützung für Multimediatasten
- Wikipedia Seite über den Artist des gerade abgespielten Songs
und so weiter...




Was noch kommen wird (allerdings nach der offiziellen 1.0):

-Musicbrainz (libofa, Autotagging)
-Webradio
-uU Grooveshark

etc..

Wer testen mag, einfach mal ne PM schicken..

liebe Grüße
Frime
Dateianhänge
screenshot.jpg
screenshot.jpg (239.06 KiB) 12513 mal betrachtet
FaS
Beiträge: 184
Registriert: 25. Mai 2006 19:48
Kontaktdaten:

Re: Sonoko Audiospieler

Beitrag von FaS »

Sorry, aber in wiefern kommt euer Player meiner Idee nahe? Mein Ziel ist es nicht einen Player XY zu nehmen und seinen Funktionsumfang auf ein bestimmtes Level zu senken. Schau dir mal Clementine an (verwendet auch Qt), besonders seine Instant-Suchfunktion, und sage mir, was an eurem Player besser ist. Drag'n'Drop-Reorganisation ist eigentlich nichts was man im täglichen Umgang benötigt, aber die parallele Sicht auf das Dateisystem ist interessant, falls sie mit den anderen Ansichten gelinkt ist. Müsste dann aber auch mit der Playlist funktionieren. Nicht böse sein, vielleicht übersehe ich auch was.. wie dem auch sei, isoliert betrachtet sieht das ganz ordentlich aus. Ist eure OSD- und Multimediatasten-Lösung plattformunabhängig? Ich habe schonmal zu letzterem Thema recherchiert und nichts zufriedenstellendes gefunden. Zur Not sehe ich mir den Code von Clementine an..

Aber nochmal zu den wesentlichen Features: Tagging/Labeling und Nebenplaylisten (mit zugehörigen Usability-Konzepten zur Erstellung derselben) sind integraler Bestandteil von Sonoko und gleichzeitig meine Mindestanforderung an einen Audiospieler. Beides gibt es bei euch nicht.

Musicbrainz> Sein Datenbankschema ist nicht optimal und kann von mir nicht einfach erweitert werden -> nutzlos. Außerdem wären die bestimmt nicht erfreut, wenn Sonoko eine automatische Zwei-Wege-Synchronisation zu deren Daten bereitstellt.

Vermarktung> Ich würde dies auch lieber OpenSource entwickeln, aber dazu fehlt mir das Geld und die Zeit, und dann muss später auch noch der Datenserver gepflegt werden. Wie regelt ihr das? Mitarbeit einer Community ist ja nicht garantiert, wenn der Nutzen meines Players entweder nicht erkannt oder nicht benötigt wird, ich hoffe jedoch das beschränkt sich langfristig auf ersteres..

Gruß
FaS
Antworten