Let's get ready to Mumble

Selten hat mich ein Stückchen Software so begeistert wie Mumble. An sich ist ist es nichts Spektakuläres mehr, über das Internet miteinander zu sprechen. Seit Skype kennt wohl jeder die Möglichkeit, ein Headset aufzusetzen und damit zu telefonieren.

Seit einiger Zeit hab ich nun abends auch so ein Ding auf. Ich telefoniere aber nicht, sondern ich benutze eine Konferenz-Software, die den Eindruck vermittelt, man säße in einem Konferenzraum (oder nennen wir es Stammtisch oder was auch immer) und spräche miteinander. Das ganze hat etwas von einer Runde auf einem Funkkanal, die Gesprächspartner sind aber nicht zufällig, sondern von ähnlicher Interessenslage, in meinem Fall gehts um Geocaching.

Erfunden wurde die Mumbelei eigentlich für Spieler, die sich durch dreidimensionale Labyrinthe hetzen um ihre Cybergegner zu zermetzeln. Da sollen vergleichbare Lösungen wie Teamspeak den Nachteil einer schlechteren Verständlichkeit und vor allem einer längeren Laufzeit (Latenz) gehabt haben - Sekundenbruchteile, die wohl über virtuelles Leben und Tod entscheiden können.

So stressige Spielchen sind zwar nichts für mich, aber ich habe mir vor zwei Monaten für kleines Geld auch einen Mumble-Server gemietet, auf dem abendlich nun die Geocacher live die aktuellen Geocaching-Themen durchzugehen. Soweit dazu was ich damit mache, nun mal lieber zur Technik.

Man kann sich einen Client für den Mumble-Server für verschiedene Systeme (Windows, Mac, Linix) kostenlos herunterladen wie es bei Open Source üblich ist. Der verbindet sich über einen TCP-Port (64738, C64-Veteranen werden sich erinnern!) mit einem Mumble-Server. So ähnlich wie man es vom IRC kennt, es sind daher keine speziellen Verrenkungen auf der Firewall erforderlich, allerdings ist die ganze Kommunikation SSL-verschlüsselt.

Man kann dann sein Headset für sprachgesteuerten Betrieb mit einem Assistenten konfigurieren. Das braucht man aber nicht, wenn das Headset funktioniert (Stecker, Treiber, Einstellung), was für die meisten das größte Problem darstellt, kann man sofort mitmachen. Die Taste um zu sprechen ist frei wählbar und ein kleines rotes Icon zeigt wenn man "on air" ist.

Das Feature der Sprachausgabe kann man übrigens auch abschalten, besonders URLs die man mal während der Konferenz kurz durchreicht (auch das geht, wird bei Messengern wie ICQ ja auch gern gemacht) hören sich vorgelesen doch sehr merkwürdig an.

Wenn man keinen eigenen Server hat kann man einen der Server wählen, die der Client in einer Liste so anbietet. Auf jeden Fall müssen sich Benutzer, die miteinander sprechen wollen dem selben Server verbunden sein und sich auf dem gleichen Kanal befinden. Wer Linux-Kenntnisse und einen Root-Server hat wird sich vielleicht auch den Mumble-Server, der übrigens Murmur heißt selbst schnell installieren können.

Was mich besonders begeistert am Mumble ist die Sprachqualität, die eindeutig besser als das ist, was man vom ISDN her kennt. Interessanterweise funktioniert das sogar dann in dieser Qualität, wenn jemand ein Modem benutzt! Das liegt an dem verwendeten Speex-Codec, der obwohl frei verfügbar eine beachtliche Qualität bringt.

Moderator bei Präsentationen

Besonders für mehrere Präsentationen bietet es sich an, einen Moderator die Themen und Vortragenden kurz vorstellen zu lassen. Neben der Begrüßung und Verabschiedung des Publikums kann er den Zeitplan einhalten und auch die Pause einleiten, falls ein Catering stattfindet auch solche organisatorischen Dinge erläutern.

