Sonntag, 31. Juli 2011

Kapitel IV - Von Bibliotheken, Datenbanken und Tags

Es war eine Zeit lang etwas stiller um smartSound, aber: Don't panic! Das ist kein Indiz für fehlende Motivation, sondern einfach nur ein Symptom von Prüfungsphasen, die bei Studenten naturgemäß vorkommen.

Jetzt aber zum eigentlichen Thema: Im heutigen Blogpost geht es um das, was smartSound hoffentlich einzigartig machen wird, nämlich die Bibliothek für die eigenen Musikstücke und Effekte, die Datenbank mit freien Sounds und unser Tagsystem, das Bibliothek und Datenbank ihre wahre Macht entfalten lässt.

Begriffsbildung
Erst einmal ein paar Begriffe, deren Abgrenzung voneinander vielleicht sinnvoll ist, um unseren Gedanken folgen zu können: smartSound kennt zwei Arten von Audiodaten, nämlich Musikstücke und Effekte. Das ist aber eigentlich nur eine Unterscheidung zur Übersichtlichkeit. Es gibt nichts, was man nur mit einem Musikstück oder nur mit einem Effekt tun könnte. Daher reden wir in den meisten Fällen einfach nur von Sounds, was die beiden vorigen Begriffe zusammenfassen soll.
Wie oben schon erwähnt gibt es eine Bibliothek und etwas, das wir Datenbank oder Sounddatenbank nennen möchten. Die Bibliothek besteht dabei aus allen Daten, die der Benutzer bei sich auf dem Computer gespeichert hat und mit smartSound archivieren und verwenden will. Zu ihrer Nutzung ist selbstverständlich keine Internetverbindung erforderlich. Sie ist dazu da, den richtigen Sound zu finden oder neue zu hinterlegen.
Die Sounddatenbank hingegen befindet sich nicht auf dem Computer des Nutzers. Vielmehr ist sie ein Archiv, in dem Sounds hinterlegt werden können auf die dann alle Benutzer freien Zugriff haben. Von dort aus können zum Beispiel Musikstücke mit fertigen Tags heruntergeladen und der eigenen Bibliothek hinzugefügt werden.

Tags
Davon wird ja viel geredet, aber um Klarheit zu schaffen, sollten wir nochmal kurz ansprechen, was wir mit diesen ominösen Tags überhaupt meinen. Ein Tag ist soetwas wie ein digitaler Aufkleber. Auf diesem Aufkleber steht jeweils eine kurze Information. Der Vorteil an diesem Verfahren ist, dass man beliebig viele dieser Tags verteilen kann. Es gibt keine starren Strukturen wie "ein Musikstück hat genau folgende Eigenschaften: Interpret, Album, Titel, ...", sondern alles hierbei ist variabel. Diese Tags sollen dabei helfen, die Musikstücke zu beschreiben und eine Vorauswahl treffen zu können, bevor dann durch Probehören endgültig entschieden werden kann, ob ein Sound passt oder nicht.

Die Datenbank
Musik für ein Abenteuer auszusuchen ist schwierig und zeitaufwendig. Erst einmal generell Musik für's Rollenspiel zu sammeln und einzusortieren aber genauso. Deswegen haben wir uns überlegt, dass es doch toll wäre wenn nicht jeder diese Suche selbst durchführen müsste und es schon ein Archiv mit kostenlosen Sounds gäbe. In der Datenbank werden also fertig kategorisierte (also "getaggte") Soundeffekte und Musikstücke zum Download bereit stehen. Selbstverständlich kann man hier auch als Nutzer aktiv werden und seine eigenen Fundstücke einbringen. Wir bitten sogar darum! Eine Zukunftsvision wäre dann, dass die Sounds auch direkt aus smartSound heraus heruntergeladen werden können und man dazu keine Website mehr aufrufen muss.
Ein etwas anderes Thema sind noch sogenannte Pakete, also fertige Zusammenstellungen von Musikstücken und Soundeffekten entweder zu bestimmten Themen oder für ein spezielles Abenteuer, bereits vorkonfiguriert mit den nötigen Szenen. Hierzu haben wir uns selbstverständlich auch schon Gedanken gemacht, aber unsere Ideen sind noch nicht bis zum Ende durchkonzipiert. Deswegen werden wir das Thema in einem eigenen Post behandeln.

