Hallo liebe Hörerinnen und Hörer, willkommen im Python-Podcast, Episode 61.
Wirklich 61.
Wir haben eben noch ein bisschen über...
Heute zum Aufhören gehen.
Hallo Jochen.
Hallo Dominik, herzlich willkommen und herzlich willkommen Johannes, auch wieder mit dabei.
Hallo zusammen.
Wir haben ja schon ein paar mal hier gehabt, glaube ich, ihr kennt ihn.
Genau, ja.
Und wir haben auch einen besonderen Gast heute wieder.
Hallo Georg.
Hallo, danke für die Einladung.
Ja, mein Herzliches.
Eine Vorstellung machen wir vielleicht bestimmt noch später, wenn wir zu Wort kommen.
Vielleicht fangen wir mit unserer klassischen Struktur an.
Wir haben ja immer besonders viel Struktur im Podcast, habe ich gehört, Jochen.
Ja?
Ja.
Okay.
Vielleicht als erstes News, für alle, die es noch nicht mitbekommen haben, wir planen
ein HörerInnen-Treffen.
Ja, wir hatten ja letztes Mal da aufgerufen, sich zu melden.
In der Region Rheinland.
Es haben sich tatsächlich einige Leute schon gemeldet.
Genau, wir haben gesagt, ihr solltet uns auf jeden Fall immer noch eine Mail schreiben,
damit wir das dann ordentlich zählen können.
Und genau eine hat uns eine Mail geschrieben.
Ja, die anderen Leute haben das über alle Kanäle gelesen.
Manche haben sich auf LinkedIn gemeldet.
Manche haben sich über Discord gemeldet.
Manche haben sich einfach nur persönlich gemeldet.
Aber wir kriegen das auch immer wieder.
Also, wenn ihr Lust habt, dann auf jeden Fall Bescheid.
Wir würden uns freuen.
Und ich habe gehört, dass die Stuttgart-Fraktion, die Süddeutschland-Fraktion, die ist gerade
stark in Führung.
Macht ihr eine Frage?
Meint das richtig?
Nein, leider nicht.
Das sind, diese Gerüchte kann ich nicht bestätigen.
Also, auf LinkedIn hat einer gesagt, er würde gerne das lieber in Stuttgart haben als in
Düsseldorf.
Aber ansonsten, zum Beispiel auf Spotify wollten vier Düsseldorf und keiner Stuttgart.
Ja, und bei uns im Discord auch.
Ja, also, tut mir leid, du musst leider anreisen.
Aber wir müssen uns halt noch überlegen, wie wir das machen wollen und wo.
Also, ist jetzt aber letzte Chance für die Süddeutschland-Hörer.
Ja, okay, wenn man jetzt wirklich will, dass es in Stuttgart stattfindet, könnte man nochmal.
Ihr habt noch die Chance.
Ja.
Stimmen Sie jetzt ab.
Die Telefonleitungen sind geschaltet.
Die Spuren sind scharf gestellt am Mischpult, mit dem wir nie Probleme haben.
Das war es auch schon wieder.
Dann bleibt uns gewogen.
Hallo, bei Python Podcast.
Das konnte eh.
Haben wir Picks?
Nein.
Wir wollten News machen, glaube ich, noch.
Okay, gut.
Ich habe, ehrlich gesagt, fast gar nichts.
Also, es gibt eine neue Rails-Version, die ein bisschen mehr Deployment dazu kann, aber
keine.
Okay, wir waren, glaube ich, erst vor zwei Wochen News gemacht und in den letzten zwei
Wochen ist nicht so wahnsinnig viel passiert.
Ja, und es ist nicht so wirklich viel passiert.
Keine Ahnung warum.
Dann skippen wir heute die News.
Oder hast du mit News mitgebracht?
Oder hat jemand von euch irgendwas Interessantes, was in der Python-Welt passiert ist?
Nein.
Ich habe nichts.
Dann lassen wir einfach den Georg sich selbst vorstellen und ein bisschen was.
Dann machen wir hier.
Hey, das ist nicht eine tolle Idee.
Obwohl, wir könnten auch einmal noch kurz Werbung machen für uns selber.
Das ist eine gute Idee.
Wir können Werbung machen.
Bitte?
Willst du für uns selber Werbung machen?
Ja, okay.
Ja, ganz kurz vielleicht.
Miet mich, miet mich, miet mich.
Jetzt hier.
Ja, wie war das?
Ja, man kann uns auch mieten.
Und ich habe gehört, das muss man wiederholen.
Sonst merken sich die Leute das nicht.
Deswegen.
Wir haben das ja schon einmal gemacht.
Aber einmal ist zu wenig.
Und deswegen sagen wir das einfach nochmal.
Also, wenn ihr interessante Projekte habt oder so.
Die meisten von uns sind irgendwie.
Und auch im Prinzip.
Für schöne Projekte buchbar.
Und ich wiederhole das jetzt mal in meiner Stimme.
Auch nochmal.
Auch ich bin mietbar.
Und immer für interessante Projekte zu haben.
Ja, wunderbar.
Und Georg, wie ist das bei dir?
Bist du auch mietbar oder bist du irgendwo angestellt?
Wir sind alle mietbar irgendwie, oder?
Ja, gut.
Also, ihr wisst ja schon, dass ihr alle für die Werbung im Podcast eine Rechnung bekommt.
Von mir.
Das zählt.
So.
Also, Dominik, das war jetzt deine Überleitung, damit du den Georg vorstellen kannst.
Ja.
Ja, gut dann.
Okay.
Entschuldigung, Georg.
Bitte.
Ja, ich bin der Georg.
Hallo.
Und ja, wenn man mich mieten will, ich bin aus Österreich an der slowenischen Grenze ganz im Süden.
Da in der Nähe von Graz.
Und warum bin ich da?
Also, wir haben so ein Projekt.
Afonik nennen sie das.
Da geht es um Audioverbesserung.
Vielleicht noch einmal.
Wenn ich da ganz kurz einhaken darf.
Afonik habt ihr auf jeden Fall schon mal gehört.
Also, zumindest, wenn ihr unseren Podcast schon mal gehört habt, habt ihr auf jeden Fall Afonik gehört.
Also, den Effekt zumindest.
Weil wir von Anfang an alle unsere Episoden durch Afonik jagen.
Ja.
Aha, so gehört.
Nicht schlecht.
Ja.
Zuerst mal zu mir.
Also, ich habe bei uns da in Graz Toningenieur studiert.
Das ist eine interessante Studie.
Da machen wir so Audiosachen und Informatik und Elektrotechnik Sachen.
In Kombination quasi halt.
Also, du hättest das Audioproblem hier, was wir am Anfang der Episode hatten, heute sehr viel schneller in den Griff bekommen.
Deswegen habe ich gesagt, warum verwendet ihr einen Mischpuls?
Dann hat man keine Probleme.
Dann hat man keines verwendet.
Na, wie auch immer.
Und, ja, dann mehr so in die Richtung Informatik.
Also, alles ein bisschen so kombiniert.
Also, Audio und Informatik und Machine Learning und so weiter.
Und dadurch war auch sehr viel Podcast.
Ich höre auch immer.
Und dadurch bin ich dann irgendwie zu Afonik gekommen, wo es eben um die Verbesserung von Audi gegangen ist.
Und was am Anfang auch noch ganz wichtig war, ist, verschiedene Dateien zu erstellen.
Sei es MP3, AAC.
Da hat es ja alle möglichen Formate damals noch gegeben.
Und die Metadaten korrekt zu haben und so weiter und so fort.
Und so ist das ganze Projekt sozusagen entstanden.
Warum jetzt in beiden Podcasts, wenn Sie einige fragen.
Also, bei uns ist ja alles mit, oder fast alles mit.
Wir haben es mit beiden gemacht.
Weil, allein schon von der ganzen Algorithmen-Seite ist das alles mit beiden.
Hat das immer, war das immer schon auf beiden.
Dann das ganze Websystem haben wir auch mit beiden gemacht.
Da erzählen wir bitte gerne gleich noch ein bisschen ausführlicher drüber.
Das interessiert uns natürlich sehr.
Glaube ich.
Vielleicht.
Ja.
Okay.
Ja, das klingt auch gut.
Und, genau.
Ich weiß nicht, wie kommt denn dann.
Also, ich habe immer schon.
Also, ich höre ja.
Ich habe schon ganz lange immer Podcasts gehört.
Und, gefühlt war so auch schon relativ früh mit dabei.
Wie, war ein Podcast speziell irgendwie?
Auch so eine Motivation dafür, irgendwie das zu machen?
Oder ist das halt irgendwie später dazu gekommen, dass das Podcast funktioniert vielleicht?
Ja.
Ja, also zuerst.
Das erste System war quasi explizit für Podcasts.
Ja.
Das war der Tim damals, der Tim Pritzlaff, der immer gestöhnt hat, dass alles so kompliziert ist.
Und, da denkt man sich dann natürlich, na okay, da braucht man halt immer so ein Tool.
Und, das hat dann eben so angefangen.
Zuerst mit dem Leveling, dass man eben verschiedene Lautstärken von verschiedenen Sprechern auf gleiche Levels bringt und so weiter.
Und, dann eben so ein Websystem, also so ein Webinterface dazu.
Und, von dort weg ist es dann halt weiter gewachsen.
In andere Bereiche.
Der Tim hat das dann eben auch angekündigt auf seinem Podcast damals.
Und, so sind halt viele andere Podcaster auch dazukommen.
Ja.
Und, dann hat sich das immer sehr schön langsam weiter verbreitet.
Ja, ich glaube, ich habe es auch daher immer gehört, denke ich wahrscheinlich, ja.
Genau, ja.
Ja, ja.
Ja, das ist ja auch interessant.
Und, ich habe auch den Eindruck, dass ihr da am Anfang relativ viel so Scikit-Learn,
irgendwie verwendet habt zumindest für irgendwie diese ganzen Anpassungen.
Ja, also wir ganz am Anfang so viel mit NumPy, Scikit-Learn, ja, SciPy,
also diese ganzen Signalfarbedocs und Machine Learning Packages, was es eben damals so gegeben hat.
Und, das war eh...
Vielleicht kannst du kurz sagen, wann damals war?
Damals, also gestartet sind wir 2013, wenn ich das richtig im Kopf habe.
Also, das ist von bald das zwölfte Jahr.
Schon ein bisschen was sehr Gutes.
Ja, das waren so die frühen 2010er Jahre quasi, wo die erste Version entstanden ist.
Und, ja, ich schätze mal, eure Hörer kennen eh diese ganzen Packages, gell.
Also, NumPy, so Array Processing und SciPy setzt eben drauf auf.
Hat ein paar zusätzliche Algorithmen.
Vor allem im Signalfarbedungsbereich.
Und, Scikit-Learn, ja, da waren halt früher hauptsächlich alle möglichen Klassifikations- und Clustering-Algorithmen,
auf denen wir dann halt auch aufgebaut haben.
Und, ja, vielleicht mal ein Beispiel, was wir damals so machen konnten.
Oder geht natürlich jetzt auch noch, aber jetzt gibt es halt andere Techniken auch.
Wir haben halt damals versucht, früher hat es ja eigentlich nur so Audio-Plugins gegeben,
was halt Signalfarbedungsalgorithmen waren, die halt irgendwie...
abgelaufen sind und man hat da ein paar Rahmen da dann eingestellt.
Und im Prinzip war das immer noch sehr schwer zu bedienen, wie man es am Mischpult sieht.
Und das Ganze haben wir versucht eigentlich einmal zu automatisieren.
Das heißt, wir haben halt nicht nur diese DSP-Algorithmen gehabt, die man aufs Audio irgendwie anwendet,
sondern eben versucht, mit Klassifikatoren gewisse Sachen im Audio zu erkennen.
Also, wo zum Beispiel verschiedene Sprecher sind oder wo Musikteile sind, wo jetzt nur Rausch-Teile sind.
Oder eben nur Hintergrundgeräusche oder Hintergrundmusik, Vordergrundmusik und lauter solche Sachen.
Und mit diesen Ergebnissen, die wir eben von den Klassifikatoren dann bekommen haben,
dafür haben wir zum Beispiel im Scikit-Learn Sachen verwendet, wie jetzt SVNs oder irgendeine Decision Trees mit Feature Extraction vorher.
Und aufgrund von diesen Analysedaten haben wir dann eben die Parameter der ganzen DSP-Algorithmen automatisch gesetzt.
Also zum Beispiel, wenn man einen D-Noiser hat, haben wir das Audio mal segmentiert in verschiedene Abschnitte, wo verschiedene Noise-Profile sind.
Also zum Beispiel, wir reden jetzt hier in einem Raum, dann geht man raus, dann hat man natürlich ein anderes Noise-Profil.
Da haben wir so ein Clustering gemacht, das das Audio segmentiert.
Und dann in den einzelnen Segmenten haben wir geschaut, wo jetzt Sprecher sind oder Musikteile.
Und in den stillen Teilen, wo eben keiner spricht, also wo nur der Noise-Floor sozusagen unten überbläst,
bleibt, diese haben wir dann so zusammengestitcht und daraus Noise-Profile extrahiert
und diesen Noise dann quasi vom Gesamtsignal abgezogen.
Und wiederum entschieden, ob das überhaupt Sinn macht, dass man das macht, oder ob das nicht Musik ist.
Und da wollen wir das vielleicht nicht abziehen.
Also die Grundidee ist halt, dass man so verschiedene Klassifikatoren hat und mit denen dann die Algorithmen steuert.
Und für das hat das ganz gut funktioniert.
Aber diese Algorithmen sind dann quasi noch so wie klassische.
Und ich weiß jetzt nicht, ich habe jetzt so im Hinterkopf, da gibt es irgendwie so Audio-Workstations und irgendwelche Plugins und so.
Und da kann man dann wahrscheinlich die Parameter einstellen.
Aber sozusagen, die sind dann halt übernommen.
Aber wie man die einstellt, ist automatisiert über halt irgendwie...
Übernommen, also die haben wir natürlich schon selber entwickelt.
Aber vom Prinzip her ähnlich natürlich.
Also man hat halt bestimmte Filter oder Kompressoren, Limiter und was gibt es noch?
Alles eben so FFT-basierte Prozesse, so wie dieses Denoising zum Beispiel.
Ja.
Und auf diese Weise steuert man dann diese klassischen DSB-Algorithmen quasi.
Ja.
Aber genau gibt es da nicht irgendwie, wenn man jetzt zum Beispiel...
Das ist ja auch ein spezieller Anwendungsfall eigentlich, dass man halt so ein fertiges Audio hat, was man dann post-processen will.
Kann man da nicht auch noch irgendwie vielleicht irgendwie Informationen, mehr Informationen verwerten,
wenn man halt das ganze Audio...
Normalerweise diese Audio-Work-Sessions sind ja immer mehr so drauf ausgelegt, dass man halt irgendwie einen Mix so live erzeugt.
Und da hat man ja gar nicht so viele Informationen.
Genau. Das ist eben der Unterschied von unserem System gewesen zu den anderen Sachen oder zu den meisten anderen Sachen.
Also dieses Konzept, wie es im Computer meistens funktioniert.
Also in Audio-Plugins ist es halt eigentlich ein Realtime-Konzept.
Also...
Ja.
Ein Plugin sieht ja nur einen kleinen Buffer an Audio, den er prozessiert.
Und den muss er jetzt auch so schnell wie möglich prozessieren und dann spuckt er ihn wieder aus,
weil das System ja auf Realtime ausgelegt ist.
Und es hat zumindest damals sehr wenig Programme gegeben, die jetzt ja wirklich so Offline-Audio-Berechnung gemacht haben.
Und das war damals eben der Levelator, den es da gegeben hat.
Das war auch so ein Programm, das einfach die Levels quasi gleichgeregelt...
... von Aufnahmen.
Ziemlich Brute-Force.
Also der hat nicht geschaut, ob da irgendwie Musik ist.
Das hat er vollkommen zerstört, aber halt einfach versucht, alles irgendwie gleich laut zu machen.
Und...
Dieses Programm hat mich damals ein bisschen fasziniert, weil ich doch aus der Audio-Bubble-Saison gekommen bin.
Und das haben mir die Podcaster damals gezeigt.
Und ich habe mir gedacht, warum habe ich noch nie von dem gehört?
Das ist ja eigentlich ganz praktisch.
Weil in der ganzen professionellen Audio-Welt dieses Konzept einfach nicht existente ist.
Und das war also wirklich...
Also...
Weil es da halt natürlich die super speziellen Plugins geben, die von den namhaften Herstellern und so weiter.
Aber dieses Konzept haben wir dann auch versucht ähnlich zu machen.
Also weg von dem Plugin-Konzept und eben einfach das gesamte Audio analysiert.
Das heißt, man hat vorher schon mal schauen können, wo was passiert.
Und danach eben die Algorithmen dann darauf anpassen.
Zusätzlich ist es natürlich praktisch.
Das kann man dann als Webservice anbieten.
Weil da kann man dann das ganze Pfeil hinterholen.
Und dann kann man dann auch die Algorithmen dann auch anpassen.
Und das wird dann halt einfach sozusagen im Hintergrund prozessiert.
Und dann bieten sie natürlich auch andere Sachen an, dass man das Pfeil dann gleich mal hindistributiert.
Also auf YouTube und auf Soundcloud war damals man ziemlich populär.
Und alle möglichen anderen Tages auf den eigenen Server.
Oder verschiedene andere Publikations- und Encoding-Steps dann dazu tun.
Darf ich noch so ein paar Fragen stellen?
Vielleicht zu diesem Audio-Ding.
Das würde mich so ein bisschen mehr interessieren.
Also du hast das aus der Tontechnik-Welt quasi gedacht, ja?
Und wenn du sagst, okay, du möchtest die Sachen auspegeln irgendwie,
dann guckst du darauf, dass das so ein bisschen harmonisch ist.
Und du guckst, dass das so ein bisschen Raum gibt.
Und du versuchst dann mit den Filtern, die durch das Machine Learning trainiert sind,
zu erkennen, was jetzt ein Störgeräusch ist und nicht zur Stimme gehört.
Und ja, also so.
Ich versuch's so ein bisschen.
Einfach darzustellen, ja?
Weil ich möchte gerne diesen Prozess aus dieser Audio-Perspektive so ein bisschen eher verstehen.
Ja.
Naja, ich rede jetzt immer noch aus der Perspektive, wie das quasi früher war.
Aber nehmen wir vielleicht mal dieses Leveling-Beispiel.
Was muss man da machen?
Also wenn man jetzt verschiedene Sprecher hat,
zum Beispiel wie wir da.
Einer ist halt viel lauter, einer ist viel leiser.
Und das wechselt sich dann ab.
Und wo war er jetzt?
Ja genau, dann hat man irgendwelche anderen Sachen noch dabei.
Also Intro-Musik zum Beispiel.
Oder dann ist wieder mal Pause und dann hört man irgendwelche anderen Geräusche.
Dann nennt sich das so Voice-Activity-Detection.
Also man detektiert eben, wo jetzt wirklich die Sprache aktiv ist und wo jetzt Pausen sind.
Dann detektiert man zum Beispiel, wo jetzt Musiksegmente sind.
Und dann wo jetzt irgendwas...
Anderes ist, also irgendeine Störgeräusche, die jetzt weder Sprache noch Musik sind sozusagen.
Und dann, wenn man jetzt die verschiedenen Sprachsegmente hat,
und da sind große Level-Unterschiede,
dann versucht man die so schnell wie möglich nachzuregeln,
dass sie möglichst ähnlich laut klingen.
Also relativ schnell zu faden.
Bei Musik muss man das jetzt wieder anders machen,
weil wenn man in der Musik jetzt so schnell nachregelt,
dann würde man die ganze innere Dynamik der Musik zerstören,
weil Musik braucht ja viel mehr.
Mehr Dynamik natürlich, sind ja alles ziemlich erwurscht.
Wurscht in dem Sinn, dass alles gleich laut ist und dann nicht mehr gut klingt.
Das heißt, bei Musik muss man das natürlich wiederum anders machen,
deswegen muss man das vorher klassifizieren.
Dann hat man wieder irgendwelche anderen Geräusche,
die jetzt weder Musik noch Sprache sind.
Die wird man wahrscheinlich nicht raufregeln wollen.
Also das kennt man von so alten Automatic-Gain-Control-Algorithmen
bei diversen Recording-Systemen.
Wenn man das einstellt und dann stehen lässt
und dann mal der Zeit lang nichts sagt,
dann wird auf einmal der Noise-Begel komplett hochgezogen vom Hintergrund
und dann fängt wieder irgendwer zum Sprechen an,
dann regelt der Begel wieder runter
und dann ist der Noise wieder unten und die Sprache kommt wieder.
Also genau solche Pumping-Artefakte,
dass irgendwas hochgezogen wird, was man nicht will,
will man natürlich nicht haben.
Und das kann man natürlich viel besser machen,
wenn man das ganze Pfeil vorher klassifiziert,
wo welche Events passieren, die relevant sind für diesen Algorithmus jetzt.
Und dann weiß man schon,
das ist da und das ist da
und dann kann man dieses Nachregeln natürlich ein bisschen besser machen, ganz einfach.
Ich hoffe, das war jetzt deine Frage.
Ja, ich versuche mir noch vorzustellen, wie das genau aussieht.
Also wenn du sagst, die Musik braucht jetzt ein bisschen mehr Dynamik, hast du gesagt,
dann lässt den Filter ein bisschen mehr auf
und du regelst halt nicht die einzelnen Frequenzen alle auf laut,
sondern willst dir ein bisschen auch Raum geben vielleicht.
Ich versuche das so ein bisschen visuell zu verstehen.
Was bei Musik vielleicht nicht ganz so einfach zu erklären ist.
Ja, aber ist Musik eigentlich überhaupt jemals sozusagen auch das Ziel gewesen,
dass man das halt verbessern kann?
Oder ist das auch vor allem nicht eher schon immer irgendwie Sprache rein Sprache gewesen?
Ja, aber du musst ja mit der Musik auch irgendwie klar kommen.
Das Problem ist ja, du kannst ja nicht einfach nichts machen,
weil wenn du die Sprache irgendwie großartig nachregelst
und dann ist die Musik wieder ganz woanders,
dann passt das ja erst wieder nicht zusammen.
Ja.
Also wir versuchen natürlich die Musik so wenig wie möglich zu verändern,
sag ich mal, also künstlerisch zu verändern,
sondern einfach so anzupassen, dass sie zum Rest von der Produktion passt.
Also dass halt die Lautstärkenverhältnisse zu den Sprechern und der Musik einigermaßen passt,
dass die Lautstärkenverhältnisse in der Musik nicht so viel verändert werden.
Also natürlich werden sie ein bisschen verändert, aber nicht zu extrem.
Und spektral wird die Musik jetzt eigentlich auch nicht verändert.
Also zumindest bis jetzt nicht.
Vielleicht machen wir das in Zukunft nochmal.
Also, weil wir gehen natürlich davon aus,
meistens hat man so einen Einspieler oder sonst irgendwas,
das ist schon vorproduziert,
das ist künstlerisch meistens so gewollt
und da will man jetzt nicht großartig was ändern dabei.
Außer vielleicht ein bisschen Neues weglöschen oder eben die Begel anpassen,
dass sie zum Rest passen.
Was man natürlich auch sehr oft zu unseren Musikmixes,
da macht es sich um die Musikmixer,
da macht es sich um die Musikmixer.
Also wenn man jetzt ein Stück hat, das sehr laut ist und sehr leise,
das passen wir schon an, dass das dann wieder zusammenpasst.
Aber jetzt nicht den spektralen Content in der Musik.
Ja.
Aber genau, ist das denn...
Aber inzwischen hat sich ja auch im Machine Learning Bereich so einiges getan,
so in den letzten zehn Jahren.
Ich meine, 2013 hat das mit dem Deep Learning und so gerade erst angefangen.
Ja.
Gibt es da inzwischen auch Geschichten,
wo man das so mehr so richtig End-to-End macht?
Ohne dass man dann noch irgendwelche Blöcke dazwischen hat,
die man konfiguriert, sondern einfach quasi,
man könnte ja auch das alles irgendwie insgesamt lernen
und dann halt Audio rein auf der einen Seite in irgendwie ein neuronales Netz
und dann wieder Audio auch wieder raus.
Hat sich das da eigentlich in die Richtung schon entwickelt?
Weil ich habe da ehrlich gesagt gar keine Ahnung von.
Ja, so funktioniert es im Moment eigentlich.
Also wie gesagt, wenn man jetzt von der Geschichte her kommt,
mit von NumPy, SciPy und...
CKitLearn und so weiter,
sind immer weitere Algorithmen gekommen.
Also ich habe zum Beispiel meine Blumenarbeit damals
auch schon mit so neuronalen Netzen gemacht.
Das war 2007 oder 2008.
Da war das noch ganz am Anfang,
vor allem im Audio-Bereich.
Und am Anfang von der Phonik haben wir das jetzt noch nicht gehabt,
weil es ja einfach nur zu aufwendig war zum Rechnen.
Aber dann sind wir eh gleich in diese Richtung,
wenn man ganz...
Also wenn wir jetzt schon in beiden Podcasts sind,
können wir von den Tools ein bisschen reden.
Zuerst war dann das TensorFlow sehr, sehr beliebt am Anfang.
Vor allem mit diesem Keras, dieser Keras-Library.
Das war damals so ein Wrapper für TensorFlow im Prinzip,
einfach mit einer einfacheren API, also einfacher zu verwenden.
Ja, inzwischen ist es, glaube ich, die offizielle API-Aufwand.
Ja, die haben es, glaube ich, irgendwie...
Oder der Typ bei Keras ist dann, glaube ich, irgendwann zu Google.
Und dann haben sie das gleich dazu einbaut.
Wie auch immer, zuerst haben wir viel mit Keras eben gemacht.
Und dann irgendwann sind wir dann eh so wie alle auch auf PyTorch.
Mittlerweile machen wir eigentlich alles mit PyTorch.
Also eh schon lang.
Aber zu den Algorithmen, wie funktioniert das jetzt?
Also eigentlich ziemlich anders.
Also wie du gesagt hast,
mittlerweile kommt eigentlich einfach nur mehr Audio rein und Audio raus dann.
Also es ist viel mehr Blackbox als vorher.
Mhm.
Und wie funktioniert das?
Das heißt, man ist jetzt natürlich hauptsächlich damit beschäftigt,
oder mit vielen Sachen beschäftigt,
aber ein großer Punkt ist natürlich,
dass man jetzt die ganzen Datensätze eben zusammenstellt.
Nehmen wir nochmal den Beispiel mit denoising,
also Störgeräusche weglöschen.
Dazu braucht man natürlich ganz viele Audiosprachfiles,
die, wenn wir jetzt nur Sprache betrachten,
braucht man ganz viele Sprachfiles, die gut klingen.
Also...
Ganz viele Sprecher, verschiedene Sprachen,
verschiedene Geschlechter natürlich, verschiedene Ausdrucksweisen,
verschiedene Sprachstile, emotionale Sprache, Fadesprache,
was auch immer man sich flüstern, was auch immer man sich denken kann.
Also alles mögliche, was es dazu gibt.
Das natürlich in einer guten Qualität, ohne viel Rauschen.
Dann braucht man natürlich ganz große Datensätze von verschiedenen Noise-Daten,
also statisches Rauschen, dann ein Auto, das hinten vorbeifährt oder
irgendwer.
Klopfgeräusche am Computer und so weiter.
Alles, was man sich irgendwie vorstellen kann.
Musik natürlich auch, falls man Musik auch wegrechnen will.
Baby schreien, Hunde bellen.
Und dann mischt man diese Daten eben zusammen,
also dass man aus diesen schönen Daten eben das Rauschen dazurechnet.
Das ist dann quasi das schlechte Signal, das ist das Input von dem Netzwerk
und als Target hat man dann einfach das schöne Signal
und dann trainiert man.
Man nimmt eben dieses Model, das Netzwerk an.
Also ihr kennt das wahrscheinlich alle.
Und dann hat es einen bestimmten Lernalgorithmus,
das die Gewichte in diesem neuronalen Netzwerk updatet
und dadurch versucht es eben zu lernen.
Wenn man das reinschickt, kommt das raus
und versucht eben zu generalisieren für alle möglichen anderen Sachen,
die dazwischen sind, die man eben nicht explizit gelernt hat.
Zusätzlich zu diesen Daten und Modeln,
gibt es ja noch so Transformationen.
Also das Audio wird nicht nur durch Zumischen von Neu schlechter gemacht,
sondern man kann auch noch alles mögliche andere machen.
Man kann Filter-Artefakte draufrechnen,
die das Netzwerk dann wegrechnen soll
oder das Audio klicken zum Beispiel
und das versucht es wieder wegzurechnen
oder irgendwelche Kompressoren am Target oder am Input drauflegen.
Also alles, was man früher so eigentlich an Signalbearbeitungsalgorithmen gehabt hat
und direkt dann wieder wegrechnet,
dann wird das auch wieder wegrechnet.
Das ist jetzt für den End-User quasi weg,
aber die ganzen Algorithmen braucht man trotzdem immer noch,
weil man damit im Endeffekt jetzt die ganzen Transformationen von den Daten macht,
damit man sie so zusammenbasteln kann,
damit sie eben möglichst variantenreich sind
und damit man alle möglichen Sachen abbilden kann,
die das Model dann eben machen soll.
Aber man wendet die Algorithmen nicht mehr direkt auf die Daten an,
sondern einfach auf den Trainingsdaten
und damit modelliert man sozusagen die Daten,
die Trainingsdaten,
so wie es dann eben fürs Model sein soll.
Ja, interessant.
Ich hätte mir schon mal überlegt,
irgendwie, keine Ahnung,
ob man nicht sowas machen könnte,
wie wenn man jetzt,
angenommen man hätte irgendwie ganz viel hochqualitatives Audio irgendwo her,
keine Ahnung,
hat ein Archiv von einem Radiosender gefunden
oder irgendwelchen Medien
und man spielt das jetzt irgendwie in einem Raum ab
und legt dann irgendwie ein Handy in die Mitte oder sowas
und nimmt das dann auf,
dann könnte man ja eigentlich sozusagen,
kann man dann nicht ein gutes Audio
aus irgendwie einer Handy-Mikrofonaufnahme generieren,
könnte man nicht ein neuronales Netz trainieren,
das halt irgendwie quasi dann halt auch,
wenn ich dann selber wieder das Handy nehme oder reinspreche,
dann quasi da einen guten Klang draus mache.
Das ist, glaube ich, das, was Georg versucht, diese Folge.
Genau das.
Aber da lebst du doch nur einen Filter, oder?
Genau.
Im Prinzip gibt es genauso Datensätze von,
du meinst jetzt zum Beispiel Impuls-Responses,
also Impuls-Antworten von Räumen zum Beispiel,
wo eben, keine Ahnung,
100.000 Impuls-Responses von verschiedenen Geometrien,
von Räumen,
das heißt in dem Fall,
in dem Fall hättest du ein Handy halt immer an einem anderen Punkt,
in einem anderen Raum liegen.
Das sind eben genau diese Transformations,
in dem Fall rechnet man dann so eine Impuls-Response drauf
auf das Input-Signal
und am Target soll das dann eben wieder weggerechnet werden.
Dann, in deinem Fall,
hättest du noch so nicht-lineare Verzerrungen drinnen
vom Handy,
vom Handy-Mikrofon zum Beispiel,
das kann man natürlich auch mit so nicht-linearen Verzerrungen
ganz einfach simulieren.
Zusätzlich hast du noch Rauschen dabei,
also man kann da noch ein neues dazu mischen.
Und mit diesen ganzen Dingen,
dann hast du vielleicht noch spektrale Effekte drinnen,
also man kann noch so EQ-Dinger auf dein Input drauflegen.
Und wenn man diese ganzen Effekte zusammen mischt,
dann kommt halt irgendein schlechtes Audio sozusagen raus,
das man dann verwenden kann.
Ja.
Ja, und das kann man natürlich dann deutlich flexibler machen,
als wenn man das jetzt irgendwie tatsächlich physisch irgendwie machen müsste.
Ja, dann,
man braucht ja auch viele Daten irgendwie wahrscheinlich.
Nehm ich mal an.
Was heißt denn,
was heißt denn viele Daten?
Wie viele Daten braucht man denn?
Braucht man da 10 Stunden oder 100 Stunden oder 1000 Stunden
oder 100.000 Stunden?
Naja, mehr wie 1000.
Also es kommt drauf an,
wie gut das soll oder welcher Algorithmus jetzt
und wie gut das funktionieren soll.
Also für so,
für so neues Redaktionsachen brauchst du schon,
so einige 1000 Stunden an Audio-Material, sage ich mal.
Okay, also so ein,
sag ich mal,
Podcast-Archiv aus 150 Stunden Audio kommt nicht weit.
Naja, vor allem,
wenn du jetzt ein Podcast-Archiv hast,
das ist halt sehr einseitig.
Also du bist natürlich
Ja, okay, das ist zugleich für mich.
verschiedenste Podcast-Archive von verschiedenen Ländern,
von verschiedenen Ausdrucksweisen.
Dann kommt natürlich noch die Qualität vom Audio dazu.
Also ist ja nicht so,
so leicht,
wirklich gute Sprache zum Beispiel zu finden,
wo jetzt kein Rauschen drin ist,
weil sonst trainierst du ja auch erst wieder an,
dass du Rauschen dabei hast.
Ja, klar.
Also wir machen das meistens ein bisschen rekursiv.
Also man hat natürlich einmal ein Modell,
dann findet man wieder neue Daten,
die ein bisschen verrauscht sind,
die neuest man mit dem alten Modell,
damit trainiert man dann das neue Modell und so weiter,
damit man die Daten ein bisschen besser aufbereiten kann.
Weil, was ja ganz interessant ist,
welche Effekte,
wie man kann,
also wenn man natürlich schon mal Daten gehabt hat,
mit denen man ein Modell trainiert hat,
und da will man dann danach noch einmal die Neues
mit dem gleichen Modell,
dann funktioniert das natürlich nicht,
weil das Modell hat ja schon gelernt,
dass in den Daten Neues drinnen ist
und das reproduziert das Neues ganz einfach wieder.
Also irgendwie ist das wirklich drinnen gespeichert dann.
Na gut, aber was bei uns auch noch so ein Ding ist,
ist, dass wir,
weil wir ja vorher von der klassischen DSB-Welt,
Machine Learning Welt gekommen sind,
also der Vorteil dort ist natürlich,
dass man Parameter zur Kontrolle hat,
was oft ein Vorteil, oft ein Nachteil ist,
weil es komplizierter werden kann.
Ein Vorteil, weil man verschiedene Use Cases damit abbilden kann.
Und dieses Prinzip wollten wir jetzt halt auch nicht ganz aufgeben
in der ganzen neuen Deep Learning Welt sozusagen.
Ja, weil man kann natürlich auch so ein Modell machen,
das jetzt alle diese Transformationen und was auch immer drinnen hat
und da kommt dann irgendwas raus
und mit dem kann man dann leben oder nicht,
aber oft will man halt auch mehr Kontrolle haben,
was genau man mit dem Audio machen will.
Man will zum Beispiel nur gewisse Störgeräusche rausrechnen
oder man will Musik auch rausrechnen
oder Atmer wegrechnen oder gewisse Sachen wegschneiden
oder Lautstärken labeln, Lautstärken nicht labeln,
Filtering anwenden oder nicht.
Also insofern ist es unser Weg,
dass wir eben verschiedene Stemmodels haben,
die wir dann kombinieren.
Also zum Beispiel haben wir so ein Modell,
das im Filtering macht,
das ist der Auto-EQ-Model,
wo es auf das Filtering spezialisiert ist
und dann haben wir verschiedene Denoising-Models,
die verschiedene Teile von Audio weglöschen können
oder überlassen können,
damit man dann die so kombinieren kann,
um noch ein bisschen Kontrolle darüber zu haben,
um auch verschiedene Use Cases,
was ist das zum Beispiel,
also in einem Radio-Play,
also in einem Hörspiel im Radio,
will man natürlich alle möglichen Sound-Effekte hinten haben,
also in einem Wasserfall, der plätschert
oder der Knall, wenn die Tür aufgeht
oder in einem Yoga-Video will man natürlich
das ganze Atmen im Hintergrund haben und nicht rauslöschen.
Jetzt in einem reinen Sprach-Podcast
will man viel mehr natürlich rauslöschen,
also alles, was tippen ist
oder das Plätschern von Bach,
das ist ein sehr guter Weg,
das kann man auch im Hintergrund
oder der Vögel oder Atmen von mir,
das kann man auch rauslöschen
oder Pausen rauslöschen,
wenn man es ganz extrem machen will.
Insofern.
Also es ist quasi sehr kontextabhängig,
also sehr auch davon abhängig,
also man kann nicht ein Modell
für alle Sachen verwenden
oder das Modell muss man halt selber erkennen,
was jetzt,
eigentlich müsste man dem das ja sagen,
das kann der jetzt ja gar nicht wissen,
ob der jetzt das,
oder schwierig wahrscheinlich,
ob das Atmen jetzt erwünscht ist oder nicht.
Ja, klar.
Ja, das Multitrack-Interface,
ich meine, das ist ja auch schön,
dass das alles geht, genau,
aber es ist nicht so ganz einfach einzustellen,
das stimmt.
Ja, Multitrack ist nochmal besonders komplex,
vor allem vom Interface,
weil für jede Track kannst du alle Settings halt einstellen
und dann wird das halt natürlich
gleich einmal viel.
Ja, gar nicht so einfach.
Oder ich glaube,
wir sind so ein bisschen überfahren, oder,
von diesen ganzen Möglichkeiten,
die es da gibt
und von den ganz coolen Sachen,
die ihr da macht.
Und als Außenstehender,
also so ich als,
sag ich mal,
Feldwald und Wiesen-Informatiker,
mir fehlt da so ein bisschen der Bezug dazu.
Also für mich ist so ein bisschen so,
ja, ich habe hier eine Audiodatei
und da gibt es irgendwelche magischen Tools,
die irgendwelche magischen Sachen machen
und hinterher hört es sich besser an.
Ja, aber es ist ja auch okay, oder?
Als User willst du eh nicht mehr wissen,
im Endeffekt.
Klar.
Ich habe die Handlung für den User degradiert.
Idealerweise möchte ich nicht,
nicht mehr wissen.
Das stimmt natürlich.
Aber wir wollen ja da schon gerne
einen Blick reinwerfen.
Und das ist irgendwie so eine ganz eigene Welt,
diese Audiosachen.
Ich meine, da gibt es spezielle Hardware
und dann sehen die Knöpfe alle anders aus
und dann sind die Interfaces so kompliziert,
dass wir nicht damit klarkommen.
Und ich finde es total faszinierend,
wie tief das so ist,
weil das so auf der Ebene,
die der User damit interagiert,
ist.
Das ist ja wirklich so.
Ich habe eine Datei
und die soll besser klingen
und jetzt ist es so.
Das war natürlich auch der Punkt,
warum wir angefangen haben
mit Afonik überhaupt.
Weil Audio-Technik einfach
vor 10, 15 Jahren
sehr kryptisch war.
Das ist ja heute schon total anders.
Früher hast du echt wissen müssen,
immer was ein Kompressor ist,
was ein Limiter ist,
wie du den einstellst,
wie du die ganzen Filterparameter einstellst,
wo man,
wenn man eigentlich nicht wirklich Ahnung davon hat,
vielleicht,
vielleicht viel mehr schlecht machen kann,
als gut machen kann.
Und das war eigentlich der Ausgangspunkt
von uns,
weil wir halt gedacht haben,
oder ich damals gedacht habe,
dass man kann einfach einem normalen Menschen
unter Anführungszeichen sowas
einfach nicht zumuten.
Der, wie du sagst, nur ein besseres Audio haben will.
Das war einfach alles viel zu kompliziert.
Ja, ganz oft
ist es ja auch so, dass
gerade in dieser Audio-Welt,
dass man als normaler Benutzer,
viele Dinge gar nicht,
gar nicht hört oder gar nicht versteht.
Das ist schon mal,
man hat ja da gelegentlich Kontakt dazu.
Und wenn man dann so sieht,
ja, da sitzt einer hier an seinem Mischpult
und dann dreht er an irgendwelchen Reglern
und es passiert eigentlich gar nichts.
So, erster Eindruck.
Aber dann am Ende hört es sich doch irgendwie
wesentlich besser an,
als es sich vorher angehört hat.
Und diese Intransparenz ist so für mich als Benutzer,
ja, ich zähle mich dadurch aus zu den Benutzern,
super interessant.
Weil ich verstehe überhaupt gar nicht,
was es da für, ich verstehe noch nicht mal,
was es für Parameter gibt.
Und dann gibt es aber Experten, die gucken sich das an
und sagen, ja, nee, so kannst du es nicht machen.
Und hier musst du diesen das hochdrehen und das runterdrehen.
Und dann am Ende denkst du,
das ist verrückt.
Und ich habe einmal so eine Erfahrung gemacht.
Da haben wir
bei einem ehemaligen Arbeitgeber,
wir haben ein Marketing-Video gedreht.
Das war ein großer Spaß für einen Programmiertwettbewerb.
Und der war auch so ein Audio-Fan.
Da hat er sich selber
in seinem Wohnzimmer ein kleines Studio reingebaut.
Auch mit so Schallschutzwänden
und so Zeugs.
Und da hat er dann seine Band,
was man halt so macht.
Und dann hat er da so ein Stück Audio von mir aufgenommen.
Und ich meine, jeder, der schon mal Audio von sich selber gehört hat,
der weiß, dass das ganz schrecklich ist, wenn man sich das anhört,
weil die eigene Stimme ist,
die hört sich gruselig an.
Und dann hat er das da so reingetan und hat so ein paar Knöpfe gedreht
und auf einmal habe ich mich angehört wie ein Radiomoderator.
So eine richtig sonore
Stimme mit Volumen,
mit Volumen drin.
Und er hat das Reverb aufgedreht.
Ja, und vielleicht auch
ein bisschen die Bässe hochgedreht
und, keine Ahnung, einen Kompressor reingemacht.
Weiß ich, was das bedeutet.
Jedenfalls einige magische Regler
und auf einmal war es viel, viel, viel besser.
Und ich finde das super faszinierend,
dass es so eine Welt gibt,
die eigentlich so intransparent ist,
aber die doch irgendwie jeder hört.
Weil man hört ja schon, ob sich Audio gut anhört oder nicht.
Wer meinst du jetzt,
wenn du das Audio auf dem Telefon,
als Podcaster hörst oder wenn du das bei deiner
Serie anhörst oder im Auto oder
wenn ich das in meinen
Bluetooth-Lautsprechern 10 Meter von meinem Handy
anhöre mit so...
Entschuldigung, ich wollte gerade, weil ich finde,
dass die Sachen alle auf unterschiedlichen Geräten immer ganz anders klingen.
Ja, das wäre natürlich so.
Aber ich meine,
so die ganz alten Sachen waren ja alle für Radio
und auch da hat es sich sehr gut angehört.
Also besser als ohne.
Ja, wobei ich glaube,
das muss man auch so ein bisschen lernen.
Also ich habe jedenfalls irgendwie
zum Beispiel bei den ersten,
Podcast-Episoden jetzt hier,
dachte ich, ach, das klingt ja eigentlich ganz gut.
Und wenn ich mir die heute anhöre, denke ich mir so,
ah, das klingt aber eigentlich ganz schön schlecht.
Das war auch so ein Lernprozess.
Das ging nicht von Anfang an.
Dann hat er ja auch ein ganz großes Mischpult gekauft,
das wir immer noch nicht ordentlich bedienen können.
Damit ist es viel besser geworden.
Ja, nee, viel einfacher.
Aber ich höre jetzt auch...
Was die Hörer nicht wissen, ist ja, dass wir vorher eine Dreiviertelstunde gebraucht haben,
um die Aufnahme zu starten.
Das war tatsächlich das Nächste zum Vorbereiten,
das wir selber hatten.
Ja, Matrix.
Aber es ist auch irgendwie so ein gewisserweise
gebührender Einstieg.
In die Audio-Effekte.
Dass man dann schon mal so
nicht denkt, dass es zu einfach wäre.
Ich finde es auch sehr schön, Georg,
dass du gleich als Profi gesagt hast,
wisst ihr was, diese ganze Audio-Technik,
alles weg, einfach nur
ein Mikrofon, ein Kabel.
Ja, sicher.
Aber nochmal zu deinem Punkt mit
dass es besser geklungen hat.
Weil der hat ein paar Regler gedreht,
dass es besser geklungen hat.
Das stimmt natürlich.
Aber man muss
ja immer vor, in dem Fall
vor Ohren führen,
dass das natürlich sehr
subjektiv ist und
eigentlich von deiner Wahrnehmung vom Radio her
geprägt ist. Da gibt es natürlich ganz
unterschiedliche Stile in unterschiedlichen
Ländern, auch wie man das handhabt.
Also du bist jetzt einem bestimmten
Radiosound vielleicht gewohnt, was
deine Radiosender da bei dir in Deutschland
jetzt haben. In Amerika,
das ist meistens ganz anders oder in anderen
Ländern. Das heißt,
wenn jetzt irgendwer deine Stimme
so regelt, dass er möglichst ähnlich an
deiner Referenz sozusagen
ist, was du als guten Sound
verstehst oder gewohnt bist zu hören,
ganz einfach, dann klingt das für
dich gut. Wenn der jetzt zum Beispiel
das etwa Südamerikaner
gemacht hätte und die haben eine andere Referenz,
dann hätte es vielleicht für dich gar
nicht so gut geklungen. Also das ist
sehr subjektiv und auch
vom Kontext oder vom
der Herkunft
vor allem abhängig. Da gibt es
große Unterschiede, wie Länder das handhaben.
Also manche haben so diese richtige
Radiostimme, wo alles
total eng ist,
sehr basslastig und
tot komprimiert, also wie man es
auf dem Radio hört. Das andere
wieder andere Sender, wie zum Beispiel
BBC oder was auch immer,
viel offener, freier,
also ohne sehr wenig
Komprimierung, nicht so dieser
Nahbesprechungseffekt, wo du so überhöhte,
tiefe Frequenzen hast,
wo es einfach viel normaler klingt.
Also das ist sehr
subjektiv natürlich.
Das kommt immer auf die Referenz drauf an.
Diese Bilder, wenn man
das zwar über Ton spricht, aber vom Klangbild auch
redet, schon
auch ein bisschen einordnen, oder?
Es gibt schönere Bilder
von besseren Künstlern und es gibt
ärztlichere Bilder.
Selbst wenn sie unterschiedlich sind und wenn
es verschiedene Stilrichtungen
gibt, kann man schon, glaube ich,
eine Qualität
eines Stückes hören.
Es ist auch ein bisschen bei Musik, ja, also ich
höre relativ einseitige
Musik, obwohl ich auch von vielen
Genres durchaus anerkennen kann, wenn
es da gute Musik gibt, die man gut hören kann,
die man nicht so gut hören kann. Und ich höre auch, ob eine
Musik einfacher produziert ist oder komplexer,
unabhängig jetzt von meinem Geschmack vielleicht
dafür, wenn ihr wisst, was ich meine, ja.
Und ich finde, dass das auch bei Audio so
und insbesondere halt
bei dem, was du gesagt hast, wie du dieses Signal
bearbeitest, was halt der Tontechnik
der, also ich weiß nicht, ist, kann man
das so sagen, ist Haphonic ein virtuelles
Tontechnik-Instrument?
Ist das so?
Virtueller Tontechniker, ja.
Und ja, was er dann tut, was er
machen kann, um
ich weiß nicht,
in der Bildsprache bleiben, den Pinsel zu führen, ja, also
tatsächlich diesen Ton zu skypen
und ja,
also klar, gibt es da vielleicht verschiedene Meinungen
oder ich weiß nicht, ob du sowas hast wie
Presets, die du sagen kannst, Haphonic,
hey, das ist jetzt Taste,
du hast eben Südamerika erwähnt
und das ist Taste Europe oder
so, oder das ist Taste Radio
und das ist Taste Big Cinema.
Kann ja sein, dass du das auch machen kannst,
aber der Trick wäre ja, genau
das auch bauen zu können, als
Tontechniker, sich quasi dieses Zielbild
oder diesem Stil anzupassen
und das dann halt auf einen
gewissen Qualitätsgrad zu bringen.
Und das aus Algorithmen zu denken, finde ich spannend, weil ich
versuche auch, also überhaupt erstmal zu verstehen,
wie das überhaupt geht, weil dieses
Klang zu,
also visualisieren ist halt da wieder auch
der falsche Begriff, ja, aber sich das so
vorstellen zu können, wie man einen Klang
überhaupt schafft, das ist irgendwie, also eine der
großen Herausforderungen, die ich jetzt persönlich habe, wenn ich
jetzt an Musik denke, auch
was ich höre, überhaupt umzusetzen,
dafür muss ich relativ viel üben
oder so, ja, dass ich
das hinkriege oder halt auch in die Musikschule
gehen und Theorie lernen und so und
das ist durchaus, glaube ich, die
spannende Sache dahinter vielleicht.
Und warum es einem Nutzer wie dir, Johannes,
dann vielleicht schwerfällt, weil du sonst nicht so
viel mit Ton machst.
Ich habe da
überhaupt gar keinen Connector zu.
Ich habe da, glaube ich, eine sehr visuelle Ansicht.
Sobald man mir eine
FFT zeigt, dann
komme ich damit klar, aber solange nur
die Geräusche da sind oder die Wellenformen,
dann bin ich
völlig verloren.
Ja, ich weiß es nicht genau.
Ich habe mal irgendwann auch
ein Podcast-Episode gehört mit
Rick Rubin und der meinte
so, ach, das mit dem
äh,
irgendwie produzieren und so.
Eigentlich kann man es immer nur kaputt machen
und wenn man das nicht kaputt macht, dann ist das
schon sehr, sehr, dann ist das schon sehr, sehr gut.
Ich weiß gar nicht, ob man tatsächlich so viel
an, ähm,
an Mastering
kann man damit tatsächlich prägen?
Ja, ja.
Also ich bin jetzt ja totaler Amateur,
was so Musik auch angeht und so, aber wenn ich
jetzt mit einem Kumpel jetzt Musik mache
und ich schaffe es halt schon, bestimmte
Sachen da rauszuholen oder bestimmte
Töne an der richtigen Stelle leiser oder lauter zu machen,
oder halt Raum zu schaffen für, ne,
den Bass oder so, irgendeinen Ducking hinzukriegen,
das ist ja schon, das sind ja eher so Basics, ja,
aber das, ähm, bei, also ich kann
das überhaupt nicht vorstellen mit Sprache, weil ich damit überhaupt
gar keine Erfahrung habe, ja, mit Podcast
oder sowas, also, wir machen jetzt Vereine,
aber als Hohntechniker jetzt, würde ich sagen, würde ich mich
jetzt auch nicht bezeichnen und das ist halt, äh,
schon nochmal eine andere Herausforderung.
Und wenn man gerade diese Klangbilder vor
Ohren hat, ja,
da kommt man vielleicht so ein bisschen
näher dran. Also das ist das, was Johannes meinte.
Er hat genauso geklungen, wie er, also dachte er es im Radio,
steht und wenn ich jetzt, okay, ähm,
ich möchte das Audio-Klangbild
haben, wie, ähm,
dass sie mal so im Radio steht, dann weiß ich vielleicht
in welche, vielleicht wenn ich das Klang
habe, das richtige Wort dafür, ich weiß
nicht, ich das Ganze bringen möchte,
ob ich jetzt, ne, welche Frequenzen
ich bewege. Und das, was
ich jetzt spannend finde, ist, was kann ich denn noch machen
eigentlich als Audio-Tontechniker
außer Frequenzen
bewegen und, äh, Lautstärke
mit, was ist das, Envelopes,
äh, modifizieren?
Äh, wie ausleveln?
Ja, das ist ja, der Envelope ist ja,
im Endeffekt ist alles
Frequenzen und Lautstärken, mehr gibt's ja nicht.
Ja, genau, aber ja.
Ja, gut, aber...
Wie man diese, wie man diese, wie man diese Regeln
Ja, aber ist auch das...
Grafiks sind auch nur ein paar Pixel, das ist jetzt,
äh, ist, äh, Zukunftsschau.
Ja, ein paar Farben
an die richtige Stelle getan.
Na, na, du meinst jetzt, welche,
welche Algorithmen es jetzt sozusagen
noch gibt, oder was?
Können wir vielleicht gleich nochmal auf eingeben?
Ich find's gar nicht so unverständlich.
Ich glaube, Dominik möchte einfach in dem komplizierten, äh,
Interface noch ein paar mehr Knöpfe
haben, wo er dann sagen kann, jetzt lieber
irgendwie Radio-Style
oder lieber...
Er möchte wissen, welche Knöpfe mehr er drehen muss
um den Radio-Style. Ja, also ich würde tatsächlich,
also ich würde gerne, wenn ich jetzt so ein
perfektes Tonstudio-Ding
mir vorstelle, wo es diese ganzen
einzelnen Regelungen gibt, ja, dann möchte ich gerne wissen,
welche Regelungen ich denn überhaupt machen muss.
Ja, aber das ist jetzt halt
ein neuronales Netz mit einer Milliarde,
Knöpfe, die du drehen kannst.
Die kannst du gar nicht mehr selber drehen, da musst du was
vorher machen. Naja, aber ich, ich, ich, ungefähr
zu wissen, welche Richtung ich da möchte, ist vielleicht
ja schon mal der erste
Schritt.
Also ich kann, das ist schon klar, dass ich...
Habt ihr euch selber neuronale Netze trainiert,
Georg?
Wie meinst du, ob wir unsere Netze selber
trainieren? Ja.
Ja, das ist ja... Da benutzt ihr irgendwas Vorgefertigtes und, äh...
Nein, nein, bei uns ist, bei uns
ist alles selber gemacht.
Alles selber gemacht?
Ja.
Alles natürlich nicht, aber die Algorithmen...
Ja, PsiPi und Nampi.
Und wie viele, wie viele Parameter
habt ihr da drin?
Wie viel, über welche Größe sprechen wir da?
Also ich meine, das ist ja eine dieser Kenngrößen,
wie man so sagt, hier, GPT-X hat
eine Milliarde Parameter.
Ja, äh,
das kann ich dir so gar nicht sagen,
weil, also, also diese
Netze im Audi-Bereich
funktionieren ein bisschen anders, weil
ich meine,
im Prinzip,
hat schon ähnliche Elemente, also man hat halt
meistens, äh,
irgendwelche rekursiven Elemente
oder Transformers drinnen, also
bei uns meistens
LSDMs oder Transformer
eben, oder beides meistens und dann noch
so Convolution Layer natürlich
und alle
die Elemente sind eh ähnlich, aber
es gehen einfach viel mehr
Daten rein und raus natürlich, weil
Audi eine viel höhere Sampling Rate
hat und viel in einer kürzeren Zeit
viel mehr Daten,
rein und raus müssen,
aber auf was fällt jetzt eigentlich raus?
Anzahl Parameter, Größe, also
wir haben natürlich verschiedene Models,
also von manche
Gigabyte bis zu
paar hundert Megabyte,
also in der Größenordnung,
das ist nicht so riesige Model
wie irgendeine Sprachmodelle,
aber doch schon ein bisschen was
und
ja, die Herausforderung ist natürlich auch,
wie man die alle trainiert,
weil es, weil es natürlich,
natürlich viel Rechenleistung braucht,
insofern, wir bauen uns halt hauptsächlich
unsere eigenen
Trainingserver auf, beziehungsweise
mieten teilweise eben an,
was aber leider halt sehr teuer ist,
wenn man da versucht auf Amazon oder sonst
irgendwo anzumieten.
Bei den eigenen Rechnern ist
wieder die Herausforderung, dass man die Kühlung halt
hinbekommt, dass man
im Büro das irgendwie
aushaltet oder sonst wo
die entsprechende Kühlung schafft
und natürlich die Kosten von
der Anschaffung, weil
die GPUs sind natürlich
heiß begehrt im Moment und
jeder will die kaufen,
aber ja, das ist natürlich
andere, zusätzlich zu den
Daten eben, dass man
gute Daten bekommt und
vor allem im Audi-Bereich sind
die Daten ja auch sehr subjektiv,
wie wir vorher schon geredet haben und das muss man
irgendwie einordnen
trotzdem und das ist nicht immer so ganz klar,
also man kann das, man kann
dieses Data Labeling jetzt nicht einfach nach Indien
auslagern und da gibt es jetzt ein paar
Clickworker, die das einfach
kategorisieren, sondern da muss man
wirklich ein gutes Gehör haben dafür
und zusätzlich eben
die ganze Computer-Hardware
ist eine Herausforderung,
dass man diese eben beschafft.
Okay, aber
trotzdem betreibt ihr ja ein System,
wo ich als Endkunde
eine Audiodatei hochladen kann
und die wird in 10-facher
Geschwindigkeit verarbeitet.
Das allein
das ist ja schon eine massive Leistung,
dass ihr da einen Service
hinstellt, der einfach so funktioniert
und dann auch noch ungeheuer schnell ist.
Also ich meine, wenn man sich
die Leistung von solchen Systemen
vor 5 oder vor 10 Jahren anschaut, würde man
erwarten, dass es 10-mal so lange dauert, wie das Audio ist.
Aber jetzt ist es gerade umgekehrt,
es ist 10-mal so schnell,
wie das Audio ist. Wie kriegt ihr das hin?
Georg, ich habe mir das vorhin auf eurer Webseite durchgeschaut
und habe mir gedacht, wie kriegt ihr das hin?
Naja, also
du redest jetzt natürlich nicht vom Training,
sondern von der Influenz, also das, was
deine Anwendung ist.
Ja, aber trotzdem.
Ja, trotzdem. Es gibt halt mittlerweile
gute GPUs, um das kurz zu fassen.
Okay.
Ihr habt einfach horizontal
skaliert. Dicke Rechner.
Naja, geht halt in dem Fall
leider nicht anders, weil
du musst die Models halt auf GPUs ausführen,
weil GPUs sind halt einfach
zu langsam. Bei uns,
wir sind in einer glücklichen Lage, dass wir nicht so
riesige Modelle haben, wie die ganzen
Language Models. Also wir können das auch noch auf einzelne
GPUs ausführen und brauchen da nicht
GPU-Cluster für ein Modell.
Das ist schon mal viel einfacher.
Aber das Schwierige ist
natürlich die Rechenleistung beim Training, weil du halt
da wochenlang
das System rechnen lassen musst
und ja, da brauchst du halt einfach
viel mehr Rechenleistung. Die Influenz
ist jetzt eh okay. Also es gibt
die Standard-Anbieter
wie Hetzner und so weiter, die bieten
eh GPU-Server auch an mittlerweile
und da kann man sich einfach einmieten.
Und das war's dann im Endeffekt.
Wie viel musst du mieten bei Hetzner für dein Modelltrainieren?
Ist das einfach den einen? Kostet das 200 Euro oder was?
Für das Trainieren haben wir nichts bei Hetzner.
Das wäre zu teuer.
Nur für die Inference
oder so.
Da haben wir keine Ahnung.
So, zwischen 10 und 20
herum.
Ja, das ist schon eine ganz schön ordentliche Operation, was ihr da betreibt.
Ja.
Ist auch vom Betrieb her
eine gewisse Herausforderung.
Ja.
Da werden dann doch die Datenmengen auch,
also ich meine, Audio ist jetzt nicht so schlimm wie Video,
aber trotzdem kriegst du ja doch
Dateien, die eine gewisse Megabyte-Größe
haben und die du dann verarbeiten musst
und
auch, soll ich mal,
richtig verarbeiten musst.
Genau.
Höchster Respekt hier.
Vor allem, man braucht halt natürlich auch Rechenleistung.
Es kostet halt auch.
Das ist dann der Punkt im Endeffekt.
Ja.
Das war halt früher schon viel günstiger.
Also da haben wir das nur auf TPUs
sozusagen laufen gehabt.
Hat natürlich auch ähnlich lange
gedauert, weil die Algorithmen
halt auch für damalige Verhältnisse
relativ aufwendig waren.
Aber war halt um einiges günstiger.
Ja, das ist so ein bisschen die Kehrseite,
oder, von dieser ganzen
neuronale Netze-Geschichte.
Auf der einen Seite muss man
wesentlich weniger
manuelle Arbeit reinstecken,
wobei das vielleicht auch gar nicht stimmt.
Ja.
Aber auf der anderen Seite
zahlt man es halt mit Rechenzyklen.
Ja.
Ach, dazu fällt mir ein,
genau, da war ich jetzt überrascht.
Ich habe jetzt letztens irgendwie so ein bisschen
mit Transkripten Dinge gemacht.
Genau, wir waren ja
beide auf der Subscribe,
aber da habe ich dann auch mit
anderen Leuten
so geredet, wie die das mit Transkripten
machen, in Podcast-Housing-
Software.
Ja, und ich habe mich dann mal so ein bisschen,
ein bisschen vorgedrückt, weil ich dachte so,
oh, das ist aber so viel Arbeit, da weiß ich nicht genau,
ob ich das wirklich machen will.
Und dann meinten aber alle anderen,
ach so, ja, das war jetzt auch nicht so schlimm,
das ging schon. Und dann bin ich da rausgegangen
mit, okay, ich muss es wohl doch mal machen.
Und habe dann jetzt auch mal angefangen.
Und dabei...
Das ist ganz gut geworden, ne?
Ja, also tatsächlich irgendwie mit
Whisper hat man jetzt ein Modell, das tatsächlich
wirklich ganz gut
sozusagen, ja...
Also beim Python-Stand hast du da,
so ein paar Sachen ja gezeigt.
Ja, auf dem Herbst.
Genau, hast du ja CLI-Interface, du hast sogar
einen Blog-Eintrag dazu geschrieben.
Ja.
Und man kann es in der CLI benutzen, um Transkripte zu machen
für Audio.
Genau, aber das,
weswegen ich das jetzt gerade erwähnt habe, ist,
wenn man das lokal laufen lässt,
dann wird auch das Laptop heiß
und der Akku wird alle und das funktioniert
alles nur sehr langsam und dann,
es macht keinen Spaß.
Aber es gibt da
einen Dienstleister
Drog,
ich weiß gar nicht, wie man die ausspricht,
und die machen ja, die haben sich irgendwie
auf Inferenz spezialisiert und machen das irgendwie
schnell. Die haben auch, sagen sie jedenfalls,
ich habe keine Ahnung, was sie wirklich machen,
aber dass sie da halt eigene Hardware
haben, die da
irgendwie,
wo man dann Modelle halt
für Inferenz drauflaufen lassen kann,
die dann halt noch schneller ist als, weiß ich nicht,
GPUs oder so. Und da
war es tatsächlich, also irgendwie Whisper V3
Large, also was halt
auf meinem Laptop echt
fies langsam ist, da geht halt so
zwei Stunden Episode, geht da halt so in
einer Minute ungefähr durch und ist fertig.
Und das hat mich schon so,
oh krass, also
das ging mir gut.
Naja, es gibt ja jetzt diese schnellere
Whisper Model, das Whisper Turbo.
Ja, genau, das habe ich auch
probiert, das geht schon ganz gut, aber
bei
Drog, die machen wohl das wirklich
das große Whisper V3
Large.
Wir haben ja auch das V3
Large.
Ja, das haben wir ja
auf den GPUs ganz einfach
kaufen.
Ja, genau.
Das ist super, ja.
Ich habe auch die so ein bisschen verglichen,
V2
versus V3 und tatsächlich für Deutsch
macht es, bei Englisch macht es gar nicht so einen Riesenunterschied,
oder dachte ich jedenfalls jetzt so, aber bei Deutsch
macht es halt noch schon einen Unterschied, also
V3 ist nochmal ein gutes Stückchen besser.
Also bei Namen oder auch
bei Python oder auch
das geht eigentlich,
da, da,
oft das V2
versteht es halt nicht so richtig
und V3 meistens dann schon,
es sind auch immer noch Fehler drin, aber
also merkbarer Unterschied für mich.
Ja, ich weiß jetzt nicht mehr,
welche Version, aber auf irgendeiner Version
ist dann auf einmal immer
Afonik richtig erkannt worden.
Ja, auch.
Weil wir haben immer so ein Test-Files
und Afonik war zuerst immer falsch
und dann auf einmal hat es funktioniert.
Dann werden sich wohl die Daten geändert haben.
Ja, ich meine, ihr seid einfach
so bekannt,
dass ihr jetzt in den Referenzdaten vorkommt.
Ja, genau.
Ich finde das auch total komisch,
dass man dem
Street-to-Text-Model, dem kann man ja dann auch ein Prompt geben,
dass man dem sagen kann,
was es tun soll und wie Leute heißen
und das funktioniert dann plötzlich.
Das fand ich auch sehr eigenartig.
Ich weiß jetzt auch noch nicht, dass man das wirklich einstellen kann,
aber ich verwende jetzt immer das gleiche Prompt oder muss es halt umkonfigurieren,
aber das geht ja auch
und das ist auch ganz eigenartig.
Also, ja,
das ist irgendwie anders als früher.
Ja, das hat beim Whisper leider
Seiteneffekte.
Das fördert Halluzinationen.
Ja, das kann natürlich sein.
Deswegen verwenden wir die Prompt im Moment eigentlich nicht.
Ah, okay.
Ja, ich habe mir auch die Transkripte nicht so komplett durchgelesen.
Wer weiß, was da jetzt so komische Sachen sind.
Der weiß, was wir jetzt auf einmal für Dinge erzählen.
Das auf die Portrait-Seite noch schreiben.
Es gilt das gesprochene Wort.
Lieber Helmut,
ich bin zuhörer.
Schauen Sie jetzt die Untertitel an.
Ja, gehört auch so an.
Das ist vielleicht nicht so.
Ja.
Müssen wir ein paar exotische Wörter sagen,
um deine Transkriptionen zu verwirren.
Nein, es ist gar nicht so bei Wörtern.
Es ist meistens eben,
wenn nicht gesprochen wird
oder wenn Pausen sind,
dass sich dann irgendeine Halluzinationen bilden
und dann Wörter für Wörter abgespult werden,
sozusagen.
Ah.
Das hört sich so ein bisschen an, als ob das Modell Neuronen,
der nicht so erotisch wäre.
Dann machen wir jetzt eine kurze Schweigeminute für...
Eine Schweigeminute für Whisper V3.
Bis wir auch mal
genau das Mikrofon hier
jetzt mal schauen,
was da so rauskommt,
wenn man das einfach mal so vor sich hin
generieren lässt.
Ja.
Schon interessant.
Ja, ich befürchte aber, Jochen,
dass wir die nächste Episode einfach eine komplette Episode machen müssen,
wo wir die ganzen Abkürzungen erklären,
die wir heute...
Abkürzungen, haben wir gehört.
Wir können auch einfach die ganze Zeit schweigen
in der nächsten Episode und dann lassen wir es bei den Texten.
Ja, das geht auch.
Und dann den Text wieder viel dedizieren.
Ja.
Genau.
Und das ein paar Mal den Kreis
und dann schauen wir mal, was rauskommt.
Ja.
Ja, ansonsten...
Ich weiß nicht, haben wir...
Jetzt haben wir schon eine ganze Weile über so
Modelle und Dinge.
Der Rest der Infrastruktur ist ja vielleicht auch ganz interessant.
Also was so Webgeschichten
zu machen angeht.
Django, ja, natürlich.
Machen wir auch.
Nein, wir machen Django wirklich.
Ja.
Ja, wie gesagt, wir verwenden Django.
Das ist schon seit 2013,
aber dann, wenn das halt gestartet ist.
Und was verwendet man dann oft dabei?
Also Frontend-mäßig.
Ein paar Sachen haben wir mit Vue gemacht.
Das ist ein Audio-Inspektor,
nenne ich das, oder Transcript-Editor.
Das ist mit Vue gemacht.
Dann, prinzipiell,
fängt man so HTMX und
solche Sachen mittlerweile
für so einfachere Interface-Elemente.
Also für alles, was jetzt nicht
der Audio-Editor ist.
Und am Frontend verwenden wir noch
Tailwind-CSS.
Was gibt's noch?
Ja, Alpine-Nachteilweise
für so kleine Schaubas.
Das hört sich genau nach dem an, was wir auch machen.
Machen jetzt alle, gell?
Ja, machen wir auch alles.
Aber es ist auch...
Was heißt das?
Ja, weil man sich halt nicht
sicher auf den Frameworks einhandeln will.
Ja, natürlich.
Gut, was gibt's noch zum Erzählen?
Dann Backend-mäßig
verwenden wir eben
so eine Task-Queue,
die diese ganzen Audit-Protesting- und
Encoding-Tasks verteilt.
Dafür verwenden wir Celery.
Und die Celery läuft dann eben
auf verschiedene Server verteilt.
Das sind unsere
Worker-Rechner.
Wir haben einen Hauptrechner, wo das
Websystem läuft und der verteilt
die ganzen Jobs dann auf die Worker-Rechner.
Und magst du Celery? Funktioniert's gut?
Mögen.
Mögen ist übertrieben, aber
es funktioniert seit 13 Jahren.
Aber mittlerweile gibt's ja auch...
Ja, hab ich auch gehört.
Mittlerweile gibt's sicher
modernere Tools, schätze ich mal.
Wir hoffen, dass Django, das Native,
ich weiß nicht, ob das mit dem Distributed...
Ja, da kommt jetzt was.
Aber das kann nicht so viel
wie Celery.
Wenn man halt wirklich da Last hat
und da viele Dinge macht, dann ist es
wahrscheinlich... Wenn für einen Celery
funktioniert, dann sollte man das wahrscheinlich so lassen.
Aber ich glaube auch,
es gibt sonst nicht viel Konkurrenz da.
Das ist irgendwie für komplexere
Geschichten in Celery immer noch...
Inzwischen gibt's ja schon einige Task-Queues.
Ja, auch mit Django-Integration.
Aber Celery ist halt so der
bekannte...
Der alte Platzisch.
Ja, aber
es ist auch schwer zu benutzen.
Das ist so ein bisschen wie das Mischpult hier.
Nein.
Das ist nicht so in der Natur der Sache.
Wenn man nicht hinguckt, geht's nicht
immer so mit dem Lauf Richtung Fuß.
Ja, okay.
Ja, da braucht man doch noch eine Ausrede.
Dass es die Kinder waren oder jemand anders.
Genau.
Vielleicht, das kann schon sein.
Eigentlich musste man ja klicken
in deiner...
in deiner DAW.
Ich weiß nicht.
Ja.
Das hat gar nichts mit dem Mischpult zu tun.
Na ja.
Task-Queues sind kompliziert.
Wir haben dann auch verschiedene Task-Queues.
Das macht es mal komplizierter.
Also einerseits diese ganzen CPU-Server,
die funktionieren eben über Celery.
Dann haben wir eben noch GPU-Server.
Die funktionieren dann wiederum...
Die werden dann wiederum von den CPU-Servern
angesprochen mit den ganzen
Audio-Abschnitten.
Wie macht ihr das?
Die...
Die haben so...
Das nennt sich so ein NVIDIA Triton.
Das ist ein NVIDIA-System,
wo man eben so Models hosten kann am GPU.
Der verteilt das relativ effizient im Speicher.
Weil...
Der hat wiederum eine eigene Task-Queue
integriert, wie so kleine
GPU-Jobs verteilt werden.
Weil das Problem bei den Models ist,
dass man kann jetzt nicht
für jeden Request das Model...
Oder es wäre nicht sehr effizient,
wenn man für jeden Request das Model jetzt neu
ladet in den Speicher, also in den GPU-Run.
Weil das Laden an sich von so ein paar
Gigabyte-Models dann
schon mal ziemlich lang dauert.
Deswegen gibt es
zum Beispiel das NVIDIA Triton.
Der versucht es möglichst effizient
zu managen,
dass die Models halt immer
im V-Rahmen sind,
beziehungsweise nur wenn notwendig
halt ein anderes Laden
und so weiter.
Und das ist dann sozusagen die zweite Task-Queue
hinter der ersten Task-Queue.
Und dann kommt es
von den GPU-Servern wieder zurück
zur Celery-Task-Queue auf den CPU-Servern
und dort gibt es dann
verschiedene Files.
Also wenn das Audit-Processing fertig ist,
gibt es dann File-Encoding-Tasks
und dann Speech-Recognition-Tasks.
Dann wird es wiederum zum GPU-Server
zum anderen geschickt.
Dann, was gibt es noch?
Dann eben so ein Verteiltask, der das auf verschiedene Server
dann schickt, also Network-Tasks oder auf YouTube
oder was auch immer.
Und so sichert das von Task zu Task dahin.
Im Celery und im
Nvidia Triton.
Und den Status erfasst du irgendwie in einem
Dango-Modell.
Genau, ja.
Die Tasks rufen sich dann eben so
seriell auf. Also es gibt ja bei
Celery also Chord-Tasks,
nennen sie das. Also da kann man verschieden,
wenn jetzt zum Beispiel ein
Audit-Processing fertig ist und man will
daraus fünf verschiedene File-Formate
erstellen, dann kann man so ein Chord-Task machen.
Der macht dann diese fünf
File-Formate parallel.
Und dann sagt man, okay, wenn jetzt alle von diesen Fünfe fertig sind,
dann ruft er den nächsten Task
auf. Also das ist zum Beispiel dann der
Finish-Task.
Der wird dann aufgerufen, wenn diese ganzen
Tasks fertig sind. Oder der Distribution-Task.
Und so kann man
so Ketten bauen,
die sich dann also quasi
parallel verbreiten und dann wieder
irgendwann zusammenführen, hoffentlich.
Ja. Bis das irgendwann fertig ist.
Ja, man hat dann so ganze
Task-Grafen oft irgendwie.
Ja.
Ist dann manchmal so ein bisschen
schwierig, wenn man es testen will. Und manchmal
hat man so komische Probleme,
wenn das unerwartet
auf der Stelle schief geht. Aber ja, man kann
damit viel machen.
Aber testen ist auch nicht so schlimm. Also man kann
natürlich die Tasks einzeln
testen. Mit Unit-Test
ganz einfach.
Das Gesamtsystem ist wieder ein bisschen komplexer
zum Testen, ja.
Ich meine, das Hauptproblem, was ich mal hatte,
das war irgendwie aufzuräumen, wenn da irgendwas kaputt gegangen ist
und dass da irgendwelche Geister-Taskungen waren,
weil irgendwie noch irgendwas geklickt hat
und dann nicht genau klar war, wo jetzt
welcher Task in welchem Status hing oder so.
Ja, klar.
Und dabei ist das ganze Ding
schwierig zu verstehen und dann
irgendwo noch so Reste drum hängen,
wo die dann prozessiert werden wollen.
Aber ich glaube, wenn man so ein
stabiles System hat, vielleicht raucht das ja gar nicht so oft ab.
Dann, ja.
Nein, das ist eigentlich relativ stabil.
Außer, wir machen
wieder irgendwas komisches oder so, was ja manchmal
passiert. Diverse Updates,
oder Features.
Aber prinzipiell
läuft das eigentlich sehr stabil.
Das läuft bei uns jetzt natürlich
auch sehr lang. Also wir haben alle möglichen
Dinge drinnen.
Wir haben das Feld-Checking und so weiter.
Aber das funktioniert
ganz gut.
Ja, ich glaube, das ist einfach auch so ein Thema,
was man lernen muss. Das ist halt einfach noch eine weitere
Ebene
von dieser Async-Sache.
Ja, es sind immer noch
so viele Ebenen inzwischen.
Dann hast du Async, dann hast du Threads, dann hast du
Multiprocessing und oben drüber.
Wir verwenden es gar nicht Async, wir verwenden das
wirklich Multiprocessing.
Also du kannst das mit Multiprocessing auch verwenden.
Ja, klar. Das ist halt
über mehrere Rechner verteilt.
Das ist die nächsthöhere Ebene
von diesen ganzen
Parallel-Compute-Sachen.
Und die sind alle kompliziert und dann kann man
eigentlich irgendwie nicht erwarten,
dass das auf der Ebene auf einmal simpel wird.
Aber, ja gut.
Es ist halt was, was man lernen muss.
Oder was man lernen kann.
Ich habe da eigentlich
ganz gute Erfahrungen gemacht.
Aber es hängt auch von der Systemart ab.
Es hängt auch davon ab,
wie man die Bauteile benutzt.
Die Bauteile an sich sind ja sehr
stabil. Wenn man jetzt ein Redis oder
was ihr verwendet,
RabbitMQ oder ZeroMQ
oder was auch immer.
Die sind ja extrem stabil.
Bei einem anderen Kundenprojekt
haben wir einen RabbitMQ-Server.
Der läuft seit
acht Jahren unterbrechungsfrei.
Die Bauteile an sich
sind schon stabil.
Wie wir das alle wissen,
ich kann in jeder Programmiersprache
schlechte Programme schreiben und
ich kann auch schlechte verteilte Programme
schreiben, wenn es sein muss.
Auf alle Fälle, ja.
Ja.
Ja, vielleicht.
Genau.
Wie ist das eigentlich mit Benutzerfeedback?
Im Grunde, wenn man jetzt irgendwie Dinge verbessern will,
dann ist man ja darauf angewiesen,
dann können diese ganzen subjektiven
Geschichten, die wir eben auch schon
da angesprochen hatten, die spielen ja auch
eine große Rolle.
Jetzt weiß man aber vielleicht gar nicht so genau,
wenn jetzt aus
quasi Leute Feedback geben,
weil sie das anders gewohnt sind oder so,
wie man das unterscheidet von, da hat
irgendwas nicht richtig funktioniert oder so.
Da muss man ja wahrscheinlich, ich weiß auch gar nicht,
in welchen Märkten oder wo
auf alle Fälle überall benutzt wird, das ist ja dann
wahrscheinlich auch unterschiedlich.
Auch je nach Kontext nochmal unterschiedlich.
Das ist wahrscheinlich gar nicht so einfach, das
dann wieder einfließen zu lassen.
Ja, bei
solchen Sachen ist es natürlich schwierig, aber
deswegen versuchen wir eigentlich natürlich
möglichst wenig
subjektive oder
künstlerische Sachen zu machen.
Auch wenn das natürlich nicht wirklich geht.
Aber gewisses
Feedback ist natürlich leicht zu verstehen,
wenn der sagt, okay, da ist da
ein neues nicht rausgelöscht worden oder da ist
irgendwas falsch rausgelöscht worden, dann kann man
das natürlich leicht nachvollziehen.
Dass irgendwer
subjektiv ein anderes EQing
haben will, das
kann es immer geben, da werden wir auch
nie was dagegen machen können. Wahrscheinlich, man kann
nur gewisse Anzahl an Varianten
anbieten und irgendwann ist halt einmal
Schluss. Dann muss es halt selber
filtern und das geht ja bei uns auch, dass
wir halt einfach das neue, das filtering
deaktiviert und man hat halt selber das gefiltert,
wie man sagen will. Aber
das kommt jetzt auch nicht so
extrem oft vor, muss ich sagen.
Also es ist schon eher eindeutig, dann quasi
wenn Leute, ja, okay.
Ja.
Und aus dem Feedback,
das ist für uns natürlich extrem wichtig,
also da lernen wir halt extrem viel.
Wenn wir Fehler haben, dann
führt man das wieder zu den Trainingsdaten dazu und so weiter.
Können die Klassifikatoren
wieder damit trainieren.
Warum hat der das noch nicht live
im Einsatz eigentlich?
War es live im Einsatz?
Also jetzt beispielsweise auch von mir als Plugin in meiner DAW.
So, den Weg können wir auch gehen, ja.
Ja, weil
wir eigentlich vom Offline-Konzept
her kommen.
Und unsere Algorithmen halt alle
drauf aufgebaut sind,
dass es offline funktioniert.
Bei Live bräuchtest du natürlich eine viel kleinere
Latenz.
Wäre mit einigen Algorithmen
eh möglich. Also zum Beispiel
ja,
denoising oder solche Sachen.
Oder Filtering natürlich.
Aber, ja,
aber das können wir auch nicht machen.
Das Problem ist eigentlich,
dass du halt spezielle Hardware dafür brauchst.
Wenn du es jetzt live machen willst,
kannst du jetzt entweder einen Webservice
anbieten, der das live macht, was wahrscheinlich
nicht so interessant ist.
Das heißt, wir müssen da eine Standalone-Lösung
haben.
Die muss dementsprechend gut funktionieren
jetzt auf allen Systemen.
Mit der
beschränkten Hardware, die man dort hat.
Oder man hat spezielle Systeme mit GPUs
oder M3-Chips, was auch immer.
Wo das sicher ein bisschen besser geht.
Aber es ist halt
vor allem in der momentanen Phase noch ein bisschen schwierig.
Also im Moment entwickeln sich die Modelle ja so schnell
weiter. Also man braucht so viel Hardware
dafür. Das wird in ein paar Jahren
sicher wieder anders ausschauen.
Weil dann wird sich das so ein bisschen eingependelt
haben. Dann wird da mehr Hardware dafür
verfügbar sein auf normalen
Standrechnen.
Dann wird sicher irgendwann wieder die Welle kommen,
wo diese ganzen Modelle
dann auf den Personal Computer
wieder überschwemmen.
Oder überschwappen.
Aber im Moment ist es halt noch ein bisschen schwierig.
Ja, also was ich schon gerne hätte,
wäre sozusagen in AirPods.
Da gibt es ja auch so einen Transparenzmodus.
Da jetzt
statt einfach nur, dass das ein bisschen lauter
oder leiser wird, wenn es Nebengeräusche gibt,
dass das dann so richtig schön klar wird.
Das wäre natürlich toll.
Man könnte ja auf dem Handy das auch...
Ja, genau.
Da kann man natürlich auch die Modelle laufen lassen.
Aber ja gut, wahrscheinlich ist das alles nicht so ganz einfach.
Da tauscht man bestimmt auch für Nose Cancelling
auch wieder, wenn du es halt dann einfach umdrehst.
Ja, Hörgeräte,
die sind alle in dieser Entwicklung dabei.
Die machen eh das.
Aber halt, ich meine, da ist
halt die Arbeit, dass du
die Modelle, die es gibt, meistens
so effizient wie möglich hinkriegst.
Also da geht es halt
eher mehr um
Effizienztuning für bestimmte
Plattformen. Dann im Endeffekt für den Chip,
was er in seinem Hörgerät hat.
Und natürlich
Akkuschonen und so weiter, weil das ist natürlich
wichtig für Hörgeräte.
Aber ja, im Moment sind wir halt mehr so in einer Phase,
dass wir gerade noch dabei sind.
Also jetzt nicht nur wir persönlich, sondern generell
schätze ich halt,
dass man mehr dabei ist, die Modelle weiter
zu entwickeln. Irgendwann wird es eh saturieren,
weil dann werden ja alle einmal gut genug sein
für die meisten Tasks, sage ich mal.
Und dann wird sicher wieder die andere
Welle kommen, wo das
wieder zurückgeht, glaube ich.
Aber wir werden sehen.
So, Explore!
Exploration versus Exploitation.
Und momentan sind wir im Exploration-Modus,
wo wir versuchen herauszufinden, was man überhaupt alles
denn noch damit machen kann.
Und wenn es dann einmal gut genug ist,
wird es abgespeckt,
dass es auf allen möglichen
Plattformen läuft wahrscheinlich.
Ja, also ich bin so ein bisschen
erschlagen von diesem ganzen Thema.
Da gibt es irgendwie
so viele Sachen, wo man in die Tiefe gehen könnte,
wo ich aber jetzt gar nicht
weiß, wie man
da in die Tiefe gehen könnte, weil es mir
sich nicht erschließen.
Und ich finde es super spannend, dass das
einfach so ein
ganzes Riesenfeld ist,
was es gibt und was
man braucht und wo es auch viele Leute gibt,
die da dran arbeiten.
Und auch viele Profis gibt, die da dran arbeiten.
Ich habe selbst
mein Cousin
hat eine Konzertagentur, also die machen da
auch ganz viel im
Live-Bereich und im
Analog-Bereich, sage ich mal.
Und ich habe da überhaupt,
keine Ahnung,
so wenig Ahnung davon, dass ich keine sinnvollen
Fragen stellen kann.
Und ich glaube, an dem Punkt sind wir jetzt irgendwie so, oder?
Dass wir die grobe Form
abgetastet haben von diesem System
und dann haben wir uns schon mal mit der Task-View beschäftigt,
weil wir da alle was dazu sagen können.
Aber
so die richtigen Fragen kann man gar nicht mehr stellen.
So geht es mir jetzt gerade. Ich weiß nicht, wie es euch geht.
Ja, also genau.
Ich würde dann eher so etwas fragen,
wie vielleicht, was würdest du denn denken,
sind die interessanten Entwicklungen in diesem ganzen
Audio-Bereich,
in welche Richtung könnte es da gehen, oder gibt es
irgendwelche, wird es jetzt erstmal noch
eine Weile quasi
mehr Modelle
geben?
Ja, ich weiß nicht genau.
Oder wird das
irgendwann
sowieso alles,
naja, also
keine Ahnung. Ich weiß gar nicht, welche Frage ich stellen wollte.
Na, gerne. Also
ja, tschau, es gibt jetzt natürlich viele
alle möglichen neuen Modelle
von vielen Firmen.
Was natürlich ein großes
Thema ist, was wir jetzt gar nicht
angegangen sind bis jetzt,
oder wahrscheinlich auch nicht werden,
ist eben Audiosynthese, die ihr sicher alle wisst.
Ja. Eleven Labs und so weiter.
Oh ja. Also
funktioniert das schon echt extrem gut.
Und
ja, wird sicher viel, viel
Content über solche Wege
produziert werden.
Dann,
ein anderes großes Thema ist
natürlich
Musik. Da gibt es
relativ wenig im Moment. Also im Moment
stürzen sich alle auf die Sprachanwendungen.
Bei Musik gibt es echt
sehr wenig.
Was es gibt, sind so
Stem-Separation-Musikmodelle, also
wo man verschiedene Instrumente von
einem Mix extrahiert. Funktioniert
meistens auch nur gut, wenn man so
vier Instrumente extrahiert, oder
vielleicht ein bisschen mehr, also Bass, Schlagzeug,
Gesang,
Klavier oder Gitarre halt.
Die klassischen
Setups.
Dann auch gibt es noch sehr wenig
in der Richtung von Musik-Restoration
oder Musik-Aufbereitung.
Es gibt so Online-Mastering-Services schon
sehr lang. Einige, die machen natürlich
ein bisschen was in diese Richtung.
Aber jetzt so spezialisiertere Sachen,
also im Prinzip das, was wir
dabei erforderlich machen, wirklich auf Musik
umgelegt, gibt es
eigentlich noch nicht so wirklich.
Vielleicht gehen wir auch mal ein bisschen mehr in die Richtung. Mal schauen.
Dann
bei Musik,
was auch komisch ist, was
nicht so wirklich noch gibt,
ist wiederum
bei Sprache ist ja Transkription natürlich
das heiße Thema.
Es ist jetzt sehr viel weitergegangen in den letzten Jahren.
Analog dazu für Musik.
Transkription gibt es wiederum
sehr wenig.
Also Notanzeigen.
Genau.
Macht ja nicht einer, der
ursprünglich
Entwickler von Django.
Nee, nee, der
Adrian Holowaty.
Ah, der Adrian.
Der macht OCR, glaube ich, für Noten.
Ja, OCR ist wieder ein anderes Thema.
Ist nochmal ein anderes Thema. Aber möglicherweise auch
Noten aus Musik. Das weiß ich aber
gar nicht, ob sie das auch machen.
Ich glaube nicht. Ich glaube, das ist nur OCR.
Ah, okay.
Ich habe es nur so quer gelesen,
aber ich glaube, es ist hauptsächlich OCR.
Also eben das jetzt ist wieder mal
getestet, weil
einfach nur Band, Privat und so weiter
habe ich gedacht, mal ein bisschen was transkribieren
lassen. Aber
da habe ich irgendwie nichts Gescheites gefunden.
Obwohl es ja ähnliche...
Packt der Jochen diesen Link in die Shownotes?
Ja. Ja, das macht er sowieso.
Ja.
Ja, ich meine,
genau, ich brauche mir ja nur
irgendwie Eingabe, Ausgabe und ein bisschen
GPU.
Ah, Jochen,
das kann das sein.
Ja.
von Django
irgendwie, Boost Your Django Developer
Experience von Adam Johnson.
E-Mail habe ich auch gekriegt.
Und jetzt, wenn man sich
quasi da denkt,
irgendwie, vielleicht mal kurze Zeit nochmal,
das lohnt sich, weil da ist doch einiges dazu gekommen.
Also es war ein großes Update.
Es ist jetzt auch so viel mit Debugging drin und so.
Und ja, das Buch fand ich
ja.
Und der verkauft auch gerade,
gibt es das Sonderangebot noch,
wo irgendwie drei solche
Pakete zusammen hat?
Ja, stand in dieser E-Mail drin.
Keine Ahnung, aber wenn man die
hört, dann ist es wahrscheinlich nicht mehr.
Ja gut, wenn es das
noch für die schnellen Hörer,
das ist jetzt ein Anreiz, unsere Episoden immer sofort zu hören.
Immer sofort.
Wir werden diesen Link finden,
sofern es ihn noch gibt.
Vielen Dank, Georg, für deine Einblicke auf Phonic.
War großartig. Vielen Dank, Georg.
Vielen Dank für die Einladung.
Alles klar.
Bleibt uns gewogen.
Hallo at peisenpodcast.de für alles Feedback.
Und kommt zu unseren Treffen.
Ja, wo wir noch ein bisschen rausfinden, wann und wo wir das machen.
Bleibt hier bei uns im Rheinland.
Tut mir leid.
Mach ein Anreisen.
Eine gute Gelegenheit.
Aufruf an alle Hörer.
Jetzt sofort abstimmen.
Ja, ihr könnt eine
Fahrgemeinschaft bilden.
Ich kann gerade sagen.
Okay, dann kommen wir auch direkt
an die Adria.
Viel Spaß.
Bis bald.
Tschüss.