Besonders ein diskretes Zeitmanagement ist für den Vortragenden als auch für das Publikum positiv. Mit dem Vortragenden kann z.B. vereinbart werden, dass der Moderator ein paar Minuten vor Ende der Präsentation zum Vortragenden kommt um dezent und wortlos durch sein Erscheinen auf das Ende der Vortragszeit hinzuweisen. Überziehen der Redezeit geht zu Lasten der folgenden Vorträge und auf die Nerven des Publikums und ist eine der schlimmsten Unsitten bei Vorträgen!

Nach dem Vortrag sollte sich der Moderator beim Vortragenden bedanken und die Fragerunde einleiten. Dazu kann man Fachfragen aus dem Publikum anfordern und auch als Moderator sollte man die eine oder andere Frage vorher bereitgelegt haben, um das Fachgespräch mit einem trägen Publikum in Gang zu bringen.

Perfekt wäre es, wenn sich eine kontroverse Diskussion ergibt, bei der die wichtigsten pro und contra zum Diskurs kommen. Dies zu steuern ohne selbst einzugreifen und ausgreifende Diskussionen zu mäßigen ist dabei die Kunst des Moderators. Der Moderator sollte dabei auch dezent für Ruhe im Raum sorgen, Getuschel kann aufgegriffen werden mit dem Kommentar "Ihre Fragen können hinterher gestellt werden!".

Zustandsdiagramme

Zustandsdiagramme sind eine Form in UML die den Zustand von Objekten darzustellen und gehören zu den Verhaltensdiagrammen.

Der Zustand ist vor allem dadurch gekennzeichnet, welcher Wert in den Attributen gespeichert ist und gilt für alle Objekte einer Klasse. Da ein Objekt während seines Lebens verschiedene Zustände annehmen kann, ist es interessant darzustellen, durch welche Aufruf von Methoden des Objekts sich welche Attribute ändern.

Die Methoden können entweder direkt aufgerufen werden oder das Objekt bekommt Nachrichten, die dazu führen, dass die Methoden aufgerufen werden. Man kann das Zustandsdiagramm sozusagen als Verfeinerung der Darstellung einer Klasse in UML betrachten.

Alle Zustände sollten einen Namen bekommen der den Zustand verbal beschreibt, wie "aktiv" oder "wartend". Diese Namen sollten auch nicht verwechselt werden können, innerhalb einer Klasse sind sie ohnehin einmalig. Wenn in anderen Klassen ähnliche Zustände erreicht werden können, dann sollten Verben und Adjektive mit einem Begriff ergänzt werden, der deutlich macht wozu der Zustand gehört.

Natürlich kann man gar nicht alle möglichen Zustände abbilden, aber die wesentlichen Zustände des Objekts und wie es dazu kommen kann (Zustandsübergänge, sog. Transitionen "feuern") sollten dargestellt werden.

Ereignisse die zu der Transition führen werden neben den Pfeil geschrieben, der die Zustände miteinander verbindet ("nach einer Sekunde", "täglich um 3:00 Uhr", "bei Druck auf Abbruch-Button"), bei Voraussetzung einer Bedingung kommt diese in eckige Klammern.

Unbedingt darzustellen sind der Anfangszustand und ein oder mehrere Endzustände, insbesondere der Fall, wann das Objekt gelöscht wird.

PowerPoint-Karaoke

Man stelle sich vor: Als Referent steht man am Beamer und sieht eine Präsentation zum ersten Mal. Genauer gesagt: Nur die Titelfolie einer solchen, die das Publikum oder eine Spielleiter gerade für diesen Zweck ausgesucht hat. Vom Thema hat man dann natürlich keine Ahnung, soll aber fünf Minuten wacker improvisieren und damit die Zuschauer unterhalten.

So etwa funktioniert PowerPoint-Karaoke, das Holm Friebe von der Zentralen Intelligenz Agentur schon 2006 in seinem Blog Riesenmaschine vorgestellt hat. Dabei sind es vorzugsweise Horrorfolien zu Trivialthemen, die hier auf der Liste der bevorzugten Slides stehen.