Das Tagsystem
In der Datenbank sollen fertig kategorisierte Sounds vorliegen. Diese Kategorisierung wollen wir mit Tags machen - aber wie genau? Wir haben  uns dafür ein hierarchisches System ausgedacht, mit dem wir versuchen möchten, möglichst viel abzudecken und auch möglichst viel Übersichtlichkeit zu erreichen. Dieses Konzept, wenn es erst einmal komplett ausgearbeitet ist, wird in der Datenbank durchweg eingesetzt werden. Dem Nutzer ist es aber natürlich auch möglich abseits der von uns definierten Kategorien Tags zu verteilen, wie es ihm beliebt. Der nächste Abschnitt zeigt in den Beispielen exemplarisch, wie dieses vorgefertigte System aussehen könnte.

Die Bibliothek
Jetzt fängt es erst an richtig interessant zu werden. Ohne groß um den Brei herumzureden, hier eine Skizze von der Hauptansicht der Bibliothek, wie wir sie uns zum jetzigen Zeitpunkt vorstellen:
Ganz oben links ist zu sehen, dass dies nur eine von drei Ansichten ist. Es gibt jeweils noch eine zusätzliche Ansicht für die eben bereits erwähnten Pakete und die angefertigten Szenen. Diese sollen aber eher der Verwaltung dienen und sind daher nicht ganz so interessant.
Was sehen wir hier dann also? Das hier ist die Ansicht, die man zum Beispiel bekäme, wenn man ein Musikstück aus der Bibliothek der aktuellen Szene hinzufügen möchte. Die Ansicht ist dreigeteilt, wobei wir hier von links nach rechts lesen müssen.

Der Tag-Baum ist eine hierarchische Anzeige der in der Bibliothek vorliegenden Tags. Die derzeit ausgewählten Tags sind Soundtype/Music, Atmosphere/Fight, sowie Region/Jungle. Durch die Auswahl hier wird die Liste aller Sounds in der Mitte gefiltert. Unter Categories fällt erst einmal jedes hierarchische Tag, das wir nicht gesondert behandeln wollen. Den Soundtype halten wir aber zum Beispiel für so wichtig, dass wir ihn gerne auf der obersten Ebene hätten.

Aber was heißt jetzt das mit der Hierarchie? Im Tag-Baum ist zu sehen, dass Atmosphere/Fight ausgewählt ist, aber das "+"-Zeichen daneben zeigt, dass Fight noch weitere Unterpunkte hat, mit denen die Art des Kampfes genauer beschrieben werden kann. Wenn also ein Sound - wie hier in dem Beispiel - den Tag Atmosphere/Fight/Epic hat, gehört er insbesondere auch zu Atmosphere/Fight.

In der Mitte ist dann die gefilterte Liste zu sehen. Liefert die Tag-Filterung immer noch zu viele Ergebnisse, oder man hat den Titel des Sounds sowieso im Kopf, so kann auch das Suchfeld genutzt werden, um die angezeigte Liste zu filtern. Zusätzlich ist es möglich auszusuchen, ob der Titel des Sounds angezeigt werden soll oder der Dateiname.

Wird nun ein Sound ausgewählt, so werden rechts Informationen dazu angezeigt. Auch Probehören ist hier möglich. Der Punkt Packages zeigt an, Teil welcher Soundpakete der Sound ist. Wie bereits erwähnt verschieben wir die genauere Erörertung dieses Themas allerdings auf einen zusätzlichen Blogpost.

Und wenn wir nun einen weiteren Sound hinzufügen wollen? Der oben angezeigte Button bringt uns in folgendes Menü:

Auf der linken Seite ist hier wieder der Tag-Baum zu sehen. Hier können die Tags ausgewählt werden, die der Sound tragen soll. Auf der rechten Seite kann die entsprechende Datei von der Festplatte ausgesucht werden. Nun heißt es sich entscheiden: Entweder die Datei von ihrem derzeitigen Standort abspielen lassen, oder aber in den smartSound-Ordner importieren. Die zweite Möglichkeit bedeutet zwar, dass die Datei nun "doppelt" vorhanden ist, dafür aber hat man sie in jedem Fall dabei, wenn man smartSound etwa auf einem USB-Stick deponiert hat.
Zusätzlich zum Probehören ist es natürlich noch möglich, Meta-Informationen wie den Interpret oder die jeweilige Lizenz anzugeben.


