Transkript: Auphonic
Vollständiges Transkript der Episode. Zeitstempel beziehen sich auf die Audiowiedergabe.
Hallo liebe Hörinnen und Hörer, willkommen im Python-Podcast, Episode 61.
Wirklich 61.61.
Wir haben eben noch ein bisschen überhalten.
Heute soll es um Aufhornek gehen.
Hallo Jochen.
Hallo Dominik, herzlich willkommen und herzlich willkommen Johannes.
Hallo Anne da mit dabei.
Ja, wir haben alle zusammen.
Wir haben schon ein paar Mal hier gehabt, glaube ich.
Ihr kennt ihn.
Genau.
Und wir haben auch einen besonderen Gast heute wieder.
Hallo Georg.
Hallo, danke für die Einladung.
Ja, eine Vorstellung machen wir vielleicht bestimmt noch später, wenn wir zur Woll 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 einen HörerInnen-Treffen.
Ja, wir hatten ja letztes Mal da aufgerufen, sich zu melden und Region Rheinland.
Es haben sich tatsächlich einige Leute schon gemeldet.
Genau, wir haben gesagt, also ihr könnt solltet uns auf jeden Fall dann immer noch eine Mail schreiben, damit wir das dann ordentlich zeilen können.
Und genau einer hat uns eine Mail geschrieben.
Ja, die anderen Leute haben sich überall Kanäle.
Manche haben sich auf LinkedIn gemeldet, manche
haben sich
über Discord gemeldet, manche haben sich einfach nur persönlich gemeldet und aber wir kriegen das Meldung.
Und ich habe gehört, dass die Stuttgart-Fraktion, die Süddeutschland-Fraktion, die ist gerade stark in Führung.
Macht ihr eine Frage?
Nein, leider nicht.
Das sind diese Gerüchte kann ich nicht beschäftigen.
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 so 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üddeutschlandhörer.
Ja, okay, wenn man jetzt wirklich, wirklich läuft, dass in Stuttgart stattfindet, könnten wir nochmal.
Ihr habt noch die Chance.
Ja.
Stimmen Sie jetzt ab.
Die Telefonleitungen sind geschaltet.
Die Spuren sind scharfgestellter Mischpult, mit denen wir nie
Probleme haben.
Das war's auch schon wieder, der bleibt noch gewogen.
Hallo at Python Podcast.de.
Haben wir Pix?
Nein.
Wir wollten News machen, glaube ich, noch.
Okay, gut.
Ich hab ehrlich gesagt fast gar nichts.
Also es gibt eine neue Rails-Version, die ein bisschen mehr Deployment dazu kann, aber.
Okay, wir waren, glaube ich, jetzt vor
zwei Wochen News gemacht und in den letzten Zeitungen so warten.
Dann skippen wir heute die News.
Oder hast du mit News mit Gebiet?
Oder hat jemand von euch
irgendwas Interessantes, was in Python-Welt passiert ist?
Ne.
Ich hab nix.
Dann lassen
wir einfach die Geock sich selbst vorstellen und ein bisschen was entfernt.
Obwohl, wir könnten auch einmal noch kurz Werbung machen für uns selber.
Das wird eine gute Länder machen.
Bitte?
Du willst für uns selber selber machen.
Ja, okay.
Ja, ganz kurz, vielleicht die Werbung.
Miet mich, miet mich, miet mich.
Jetzt hier, ähm 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 hatten 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 Freelancer und auch im Prinzip
Projekte buchbar.
Ja, und ihr holt es 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 mietbarer oder bist du irgendwo angestellt?
Wir sind alle mietbar irgendwie, oder?
Ja, gut, wir sind schon.
Ihr wisst ja schon, du hast alle für die Werbung im Podcast eine Rechnung bekommen.
Von mir.
Tassel.
Dorit, das war jetzt deine Überleitung, mit du den Georg vorstellen kannst.
Ja, gut, dann.
Okay, genau.
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 Auphonic, nennen Sie das.
Da geht es um Audioverbesserung.
Vielleicht noch einmal ganz kurz einhaken darf.
Auphonic 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 Auphonic, also bei Endeffekt zumindest, von Anfang an alle unsere Episoden durch Auphonic jagen.
Ja.
Aha, so gehört, ja.
Nicht schlecht.
Ja, ja.
Ja, zuerst mal zu mir, also ich habe bei uns da in Graz Toningenieur studiert, das ist ein interessantes Studium, wo man so Audiosachen und Informatik und Elektrotechnik-Sachen in Kombination quasi hat.
Also du hättest das Audio-Problem 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.
Wenn man keines verwendet.
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 ich sehr viel Podcast-Hörer immer und dadurch bin ich dann irgendwie zu Aphonic gekommen, wo es eben um die Verbesserung von Audio gegangen ist und was am Anfang auch noch ganz wichtig war, ist verschiedene Dateien zu erstellen, sei es MB3, 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 im Python-Podcast, wenn Sie einige fragen, also bei uns ist er alles mit, oder fast alles mit Python gemacht, weil allein schon von der ganzen Algorithmenseite ist das alles mit Python, hat es immer, war das immer schon auf Python, denn das ganze Websystem haben wir auch mit Python gemacht.
Da erzählen wir bitte gerne gleich noch ein bisschen ausführlicher drüber, das interessiert unsere Hörerin natürlich sehr, glaube ich.
Vielleicht.
Ja.
Okay.
Ja, das klingt doch, das, das klingt doch 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ühl war so Auphonic auch schon relativ früh mit dabei.
War ein Podcast speziell irgendwie auch so eine Motivation dafür, irgendwie das zu machen oder ist das halt irgendwie später dazugekommen, dass das besonders mit dem Podcast funktioniert vielleicht?
Ja, also zuerst, das erste System war quasi explizit für Podcasts, ja.
Das war der Team damals, der Team Britlaff, der immer, der immer gestöhnt hat, dass alles so kompliziert ist.
Und da denkt man sich dann natürlich, na okay, da baut 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 Team hat es dann eben auch angekündigt auf seinem Podcast damals.
Und so sind halt viele andere Podcaster auch dazukommen.
Und dann hat sie das immer sehr schön langsam weiter verbreitet.
Ja, ich glaube, ich habe es auch daher mal gehört, denke ich wahrscheinlich, ja.
Genau, 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 Signalverarbeitungs- 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 waren bald das zwölfte Jahr.
Schon ein bisschen was ja
gutes tut.
Ja, das waren so die frühen 2010er Jahre quasi, ja, wo die erste Version entstanden ist.
Und ja, was ich schätze mal, eure Hörer kennen eh, diese ganzen Packages, also NumPy, so Array Processing und Sci-Py setzt eben drauf auf, hat ein paar zusätzliche Algorithmen, vor allem im Signalverarbeitungsbereich.
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 da so machen können, so, 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 Signalverarbeitungsalgorithmen waren, die halt irgendwie abgelaufen sind und man hat da Bramen da dann eingestellt und im Prinzip war das immer noch sehr schwer zu bedienen, wie man es am Mischpult sieht.
Und das Ganze haben halt versucht, eigentlich einmal zu automatisieren.
Das heißt, wir haben halt nicht nur diese DSP-Algorithmen gehabt, die man aufs Audio anwendet, sondern wir haben versucht, mit Klassifikatoren gewisse Sachen im Audio zu erkennen, also wo zum Beispiel verschiedene Sprecher sind oder wo Musikteile sind, wo jetzt nur Rauschteile sind oder eben nur Hintergrundgeräusche oder Hintergrundmusik, Vordergrundmusik und solche Sachen.
Und mit diesen Ergebnissen, die wir eben von den Klassifikatoren dann bekommen haben, dafür haben wir zum Beispiel eben Scikit-Learn Sachen verwendet, wie jetzt SVMs oder irgendeine Decision Trees with Feature Extraction vorher.
And aufgrund von diesen Analysedaten haben we then eben the parameter der ganzen DSB-Algorithmen automatic gesetzt.
Also zum Beispiel, wenn man einen D-Noiser hat, have we this audio mal segmentiert in verschiedene Abschnitte, wo verschiedene Noise-Profile sind.
Also zum Beispiel wir reden jetzt hier in den Raum, dann geht man raus, dann hat man natürlich ein anderes neues Profil.
Da haben wir eben so ein Clustering gemacht, das ist das Audio segmentiert.
Und dann in den einzelnen Segmenten haben wir geschaut, wo jetzt Sprecher sind oder Musikteile und in den stille Teilen, wo halt eben keiner spricht, also wo nur der Noise Floor sozusagen unten überbleibt.
Diese haben wir dann so zusammen gestitcht und daraus neues Profile extrahiert und diesen Neues 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 will man 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, ja.
Aber diese Algorithmen sind dann quasi noch so die klassischen, 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 irgendeine.
Ne, übernommen.
Also die haben wir natürlich schon selber entwickelt, aber von einem T-Pair ähnlich natürlich.
Also man hat halt bestimmte Filter oder Kompressoren, Limiter und was gibt es noch alles, irgendeine FFD-basierten Prozesse, so wie dieses Denising zum Beispiel.
Und auf diese Weise steuert man dann diese klassischen DSB-Algorithmen quasi, ja.
Ja.
Aber genau gibt es da nicht irgendwie, wenn man jetzt zum Beispiel, das ist ja auch ein spezieller Anwendungsfall eigentlich, dass man halt das, dass man so ein fertiges Audio hat, was man dann post-processen will.
Kann man da nicht auch noch irgendwie vielleicht irgendwie Informationen, äh, mehr Informationen verwerten, wenn man halt das ganze Audio hat, weil normalerweise diese Audio-Worksessions sind ja immer so mehr so drauf ausgelegt, dass man halt irgendwie ein Mix so live erzeugt und da hat man ja gar nicht so viele Informationen.
Das ist eben das ist eben der Unterschied von unserem System gewesen zu den anderen Sachen oder zu den meisten anderen Sachen.
Also das ganze Konzept, wie es im Computer meistens funktioniert.
Also in Audio-Plugins ist halt eigentlich ein Real-Time-Konzept.
Also ein Plugin sieht ja nur einen kleinen Buffer an Audio, den er prozessiert.
Und der muss er jetzt auch so schnell wie möglich prozessieren und dann spuckt er wieder aus, weil das System ja auf Real-Time ausgelegt ist.
Und es hat zumindest damals sehr wenige Programme gegeben, die jetzt ja wirklich so Offline-Audio-Berechnung gemacht haben.
Und das war damals eben der Level Later, den es da gegeben hat, das war auch so ein Programm, das einfach die Levels quasi gleich geregelt hat von Aufnahmen.
Ziemlich brute Force.
Also der hat nicht geschaut, ob da irgendwie Musik ist, das hat davon zerstört, aber hat einfach versucht, alles irgendwie gleich laut zu machen.
Und dieses Programm hat mich damals ein bisschen fasziniert, weil ich doch aus der Audio-Bubble sozusagen gekommen bin und das haben mir die Podcaster damals gezeigt und ich habe gedacht, warum habe ich noch nie von ihnen gehört?
Das ist ja eigentlich ganz praktisch.
Weil in der ganzen professionellen Audio-Welt dieses Konzept einfach nicht existent war, so wirklich.
Also da es halt natürlich die super speziellen Plugins gegeben, die von den namhaften Herstellern und so weiter.
Aber dieses Konzept haben wir dann eben 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 die Algorithmen dann darauf anpassen.
Zusätzlich ist das natürlich praktisch, das kann man dann als Web-Service anbieten, weil da kann man dann das ganze File hintun und das wird dann halt einfach sozusagen im Hintergrund prozessiert und dann bieten sie natürlich auch andere Sachen an, dass man das File dann gleich malhin distributiert, also auf YouTube und auf Soundcloud, wird damals man ziemlich populär und alle möglichen anderen Targets 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 Tontechnikwelt 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 es 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 versuche es so ein bisschen einfach darzustellen, ja, weil ich möchte gerne diesen Prozess aus dieser Audio-Perspektive so ein bisschen eher verstehen.
Ja.
Naja, ihr redet jetzt immer nur aus der Perspektive, wie das quasi früher war.
Aber nehmen wir vielleicht einmal 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 es 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 Levelunterschiede, 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 Dynamik natürlich, sind wäre alles ziemlich wurscht.
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 neues Pegel komplett hochgezogen vom Hintergrund.
Und dann fängt wieder irgendwer zum Sprechen an, dann regelt der Pegel wieder runter und dann ist der neu 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 was, wo welche Events sozusagen 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.
Oder wolltest du ein bisschen anders fragen?
Ich versuche mir noch vorzustellen, wie das genau aussieht.
Also wenn du sagst, also 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 weiß nicht.
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 auch vorhin nicht eher schon immer irgendwie Sprache, reine Sprache gewesen?
Ja, aber du musst ja mit der Musik auch irgendwas.
Ja, man muss auch damit irgendwie klarkommen, ne?
Das Problem ist ja, du kannst ja nicht einfach nichts machen, weil wenn du jetzt die Sprache irgendwie großartig nachregelst und dann ist die Musik wieder ganz woanders, dann passt das ja erst wieder nicht zusammen.
Also wir versuchen natürlich, die Musik so wenig wie möglich zu verändern, sage 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 einmal.
Also, weil wir gehen natürlich davon aus, meistens hat man so ein Spieler oder sonst irgendwas, das ist schon vorproduziert.
Das ist künstlerisch meistens so gewollt und da will man jetzt nicht großer was ändern dabei.
Außer vielleicht ein bisschen Neues weglöschen oder eben die Pegel anpassen, dass sie zum Rest passen.
Was wir natürlich auch sehr oft haben, sind so Musikmixes, da macht es ja schon Sinn.
Also wenn man jetzt ein Stück hat, was sehr laut ist und sehr leise, das passen wir schon an, was das dann wieder zusammenpasst.
Aber jetzt nicht den spektralen Content in der Musik.
Ja.
Aber genau, ist das dann, aber inzwischen gibt es ja da ja auch, hat sich ja so im Machine Learning-Bereich ja auch so einiges getan.
So in den letzten zehn Jahren, ich meine, 2013 hat das mit dem Deep Learning und so gerade erst angefangen.
Gibt es da denn inzwischen da auch Geschichten, wo man das so mehr so richtig end-to-end, 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?
Ich habe da ehrlich gesagt gar keine Ahnung.
Ja, so funktioniert es im Moment eigentlich.
Also wie gesagt, wenn man jetzt von der Geschichte her kommt von NumPy, Sci-Pi und Seekit Learn und so weiter, hat sich das dann natürlich immer, sind immer weitere Algorithmen gekommen.
Also ich habe zum Beispiel meine Diplomarbeit damals auch schon mit so neuronalen Netzen gemacht, das war 2007 oder 2008, da war das noch ganz am Anfang, vor allem im Audi-Bereich.
Und am Anfang von der Phonic 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 einmal gegangen.
Also, wenn wir jetzt schon in beiden Podcasts sind, können wir eh von den Tools ein bisschen reden.
Zuerst war man das Tenserflow sehr beliebt am Anfang.
Vor allem mit diesen Keras, dieser Keras Library, das war dann mal so ein Rapper für TensorFlow im Prinzip, einfach mit einer einfacheren, 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 gleiche dazu eingebaut.
Wie auch immer, zuerst haben wir mit Keras M 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.
Arbeits 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.
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 das Beispiel mit Denis, 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, Pfadesprache, was auch immer man sie flüstern, was immer man sie denken kann, also alles mögliche, was es halt so gibt.
Das natürlich in einer guten Qualität, ohne viel Rauschen.
Dann braucht man natürlich ganz große Datensätze von verschiedenen Neues Daten, also statisches Rauschen, dann Auto, das hinten vorbeifahrt oder irgendwelche Klopfgeräusche am Computer und so weiter.
Alles, was man sich irgendwie vorstellen kann.
Musik natürlich auch, falls man Musik auch wegrechnen will.
Behui, streien, Hunde, Bellen.
Und dann mischt man diese Daten zusammen, also dass man aus diesen schönen Daten das Rauschen dazu rechnet.
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 eben dieses Model, das Netzwerk an.
Also ihr kennt es wahrscheinlich alle.
Und dann hat es eben einen bestimmten Lernalgorithmus, dass die Gewichte in diesem neuronalen Netzwerk updated and dadurch versucht es eben zu lernen.
Wenn man das reinschickt, kommt das raus anders eben zu generalisieren for all the most that we are, die man eben nicht explizit gelernt hat.
Zusätzlich zu diesen Daten and Model gibt es noch so transformationen.
Man kann Filterartefakte draufrechnen, die das Netzwerk dann wegrechnen soll, or das Audio clippen 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 angewendet hat, 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 sich die 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 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 irgendeinem Medien.
Und man spielt das jetzt irgendwie in einem Raum ab und legt dann irgendwie ein Handy irgendwie 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 Handymikrofonaufnahme 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, genau das machen wir.
Aber da lernst du doch nur einen Filter, oder?
Genau, naja, im Prinzip gibt es genauso Datensätze von, du meinst jetzt zum Beispiel Impulse-Responses, also Impulsantworten von Räumen zum Beispiel, wo eben, keine Ahnung, 100.000 Impulse-Responses von verschiedenen Geometrien von Räumen.
Das heißt, 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 Impulse-Response drauf auf das Inputsignal und am Target soll das dann eben wieder weggeregnet werden.
Dann in deinem Fall hättest du noch so nicht-lineare Verzerrungen drinnen, vom Handymikrofon zum Beispiel.
Das kann man natürlich auch mit so nicht-linearen Verzerrungen ganz einfach simulieren.
Zusätzlich hast du noch Rauchen dabei, also man kann dann ein neues dazu mischen.
Und mit diesen ganzen Dingen, dann hat es vielleicht noch spektrale Effekte drinnen.
Also man kann noch so IQ-Dinger auf deinen Input drauflegen.
Und wenn man diese ganzen Effekte zusammenmischt, dann kommt halt irgendein schlechtes Auto sozusagen raus, das man dann verwenden kann.
Genau.
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.
Man braucht ja auch viele Daten irgendwie wahrscheinlich.
Was heißt denn viele Daten?
Wie viele Daten braucht man denn?
Braucht man da zehn Stunden oder 100 Stunden oder 1000 Stunden oder 100.000 Stunden?
Naja, mehr wie 1000, also es kommt darauf an, wie gut das halt, oder welcher Algorithmus jetzt und wie gut das funktionieren soll.
Also für so ein neues Reduction-Sachen brauchst du schon einige tausend Stunden an Audiomaterial, sag 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 wirst natürlich verschiedenste Podcast-Archive von verschiedenen Ländern, von verschiedenen Ausdrucksweisen, dann kommt natürlich noch die Qualität vom Audio dazu.
Also es ist ja nicht so leicht, wirklich gute Sprache zum Beispiel zu finden, wo jetzt kein Rauschend drin ist, weil sonst trainierst du ja auch erst wieder an, dass du Rauschen dabei hast.
Okay, 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 wir man gehabt haben, also wenn man natürlich schon mal Daten gehabt hat, mit denen man ein Model trainiert hat, und den will man dann danach noch einmal die neuen mit dem gleichen Model, dann funktioniert das natürlich nicht, weil das Model 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, weil wir ja vorher von eher der klassischen DSP-Welt, Machine Learning-Welt gekommen sind, also der Vorteil dort ist natürlich, dass man Parameter zur Kontrolle hat, was oft der Vorteil, oft der Nachteil ist, weil es komplizierter werden kann.
Ein Vorteil, weil man einem 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.
Weil man kann natürlich auch so ein Model machen, das jetzt alle diese Transformationen und was er immer drinnen hat und da kommt dann irgendwas raus.
Und mit dem kann man dann leben oder nicht.
Aber oft will man halt 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 Atmen wegrechnen oder gewisse Sachen wegschneiden oder Lautstärken labeln, Lautstärken nicht labeln, Filtering anwenden oder nicht.
Also insofern, insofern haben wir da jetzt, es ist unser Weg, dass wir eben verschiedene, verschiedene Stem-Models haben, die wir dann kombinieren.
Also zum Beispiel haben wir so ein Model, das eben Filtering macht, das ist nennt sich der Auto-EQ-Model, was eben auf das Filtering spezialisiert ist, 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 in einem Radio Play, also in einem Hörspiel, im Radio, will man natürlich alle möglichen Soundeffekte hinten haben.
Also in einem Wasserfall, der plägschert oder der Knall, wenn die Tür aufgeht.
Oder in einem Yoga-Video will man natürlich das ganze Atmen im Hintergrund haben und dann drauslöschen.
Jetzt in einem
reinen Sprachpodcast will man viel mehr natürlich rauslöschen.
Also alles, was tippen ist oder das Plätschern vom Bach 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 kontextapell, also sehr auch davon abhängig, also man kann nicht ein Modell für alle Sachen verwenden oder das Modell muss ja halt selber erkennen, was jetzt.
Eigentlich müsste man ihm das ja sagen, das kann der jetzt ja gar nicht wissen, ob das das Art oder schwierig wahrscheinlich, ne?
Ob das ein Atmen jetzt erwünscht ist oder nicht.
Ja, klar.
Ja, das Multitrack-Interface ist so ein bisschen.
Ich meine, das ist ja auch schön, dass das alles geht, genau, aber ja, es ist nicht so ganz einfach einzustellen, stimmt.
Ja, Multitrack ist normal besonders komplex, vor allem vom Interface, weil für jede Track kannst du alle Settings halt einstellen und dann wird es halt natürlich gleich einmal viel.
Ja.
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 sich besser an.
Ja, aber es ist ja auch okay, oder?
Als User willst du eh nicht mehr wissen im Endeffekt.
Idealerweise möchte ich 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 ist die, 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 ja wirklich nur 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 Afonic überhaupt.
Weil Audiotechnik einfach, vor allem vor 10, 15 Jahren sehr kryptisch war.
Das ist ja heute schon total anders.
Also 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, viel leichter, 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 einfach an 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.
Ihr habt das schon mal, man hat er 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 erzähle mich da durchaus 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, verrückt.
Ich habe einmal so eine Erfahrung gemacht, da haben wir bei einem ehemaligen Arbeitgeber, wir haben ein Marketingvideo gedreht, es war ein großer Spaß für einen Programmierwettbewerb.
Und der war auch so ein Audio-Fan.
Der hatte sich selber in seinem Wohnzimmer ein kleines Studio reingebaut.
Auch mit so einer Schallschutzwenden und so Zeugs.
Und da hat er dann mit seiner 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, ist, die hört sich gruselig an.
Aber 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 und so eine richtig sonore Stimme 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.
Meinst du jetzt, wenn du das Audio auf dem Telefon als Podcast hörst oder wenn du das bei deiner Stereoanlage hörst oder im Auto?
Wenn ich das in meinen Bluetooth-Lautsprechern zehn Meter von meinem Handy anhöre mit so einem Schwert.
Entschuldigung, ich wollte gerade, weil ich finde nämlich, dass die Sachen aller unterschiedlichen Kärten immer ganz anders klingen und das ist die ganze Zeit.
Ja, das ist ja natürlich so,
aber ich meine, die so die ganz alten Sachen waren ja alle für Radio und auch da hat sich sehr gut angehört.
Also besser als ohne.
Ja.
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, ah, das klingt aber eigentlich ganz schön schlecht.
Und das war auch so ein Lernprozess.
Das ging nicht von Anfang an.
Und dann hat er ja auch ein ganz großes Mischpult gekauft, das wir immer noch ganz ordentlich bedient und damit ist es
viel besser geworden.
Ja, nee.
Viel einfacher.
Aber ich höre jetzt auch würden.
Was die Hörer nicht wissen, ist ja, dass wir vorher eine Dreiviertelstunde gebraucht
haben, um die Aufnahme zu starten.
Das war tatsächlich der Nächteste.
Gegen wir hatten, ja.
Matrix.
Aber ist auch irgendwie so ein
gewisser gebührender Einstieg, ob man es nicht schon mal.
Ja, ja, dass man dann schon mal so nicht denkt, dass es zu einfach
dran ist.
Ich finde es auch sehr schön, Georg, dass du gleich als Profi gesagt hast, wisst ihr was, diese ganze Audiotechnik, alles weg, einfach nur ein Mikrofon eingabel.
Sehr sicher.
Aber nochmal zu deinem Punkt mit, dass es besser geklungen hat, weil der da ein paar Regler gedreht und 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 ja, du bist jetzt einen bestimmten Radiosound vielleicht gewohnt, was deine Radiosender da bei dir in Deutschland jetzt haben.
In Amerika ist es 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 du jetzt zum Beispiel das, wenn du das jetzt als Südamerikaner gemacht hättest 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 von der Herkunft vor allem abhängig.
Da gibt es große Unterschiede, wie Länder das handhaben.
Also manche haben so diese richtige Radiostimme, weil alles total eng ist, sehr basslastig und totkomprimiert, also wie man es auf dem Radio hört.
Das andere, wie der andere Sender, wie zum Beispiel BBC oder was wieder viel, wie soll ich sagen, 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, diesen Wahrnehmung.
Vielleicht, aber man kann das nicht mehr so gut.
Es kommt immer auf die
Referenz darauf an.
Diese Bilder, wenn man das zwar über Ton spricht, aber vom Klangbild auch redet, schon auch ein bisschen einordnen, oder?
Also es gibt schönere Bilder von besseren Künstlern und es gibt ärztlichere Bilder, vielleicht, ja, 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 sagtest, wie du dieses Signal bearbeitest, was halt der Tontechniker, der, also ich weiß nicht, ist, kann man das so sagen, ist Harphonik ein virtuelles Tontechnikinstrument?
Ist das so?
Virtueller Tontechniker, ja.
Und ja, was er dann tut, was er, was er da machen kann, um ich will jetzt nicht in der Bildsprache bleiben, den Pinsel zu fühlen, ja, also den 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, Aphonic, 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 das ist 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, also 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 wieder 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 ist so ein Nutzer wie dir, Johannes, dann vielleicht schwerfällt, weil du sonst nicht so viel mit Ton machst.
Blutigen Nutzer.
Ich hab da, ich habe da überhaupt gar keinen Connect dazu.
Ich bin, äh, 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 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 Mastering.
An Mastering kann man damit tatsächlich prägen, was
kann vielleicht nicht mehr so gut.
Also ich bin jetzt ja totaler Amateur, was so Musik auch angeht und so, aber wenn ich jetzt mit dem 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 den Bass oder so, irgendein Ducking hinzukriegen, das ist ja schon, das sind ja eher so Basics, ja, aber das bei, also ich kann mir das überhaupt nicht vorstellen mit Sprache, weil ich damit überhaupt gar keine Erfahrung habe, ja, mit Podcasts oder sowas.
Also wir machen jetzt Verein, aber so als Tontechniker jetzt würde ich sagen, würde ich mich jetzt auch nicht bezeichnen und das ist halt schon nochmal eine andere Herausforderung.
Und wenn man gerade diese Klangbilder vor Ohren hat, ja, da kommt man vielleicht so ein bisschen näher drin.
Also das ist das, was Johannes meinte.
Er hat genauso geklungen, wie er dachte, dass er im Radio steht.
Und wenn ich jetzt weiß, okay, ich möchte das Audio-Klangbild haben, wie dass jemand so im Radio steht, dann weiß ich vielleicht, in welche, vielleicht ist Klangfarbe das richtige Wort dafür, ich weiß nicht, ich das Ganze bringen möchte, ob ich jetzt, welche Frequenzen ich bewege.
Und was ich jetzt spannend finde, ist, was kann ich denn noch machen eigentlich als Audiotontechniker, außer Frequenzen bewegen und Lautstärke mit was ist das, Envelopes modifizieren?
Ja, das ist ja, der Envelope ist ja quasi.
Im Endeffekt ist alles Frequenzen und Lautstärken, mehr gibt es ja nicht.
Ja, genau, aber ja.
Ich frage jetzt nur, wie
man diese regelt.
Ja, aber Grafik
sind auch nur ein paar Pixel.
Das ist jetzt zu kurz.
Genau, ja.
Ja, ein paar Farben an die richtige Stelle getan.
Na, na, du meinst jetzt, welche Algorithmen es jetzt sozusagen noch gibt oder was?
Da können wir vielleicht gleich nochmal auf eingehen.
Ich würde es gar nicht ohne, dass vielleicht auch nicht so viel.
Ich möchte einfach in dem komplizierten Interface noch ein paar mehr Knöpfe haben, wo er dann sagen kann, jetzt lieber irgendwie Radio-Style oder lieber.
Nee, er möchte wissen, welche
Knöpfe mehr drehen muss, um den Radio.
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, da möchte ich gerne wissen, welche Regel ich denn überhaupt abmachen möchte.
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
es vorher.
Naja, aber ungefähr zu wissen, in welche Richtung ich da möchte, ist vielleicht ja schon mal der erste Schritt.
Also klar, das ist schon klar, dass Spuren
euch selber neuronale Netze trainiert, Georg.
Wie meinst du, ob wir unsere Netze selber trainieren?
Ja.
Ich benutze irgendwas Vorgefertigtes und.
Nein, nein, bei uns ist alles selber gemacht.
Alles selber gemacht.
Also alles natürlich nicht, aber die Algorithmen soll man sagen.
SaiPai und NumPy.
Und wie viele Parameter habt ihr da drin?
Über welche Größe sprechen wir denn?
Also ich meine, das ist ja eine dieser Kenngrößen, die man so sagt, hier GPT-X hat eine Milliarde Parameter.
Ja, das kann ich dir so gar nicht sagen, weil, also diese Netze im Audio-Bereich funktionieren ein bisschen anders, weil ich meine, im Prinzip hat es schon ähnliche Elemente, also man hat halt meistens irgendwelche rekursiven Elemente oder Transformers drinnen, also bei uns meistens LSTMs 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 Audio ein viel höhere Sampling Rate hat und in einer kürzeren Zeit viel mehr Daten rein und raus müssen.
Aber ab was wollte jetzt eigentlich raus, Anzahl Parametergröße.
Also wir haben natürlich verschiedene Models, also von manche ein paar Gigabyte bis zu hundert Megabyte, also in der Größenordnung.
Das ist jetzt 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 natürlich viel Rechenleistung braucht.
Insofern, wir bauen uns halt hauptsächlich unsere eigenen Trainingserver auf, beziehungsweise mitten 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 man irgendwie aushaltet oder sonst wo, die entsprechenden 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 Audio-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 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 Compute-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 zehnfacher Geschwindigkeit verarbeitet.
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 fünf oder vor zehn Jahren anschaut, würde man erwarten, dass es zehnmal so lange dauert, wie das Audio ist.
Aber jetzt ist es gerade umgekehrt, es ist zehnmal so schnell, wie das Audio ist.
Wie kriegt ihr das hin, Georg?
Ich habe mir das vorhin auf eurer Webseite durchgeschaut und hätte mir gedacht, wie kriegt ihr das hin?
Naja, also du redest jetzt natürlich nicht vom Training, sondern von der Influenza, also das, was dann die Anwendung.
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 CPUs sind sie halt einfach zu langsam.
Bei uns, wir sind ja in einer glücklichen Lage, dass wir eigentlich nicht so riesige Modelle haben wie die ganzen Language Models.
Also wir können das dann auf einzelne GPUs ausführen und brauchen da nicht GPU-Cluster für ein Modell.
Das ist schon mal viel einfacher.
Aber das ist schwieriger ist natürlich die Rechenleistung beim Training, weil du halt da wochenlang das System rechnen lassen musst und da brauchst du dann einfach viel mehr Rechenleistung.
Die Inherence 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 es dann im Endeffekt.
Wie viel musst du mieten bei Hetzner?
Dann für dein Modelltrainieren drehen?
Ist du einfach den einen?
Kostet 200 Euro oder was?
Fürs Trainieren haben wir nichts bei Hetzner, das wäre zu teuer.
Für die, nur für die, für die Inference sozusagen.
Okay.
Da haben wir, keine Ahnung.
So, zwischen 10 und 20 herum.
Ja, ist schon eine ganz schön ordentliche Operation, was ihr da betreibt.
Ja.
Ist auch, ist auch vom Betrieb her eine gewisse Herausforderung, weil 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 Megabytegröße haben und die du dann verarbeiten musst und auch, sag ich mal, richtig verarbeiten musst.
Also höchster Respekt, ja.
Und vor allem man braucht halt natürlich auch Rechenleistung, also es ist halt, das kostet es halt auch.
Das ist dann der Punkt im Endeffekt.
Das war halt früher schon viel günstiger.
Also da haben wir das nur auf CPU sozusagen laufen gehabt.
Hat natürlich auch ähnlich langes gedauert, weil die Algorithmen nur dafür damalige Verhältnisse relativ aufwendig waren.
Aber war halt um einiges günstiger.
Das ist so ein bisschen die Kehrseite, oder?
Von dieser ganzen neuronalen Netzegeschichte.
Auf der einen Seite muss man wesentlich weniger manuelle Arbeit reinstecken, wobei das vielleicht auch gar nicht stimmt.
Aber auf der anderen Seite zahlt man es halt mit Rechenzyklen.
Ja.
Ach, das dazu fällt mir ein, genau, da war ich jetzt überrascht.
Ich habe jetzt letztens irgendwie so ein bisschen mit Transkripten Dinge gemacht, gedacht, also ich war ja auf der, genau, wir waren ja beide auf der Subscribe, aber und da habe ich dann auch mit anderen Leuten so geredet, wie die das mit Transkripten machen, in Podcast-Hosting-Software.
Und ich habe mich dann mal so 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 hab dann jetzt auch mal angefangen.
Und da war es ganz gut geworden, ne?
Ja, also tatsächlich irgendwie mit Whisper hat man jetzt ein Modell, das tatsächlich wirklich ganz gut sozusagen,
ja, gut.
Also beim Py-Speed Sprint hast du da so ein paar Sachen ja gezeigt und hast ja auch CLI-Interface, du hast sogar einen Blogeintrag dazu geschrieben.
Und ja, und man kann es in der CLI benutzen, um Transkripte zu machen für Audio.
Genau, aber 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 das macht einfach, das macht keinen Spaß.
Aber es gibt da einen Dienst, äh, Dienstleister Grog, ich weiß gar nicht, wie man die ausspricht, und die machen ja 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 drauf laufen 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 er halt so in einer Minute ungefähr durch und ist fertig.
Und das hat mich schon so, oh krass.
Also das ging schon um.
Naja, es gibt ja jetzt dieses schnellere Whisper-Model, das Whisper Turbo.
Ja, das habe ich, genau, das habe ich auch probiert.
Das geht schon ganz gut, aber bei Grog, die machen wohl das wirklich das große Whisper V3 Large.
Ja, Large.
Das haben wir aus den GPUs ganz einfach gelaufen.
Ah ja.
Ja, genau.
Das ist super, ja.
Ja, weil das halt auch, ich habe auch die so ein bisschen verglichen, V2 versus V3 und tatsächlich für Deutsch macht es, aber bei Englisch macht es gar nichts einen Riesenunterschied, oder dachte ich jedenfalls jetzt so.
Aber bei Deutsch macht es halt schon einen Unterschied.
Also V3 ist nochmal ein gutes Stückchen besser.
Also bei Namen oder auch bei Python oder auch das geht eigentlich.
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, welcher Version, aber ab irgendeiner Version ist dann auf einmal immer Auphonic richtig erkannt vor mir.
Weil wir haben immer so ein Test-File und Auphonic war zuerst immer falsch und dann auf einmal hat es funktioniert.
Dann werden sie wohl die Daten geändert haben.
Ja.
Ihr seid einfach so bekannt, dass ihr jetzt in den Referenzdaten vorkommt.
Ja, genau.
Ich finde das auch total komisch, dass man dem Speech-Tru-Text-Model, dem kann man ja dann auch einen 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 will 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, ist irgendwie anders als früher.
Ja, das hat beim Whisper leider Seiteneffekte.
Also, das fördert Halluzinationen.
Ja, das kann natürlich sein, ja.
Deswegen verwenden wir die Prompt im Moment eigentlich nicht.
Ah, okay.
Ja, ich habe mir auch die Transkripte nicht so komplett durchgelesen,
aber ich habe immer nur
versteht, warum.
Wer weiß, was da
jetzt komische Sachen hat.
Auf der Podcast-Seite noch
schreiben, es gilt das gesprochene Wort, wie nicht das andere Zuhörer.
Schauen Sie jetzt die Untertitel an.
Ja.
Könnte sein, dass das vielleicht nicht so.
Ja.
Müssen wir jetzt ein paar exotische Wörter sagen, um deine Transkription zu verwirren, Jochen.
Nein, es ist gar nicht so bei Wörtern.
Es ist meistens eben, wenn nicht gesprochen wird oder wenn Pausen sind, dass sie 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 neurotisch wäre.
Oder machen wir jetzt eine kurze Schweigeminute für eine
Schweigeminute für Whisper V3?
Whisper auch mal das Mikrofon hier.
Jetzt kommt Whisper zuvor.
Mal schauen, was da so rauskommt, wenn man einfach mal, wenn man das einfach mal so vor sich hin generieren lässt.
Ja, ja.
Schon 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 doch einfach die ganze Zeit schweigen in der nächsten Episode und dann lassen wir was bei den Text rein.
Ja, das geht auch.
Und dann den Text wieder identifizieren.
Und das ein paar Mal im Kreis und dann schauen wir mal, was rauskommt.
Ja.
Ja, ansonsten, genau, 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 Smartphone geht.
Django, ja, natürlich.
Machen wir auch.
Nein, wir machen Django, wirklich.
Ja.
Ja, wie gesagt, wir verwenden Django.
Das schon seit 2013 oder wann das halt gestartet ist.
Und was verwendet man dann oft dabei, ja so Frontend-mäßig ein paar Sachen haben wir mit View gemacht, dieser Audio Inspector nennen wir das, oder der Transcript-Editor hat das mit View gemacht.
Dann prinzipiell verwendetten wir so HTMX und solche Sachen mittlerweile für die für so einfache 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, Alpiner teilweise für so kleine Java-Staten.
Das setzt sich genau nach dem an, was wir auch machen.
Ja.
Ja, ja.
Machen jetzt alle, ja.
Ja, machen wir auch alles.
Aber es ist auch dafür.
Ja, weil man sich halt nicht frameworks einhandeln will, gell?
Ja.
Natürlich.
Gut, was gibt es noch zum Erzählen?
Dann ab Backend-mäßig verwenden wir eben so eine Task-Queue, die diese ganzen Audio-Processing und Encoding-Tasks verteilt.
Dafür verwenden wir Salary.
Und die Salary läuft dann eben auf verschiedene Server verteilt.
Das sind unsere Worker-Rechner und wir haben eben einen und einen Hauptrechner, wo das Websystem läuft und der verteilt die ganzen Jobs dann auf die Worker-Rechner.
Und magst du Salary?
Funktioniert es gut?
Mögen, mögen ist übertrieben, aber sagen wir so, es funktioniert seit 13 Jahren.
Ja.
Aber mittlerweile
gibt es ja auch Dinge.
Mittlerweile gibt es sicher modernere Tools, schätze ich mal.
Also wir hoffen,
dass Django das native kann,
aber ich weiß nicht, ob das mit dem Distributed gut ist.
Nee, ja, da kommt jetzt was, aber das kann nicht so viel wie Salary und
verletzt werden.
Genau, wenn man halt wirklich
da Last hat und da Dinge, viele Dinge macht, dann ist es wahrscheinlich.
Wenn für einen Salary funktioniert, dann sollte man das wahrscheinlich so lassen.
Aber ich glaube auch, dass es gibt sonst nicht viel Konkurrenz da, dass es irgendwie für komplexere Geschichten Salary immer noch.
Inzwischen gibt es ja schon einige Taskviews.
Ja, auch mit Django-Integration, aber Salary ist halt so der bekannte alte Platzhirsch.
Ja, aber es ist auch schwer zu benutzen.
Das ist so ein bisschen wie das Mischpult hier.
Nein.
Das liegt doch in der Natur der Sache.
Wenn man nicht in den Task gibt, dreht sich das 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.
Oder war
man es doch selber,
vielleicht, das kann schon sein.
Ja, vor allem, weil das eigentlich musste man ja klicken in deiner DRW, das reprenne DRW, ich weiß nicht.
Ja.
Das hat gar nichts mit dem Meshwall zu tun.
Naja, egal.
Das sind kompliziert.
Wir haben dann auch verschiedene Task-Sews, das machst du mal komplizierter.
Also einerseits diese ganzen CPU-Server, die funktionieren eben über Salary.
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.
Die haben so, das nennt sich so Nvidia Triton, also ein Nvidia-System, wo man eben so Models hosten kann am GPU, der verteilt es 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 es nicht für jeden Request des Model, oder es wäre nicht sehr effizient, wenn man für jeden Request des Model jetzt neu ladet in den Speicher, also in den GPU-RAM, weil das Laden an sich von so ein paar Gigabyte Models dann schon mal ziemlich lang dauert.
Deswegen gibt es eben zum Beispiel dies Nvidia Triton, der versucht es eben möglichst effizient zu managen, dass die Models halt immer im V-Rahm sind, beziehungsweise nur wenn notwendig halt ein anderes Laden und so weiter.
Und das ist dann sozusagen die zweite TaskQ hinter der ersten Task.
Und dann kommt es von den GPU-Servern wieder zurück zur Salary-Taskue auf den CPU-Servern und dort gibt es dann, dort wird dann noch verschiedene Files.
Also wenn das Audio Processing fertig ist, gibt es dann File-Encoding-Tasks und dann Speech Recognition Tasks, dann wird es wiederum zum GPU-Server zusammen geschickt.
Dann, was gibt es noch?
Dann nimmt es einen Verteilt-Dask, der das auf verschiedene Server dann schickt, also Netzwerk-Tasks oder auf YouTube oder was auch immer.
Und so sichert das von Task zu Task dahin im Salary und im Nvidia-Triton.
Und den Status sind fast so irgendwie in einem Tango-Modell und genau.
Ja.
Die Tasks rufen sich dann eben so seriell auf.
Also es gibt ja bei Salary also Court Tasks, nennt sie das.
Also da kann man verschiedenen, wenn jetzt zum Beispiel ein Audio-Processing fertig ist und man will daraus fünf verschiedene Pfeilformate erstellen, dann kann man so einen Chord-Task machen, der macht dann diese fünf File-Formate parallel.
Und dann sagt man, okay, wenn jetzt alle von diesen fünf 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 erbauen, die sie dann so quasi parallel verbreiten und dann wieder irgendwann zusammenführen, hoffentlich.
Ja.
Bis das irgendwann fertig ist.
Ja, man hat dann so ganze Taskgraphen oft irgendwie ja.
Ja.
Ist dann manchmal so ein bisschen schwierig, wenn man es testen will und manchmal hat man so ein komisches Problem, wenn das an unerwarteter Stelle schief geht, aber ja, nee, man kann dann mit viel machen.
Aber testen ist auch nicht so schlimm.
Also man kann natürlich die Tasks einzeln testen.
Mit Unit-Tests ganz einfach.
Das Gesamtsystem ist wieder ein bisschen komplexer zum Testen, ja.
Ja.
Ich hatte
immer da das Hauptproblem, was ich mal hatte, ist irgendwie aufzuräumen, wenn da irgendwas kaputt gegangen ist und dass irgendwelche Geistertasks waren, weil irgendwie noch irgendwas geklickt hat und dann nicht genau klar war, wo jetzt welcher Tasks in welchem Status hingen oder so.
Ja, klar.
Und da bei diesem ganzen Asynch-Ding ist irgendwie schwierig zu verstehen und
dann irgendwo
noch so Reste drumhängen und wo die dann prozessiert werden wollen.
Aber ich glaube, wenn man so einer so ein stabiles System hat, vielleicht schraucht das ja gar nicht so oft ab.
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 es eigentlich sehr stabil.
Also das läuft bei uns jetzt natürlich also sehr lang.
Also wir haben alle möglichen Dinger drinnen für das Trail-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.
Da haben wir so
viele Ebenen inzwischen.
Dann hast du Async, dann hast du Threads, dann hast du Multiprocessing und oben drin.
Ja, wir verwenden es gar nicht Async, wir verwenden das wirklich Multiprocessing.
Also du kannst das Sellerie mit Multi-Processing auch verwenden.
Ja, ja, klar.
Das ist halt über mehrere Rechner verteilt.
Ja.
Das ist die nächst hö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 es ist halt was, was man lernen muss und oder was man lernen kann.
Und 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, wie man die Bauteile benutzt.
Die Bauteile an sich sind ja sehr, sehr stabil.
Wenn man jetzt einen Redis oder ein, also sich, was ihr verwendet, RabbitMQ oder Zero MQ oder was auch immer hat.
Die sind ja extrem stabil.
Also bei einem anderen Kundenprojekt haben wir einen RabbitMQ-Server, der läuft seit, keine Ahnung, acht Jahren unterbrechungsfrei.
Und die Bauteile an sich sind schon stabil.
Nur ja.
Wie wir das alle wissen, ja, 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, 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 da ja auch eine große Rolle.
Und wenn jetzt, jetzt weiß man aber vielleicht gar nicht so genau, wenn jetzt quasi Leute Feedback geben, weil sie das anders gewohnt sind oder so, wie man das unterscheidet von, da ist jetzt irgendwas nicht richtig funktioniert oder so, da muss man ja wahrscheinlich, ich weiß auch gar nicht, in welchen Märkten oder wo auch vor dem überall benutzt wird.
Das ist ja dann wahrscheinlich auch unterschiedlich, ne?
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 es natürlich nicht wirklich geht.
Aber gewisses Feedback is natürlich leicht zu verstehen.
Wenn der sagt, okay, da ist ein neues nicht rausgelöscht worden oder da ist irgendwas falsch rausgelöscht worden, dann kann man das natürlich leicht nachvollziehen.
Dass irgendwer subjective unrest in Equeuing has will, that can't even give.
Da werden wir auch nie was dagegen machen können.
Wahrscheinlich, man kann eine 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, dass man das Filtering deaktiviert und man hat halt selber das gefiltert, wie man es haben will.
Aber das kommt jetzt auch nicht so extrem oft vor, muss ich sagen.
Also es ist schon eher eindeutig dann quasi, was wenn Leute ja, okay.
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 habt
ihr dann die Million live im Einsatz eigentlich?
Was live im Eindhast?
Also jetzt beispielsweise Aphonic als Plugin in meiner DRW irgendwie.
Achso, den willkommen auch hin, 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 zum Beispiel Denoising oder solche Sachen.
Oder Filtering natürlich.
Aber ja, alles 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, das das live macht, was wahrscheinlich nicht so interessant ist.
Das heißt, wenn dann müsstest du 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, 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, glaube ich mal, weil dann wird sie 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 mir natürlich, was ich schon gerne hätte, wäre sozusagen in den 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.
Und man könnte ja auf dem Handy das haltmodus.
Ja, genau.
Da kann man natürlich
auch die Modelle laufen lassen.
Aber ja gut,
wahrscheinlich ist das alles nicht so ganz einfach.
Der tauscht ja bestimmt auch für Nose Cancelling auch wieder, ne?
Wenn er es halt dann einfach dann umdrehst.
Die Hörgeräte, ich meine, die sind alle in dieser 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 eine bestimmte Plattform, dann im Endeffekt für den Jeep, was halt der in seinem Hörgerät hat.
Und natürlich Akku schonen und so weiter, weil das natürlich wichtig für Hörgeräte.
Aber ja, im Moment sind wir halt mehr noch 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 weiterzuentwickeln, irgendwann wie das 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 es hin.
So, Exploration versus Exploitation und momentan sind wir im Exploration-Modus, wo wir versuchen rauszufinden, was man überhaupt alles dennoch machen kann, so.
Und genau, ja.
Und wenn es dann immer gut genug ist, wird es abgespeckt, dass es auf allen möglichen Plattformen läuft wahrscheinlich.
Ja, also ich bin so ein, wie gesagt, so ein bisschen erschlagen von diesem ganzen Thema.
Da gibt's, äh, da gibt es irgendwie so viele Sachen, wo man in die Tiefe gehen könnte, wo ich aber jetzt gar nicht den, wo ich gar nicht weiß, wie man da in die Tiefe gehen könnte, weil sie 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 daran arbeiten und auch viele Profis gibt, die daran arbeiten.
Ich habe selbst, mein Cousin hat eine Konzertagentur, also die machen da auch ganz viel im Live-Bereich und im Analogbereich, sag ich mal.
Und ich habe da überhaupt keine Ahnung, bevor ich weiß, habe 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 TaskQ 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 dann eher sowas fragen, wie dann vielleicht wie, was würdest du denn denken?
Sind die interessanten Entwicklungen in diesem ganzen Audiobereich, in welche Richtung könntest du da gehen?
Oder gibt es irgendwelche, wird das jetzt erstmal noch eine Weile quasi mehr Modelle geben?
Ja, ich weiß nicht genau, ja.
Oder wird das, ja, wird das irgendwann sowieso alles, naja, das, ja, also ja, keine Ahnung.
Ich weiß gar nicht, welche Frage ich stellen wollte.
Na, gerne.
Also ja klar, 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 klären, ist eben Audiosynthese, wie ihr sicher alle wisst.
11 Labs und so weiter.
Also funktioniert ja schon echt extrem gut und 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 sie 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 Musikaufbereitung.
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 da bei Aphonic machen, wirklich auf Musik umgelegt, gibt es eigentlich noch nicht so wirklich.
Vielleicht gehen wir auch einmal 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 die Transkription natürlich das heiße Thema.
Ist jetzt sehr viel weitergegangen in den letzten Jahren, analog dazu für Musiktranskription gibt es wiederum sehr wenig.
Also genau
einer der der auch der ursprünglichen Entwickler von Django Jacob.
Nee, nee, nee, der Adrian Holorotti, der macht 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.
Ja.
Ich glaube nicht, ich glaube, das ist nur OCR.
Also, ah, okay.
Ich habe es nur so quer gelesen, aber ich glaube, es ist hauptsächlich OCR.
Also ihr habt das jetzt 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 das ja ähnliche Tage.
Packt der Jochen diesen Link in die Shownotes.
Ja.
Ja, das macht er so wieder, ja.
Ja, ich meine, genau, ich brauche mal ja nur irgendwie Eingabe, Ausgabe und ein bisschen GPU dann hast du.
Ja, in diesem Jahr kann das sein.
Der Schwergewichtig ist nur, was du da gerade gesagt hast.
Und Noten mit Aufnahmen dazu sollte es eigentlich auch geben, aber.
Aber ja.
Insofern spannend, kann man ein neues Projekt machen.
Herzlichen Dank, lieber Georg.
Ja, ich weiß nicht, wollten wir noch irgendwie was picken oder so?
Oder sparen wir uns das diesmal?
Wir sparen, sagt es mal.
Geh schon spät.
Genau.
Ah, doch, nee, ich mach mal ganz kurz, ich habe gesehen, es gibt das Update von Django, irgendwie, Boost Your Django Developer Experience von Adam Johnson.
Die E-Mail habe ich auch gekriegt.
Ja, ja, genau.
Und jetzt, wenn man sich quasi da denkt, irgendwie, hat man vielleicht mal kurz Zeit nochmal, das lohnt sich, weil das doch einiges dazu gekommen ist.
Es war ein großes Update.
Da ist jetzt auch so viel Debugging drin und so.
Und ja, das Buch fand ich ja.
Und der verkauft auch gerade, macht gerade, gibt es das Sonderangebot noch, wo er irgendwie drei solche Pakete zusammen hat?
Stand in diese E-Mail drin.
Keine Ahnung, aber wenn man die nach dem halben Jahr hört, dann ist es wahrscheinlich nicht mehr.
Ja, gut.
Wenn es das noch für die Schnellen höre, das ist jetzt ein Anreiz, unsere Episoden immer sofort zu hören.
Immer, sofort.
Wir werden diesen
Link finden,
sofern es ihn noch gibt.
Ja, vielen Dank, Georg, für deine Einblicke auf Phonic und was wir.
War großartig.
Vielen Dank, Georg.
Vielen Dank für die Einladung, ja.
Alles klar.
Bleibt uns gewogen.
Hallo.pythmepodcast.de falsches Feedback und kommt zu unserem Treffen.
Ja, wo wir noch ein bisschen rausfinden, wann und wo wir das machen, aber das machen wir dran.
Nein, es bleibt hier bei uns im Rennern, tut mir leid, die beiden Anreisen.
Gute Gelegenheit, der Heimat kennenzulernen.
Aufruf an alle Hörer, jetzt sofort abstimmen
für Stück.
Ja, ihr könnt eine Angelegenheit und eine Fahrgemeinde.
Okay.
Dann können wir ja auch direkt an die Adria.
Na gut.
Viel Spaß, hört uns.
Bis bald.
Tschüss.
Ciao.
Tschüss.