Warum das Spass macht ist schwer zu beschreiben, das muss man schon selbst einmal ausprobiert haben. Auf jeden Fall bietet das Spiel eine Möglichkeit, seine rhetorischen Fähigkeiten auf spielerische Weise zu verbessern. Zudem kann Powerpoint-Karaoke als Parodie auf sinnlose Präsentationen betrachtet werden.

Zum Thema PowerPoint-Karaoke gibts natürlich passenderweise auch eine PowerPoint-Slideshow, um das Spiel vorzustellen.

Freie MP3-Software zur Normalisierung

Für meinen neuen Geocaching-Podcast brauchte ich vor ein paar Tagen ein Programm, das mir eine MP3-Datei "lauter" macht. Mein Problem war, dass mein neuer MP3-Recoder, der bei Podcastern sehr verbreitete ZOOM H2 sehr vorsichtig aussteuert.

Man kann das zwar auch selbst also manuell und somit korrekt machen, aber während der Sendung habe ich dafür nicht den Kopf frei. Ich nehme daher den mittleren Pegel und lasse den Kompressor laufen. Das ist sowas ähnliches wie die Aussteuerungsautomatik die mein Mono-Kassetten-Rekorder von Phillips vor 30 Jahren schon hatte. Nur eben modern und digital realisiert.

Der Sound erinnert dann ein wenig an ein Verstärkermikrofon vom CB-Funk, aber alle Beteiligten meiner Gesprächsrunde sind deutlich zu verstehen, auch wenn sie grad mal nicht in Richtung des Mikrofons sprechen. Im Ergebnis wird die Aufnahme allerdings dann zu leise. Das ist besonders deswegen störend, weil so ein Podcast dann im Vergleich zu anderen mit denen er zeitgleich auf den iPod oder Player der Wahl geschoben wird zu dünn klingt.

Nun hab ich ja grad meinen Linux-Rechner nicht aufgebaut, sondern muss noch ein paar Tage auf der Windows-Kiste arbeiten. Sonst würd ich Audacity nehmen, die Datei einlesen und normalieren, das kann das Programm nämlich, wie ich weiß. Dabei wird die lauteste Stelle gesucht und dann alles um soviel lauter gemacht, dass der Dynamik-Bereich optimal genutzt wird.

Oder eben auch doch nicht so optimal. Bei der Suche nach einem Windows-Programm, das genau dies tun soll und darüber hinaus auch noch Freeware ist, bin ich über mp3gain gestolpert - und war sofort begeistert. Das Programm ist open Source und liegt bei Sourceforge zum Download mit Übersetzung verschiedenen Sprachen bereit. Für die Windows-User gibts eine hübsche GUI in Visual Basic gleich dazu.



Das Programm sucht nicht einfach die lauteste Stelle, sondern macht eine statistische Überprüfung, wie laut sich die Datei für das menschliche Ohr anhört. Vor allem aber, und das begeistert mich am meisten, wird die Datei nicht decodiert, lauter gemacht und wieder neu encodiert, sondern die Änderung ist verlustlos. Das ist für mich deswegen interessant, weil ich mit dem Recoder ja schon als MP3 aufnehme.

Wenn ich dann meinen Linux-Rechner wieder in Betrieb habe, ist es noch einfacher ein ganzes Verzeichnis auf einen Pegel zu bringen:

mp3gain -r -c *


Das ganze geht so schnell, dass man es kaum glauben mag - wenige Sekunden später sind die Dateien bearbeitet. Die Änderungen werden in speziellen MP3-ID-Tags gespeichert und lassen sich dadurch bei Bedarf auch wieder rückgängig machen. Allerdings könnten ältere MP3-Player dadurch verwirrt werden, so dass man die erweiterten ID3-Tags auch weglassen kann.
tweetbackcheck