Achtung: Diese Seite enthält Partner- und Werbe-Links. Daher ist diese Seite im Gesamten als Werbeanzeige zu verstehen!
Irgendwann kam ich dann auf die Idee, das Gesprochene mit Untertiteln zu versehen und als witziges Video zu veröffentlichen. Das Problem nur: Das Erstellen eines solchen Videos ist sehr aufwendig. Mit dem Exportieren der Daten vom iPhone, Setzen der Texte und dem analysieren/verstehen des Gesprochenen stecken schon mal vier bis acht Stunden Zeit in einem Video. Das war lange Zeit in Ordnung, da ich einfach auf langen Reisen als Beifahrer an diesen Videos gearbeitet habe. Irgendwann hat mich aber der Reiz gepackt, eine saubere Lösung zu entwickeln, die in mein "Smart Home" passt - mich hatte es ohnehin genervt, dass ich jede Nacht daran denken musste, die Aufnahme-App zu starten.
Nein, das geht nicht. Haha. Thomas Kekeisen im Schlaf vor sich her geredet ( Video)
Da ich wirklich den gesamten "Video-Prozess" von aufgenommener Sprache bis zum fertigen Video möglichst automatisieren wollte, musste mein Programm natürlich auch ein Web-Interface für das Schneiden der Audiodateien her. Letztlich habe ich mich für node.js als Server, Jade als Template-Engine und Bootstrap sowie wavesurfer.js für das Frontend entschieden. An dieser Stelle auch einen Dank an Michael Malura, der mir anfangs bei Fragen zu node.js beratend zur Seite stand.
Ich habe mich von Dezember 2015 bis ungefähr April 2016 intensiv mit dem Thema beschäftigt, viel über die für mich neuen Komponenten gelernt und eine grobfunktionale Version meiner Idee entwickelt. Dann hatte mich allerdings die Lust verlassen und ich habe das Projekt erst im September 2016 und nach ungefähr 400 Commits für mich zufriedenstellend fertiggestellt. Neben sauberem Code und einer ordentlichen Struktur habe ich auch versucht, eine einfache Installation zu implementieren, damit unerfahrene Linux-Nutzer auch die Chance haben, PiSleepTalk zu benutzen. Auf einem frischen RaspberryPi ist das komplette System mit einem 39 Zeichen langen Befehl und etwas Zeit - etwa zwei bis 4 Stunden - erledigt.
Lauter oder lauter, du hast die Wahl! Thomas Kekeisen im Schlaf vor sich her geredet ( Video)
Gegen Ende der Entwicklung war das Debuggen die größte Herausforderung. Denn wie prüft man Code, der einen selbst im Schlaf aufnimmt, während man schläft? Die besten Mikrofon-Einstellungen musste ich wirklich Nacht für Nacht erproben und am Morgen die Qualität der Aufnahmen überprüfen. Für die restlichen Probleme - und da stößt man bei der Verwendung von sox und ffmpeg auf so einige - habe ich dann gelöst indem ich Teile der Dateibearbeitung ausgeschalten habe, um das entstandene Dateisystem zu sichern. So konnte ich die Aufnahmen immer wieder einspielen und die Verarbeitung auf dem RaspberryPi erneut starten. Um zu prüfen, wann und aus welchen Gründen mein RaspberryPi manchmal die Aufnahme stoppt oder startet, habe ich mir schlichtweg Info-Push-Nachrichten eingerichtet. Somit hatte ich direkt morgens beim Griff zum iPhone das Protokoll der Nacht zur Hand. Die Push-Nachrichten selbst waren natürlich lautlos.
Das fertige PiSleepTalk gibt es auf GitHub. Neben der kompletten Dokumentation sowie Installationsanleitung finden sich im Issues-Bereich noch Dinge, die ich in Zukunft implementieren könnte. Ich freue mich natürlich sehr über Mitstreiter.
Mittlerweile nutze ich meine Installation seit drei Monaten und habe mit ihr mit relativ geringem Aufwand drei Videos erzeugt. Manchmal kommt es noch vor, dass die SD-Karte meines Raspberry zu voll ist - ein noch offenes Problem. Ich vermute, dass durch den Umstieg von meinem günstigen USB-Mikrofon auf ein professionelles Studio-Mikrofon auch die aufgenommen Aufnahmen um ein Vielfaches größer geworden sind.