Wir hoffen wir konnten euch gut vermitteln, wie das Verwalten von Sounds rund um smartSound funktionieren soll. Wenn ihr Verbesserungsvorschläge, Lob oder Kritik loswerden wollt, würden wir uns über einen Kommentar hier im Blog oder in einem der Forenthreads freuen.

Kommentare:

  1. Vielleicht wollt ihr einen Flattr button auf eurer Seite Einbauen, ich würde euch unterstützen!

    AntwortenLöschen
  2. Hallo Salex,

    dankeschön für dein Angebot. Aber solange wir hier nichts haben, was man "benutzen" kann, möchten wir keine Spenden annehmen.

    AntwortenLöschen
  3. hallo zusammen,

    ich bin ja von Anfang an stiller Mitleser hier im Blog und kann kaum die Veröffentlichung der 0.1 (oder wie ihr das Release eben nennen werdet) abwarten. Habt ihr euch schon überlegt wann mit dem ersten Release zu rechnen ist?
    Falls ihr "kompetente" Betatester sucht, biete ich mich gerne an (h.huetter@gmail.com - Wirtschaftsinformatikstudent, Java-Entwickler).

    Lg und hoffentlich seit ihr gut durch die Prüfungszeit gekommen,
    Heiko

    AntwortenLöschen
  4. Hallo Heiko,

    vielleicht hast du ja auf Twitter mitgelesen. Falls nicht, hier nochmal der aktuelle Stand: Wir werden einen Prototypen auskoppeln, der bereits alle Funktionalität einer einzelnen Playlist hat (mit Fading, Zufallsreihenfolge, Wiederholung einzelner Lieder, etc.) und auch schon Speichern und Laden können soll.

    Das steht zwar sehr weit hinter der Funktionalität, die am Ende herauskommen soll, lässt sich dann aber schon anständig verwenden.

    Auf dein Angebot mit dem Testen kommen wir gerne zurück.

    Gruß,
    André

    AntwortenLöschen
  5. Hi Jungs,

    Bin gespannt auf euren ersten Release. Als "praktizierender" RPG-Spielleiter, der selber soetwas schonmal in Angriff genommen hat (und immernoch halbherzig nimmt), bin ich sehr gespannt :)

    Wenn ihr auch plant SFX einzubauen (kneipengeräusche u.ä.), dann empfehle ich euch die freesound library ( http://www.freesound.org/ ). Dort habe ich viele Sachen gefunden (und mit audacity oder einem algorithmus) kann man recht passable ergebnisse für einen audiotrack erzielen.

    Grüße und einen guten Wirkungsgrad,

    Johannes

    AntwortenLöschen
  6. Hi Johannes,

    schön, dass du das Geschehen hier verfolgst. freesound.org werden wir uns definitiv mal anschauen.

    Wir hoffen, dass wir euch mit "smartSound Lite" bald was interessantes zeigen können.

    AntwortenLöschen
  7. Moin moin!

    Das klingt alles extrem vielversprechend und ambitioniert - und Java / Linux Support da wird einem (mir!) warm ums Herz.

    Wenn Ihr noch nen faehigen Tester und event. Coder braucht (die Zeit!) ruehrt Euch einfach.
    Linux ist meine Wahlheimat,
    in diesem Sinne,
    -Jonathan
    der Linux-SL

    AntwortenLöschen
  8. Servus!

    Ich bin von eurem Projekt sehr angetant und biete meine Fähigkeiten als Tester gerne an.

    Bringe zwar nicht viel Zeit mit würde aber Teile meiner spärlichen Freizeit mit eurem Projekt füllen.

    Mein SL-Laptop nutzt ein Ubuntu 11.10 als OS. Kann auch ein Win7 - 64bit anbieten.

    Bei Interesse meldet euch einfach.

    MfG Glonf

    AntwortenLöschen