Transcript: Auphonic
Full episode transcript. Timestamps refer to the audio playback.
Hallo, liebe Hörerinnen und Hörer. Willkommen im Python-Podcast, Episode 61.
Wirklich 61. Wir haben eben noch ein bisschen drüber zu erhalten.
Heute geht es um Auphonikin. Hallo, Jochen.
Hallo, Dominik. Herzlich willkommen und herzlich willkommen, Johannes.
Hi, Johannes.
Auch wieder mit dabei.
Ja.
Hallo zusammen.
Wir haben ja 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, schön, dass du da bist.
Eine Vorstellung machen wir vielleicht bestimmt noch später, wenn wir zur Welt 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 einer hat uns eine Mail geschrieben.
Die anderen Leute haben sich über alle Kanäle gemeldet.
Manche haben sich auf LinkedIn gemeldet, manche haben sich über
Discord gemeldet, manche haben sich einfach nur persönlich gemeldet.
Aber wir kriegen das immer wieder.
Also, wer Lust hat, sagt 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?
Nein, leider nicht.
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, 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 doch schon wieder.
Dann bleibt uns gewogen.
Hallo at PythonPodcast.com.de.
Haben wir Pics?
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.
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 erzählen.
Das ist eine tolle Idee.
Obwohl, wir könnten auch einmal noch kurz Werbung machen für uns selber.
Das ist eine gute Idee.
Willst du für uns selber 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 Freelancer.
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 erst eine Rechnung bekommt.
Von mir.
Das zählt.
Dominik, das war jetzt deine Überleitung.
Damit du dir den Georg vorstellen kannst.
Ja.
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, Afonik nennen sie das.
Da geht es um Audioverbesserung.
Vielleicht noch einmal ganz kurz einhaken darf.
Afonik habt ihr auf jeden Fall schon.
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.
Wir von Anfang an alle unsere Episoden durch Afonik jagen.
Ja.
Aha, so gehört.
Nicht schlecht.
Ja.
Ja.
Also, zuerst mal zu mir.
Also, ich habe bei uns da in Graz Toningenieur studiert.
Das ist eine interessante Studie, weil man so Audiosachen und Informatik und Elektrotechnik-Sachen in Kombination quasi hat.
Also, du hättest das Audio-Problem.
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...
Da war Phonic 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 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 im beiden Podcast, wenn Sie einige fragen.
Also, bei uns ist ja fast alles mit beiden gemacht.
Weil...
Weil...
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 unsere Hörerinnen 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 Podcast gehört.
Und gefühlt war so...
Vor allem 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, also zuerst...
Das erste System war quasi explizit für Podcasts, ja.
Das war der Tim damals, der Tim Britloff,
der immer gestöhnt hat.
Er hat gesagt, 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 Web-System,
also so ein Web-Interface 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.
Und dann hat sich 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.
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 haben ganz am Anfang
so viel mit NumPy, Scikit-Learn,
ja, SciPy, also diese ganzen
Signalfarbe-Docs
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 es ist bald das zwölfte Jahr.
Schon ein bisschen was Errotes dort.
Ja, das...
Das waren halt die frühen 2010er-Jahre quasi,
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 SciPy
setzt eben drauf auf,
hat ein paar zusätzliche Algorithmen,
vor allem im
Signalfarbetungsbereich.
Und Scikit-Learn,
ja, 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 konnten,
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 Parameter 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
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 so.
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
SVMs 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 Denoiser 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, dass das Audio
segmentiert, und dann in den
einzelnen Segmenten
haben wir geschaut, wo
jetzt Sprecher sind, oder Musikteile, und in den
stillen Teilen, wo halt eben keiner
spricht, also wo nur der Noise-Floor
sozusagen unten überbleibt,
diese haben wir dann so zusammengestitcht
und daraus Noise-Profile.
Und dann haben wir dann auch
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, ja. Aber diese Algorithmen
sind dann quasi noch so die klassischen, ich weiß jetzt
nicht, ich hab jetzt so im Hinterkopf, da gibt's
irgendwie so Audio-Works,
Vibrations 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's noch,
FFT-basierten Prozesse,
so wie das ist, denoising zum Beispiel.
Ja. Und
auf diese Weise steuert
man dann diese
klassischen DSB-Algorithmen quasi, ja.
Ja. Aber
genau, gibt's 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,
mehr Informationen verwerten, wenn man
halt das ganze Audio, weil normalerweise
diese Audio-Works-Sessions sind ja immer so
mehr so drauf ausgelegt, dass man halt
irgendwie einen Mix so live
erzeugt und
da hat man ja gar nicht so viele Informationen.
Das ist eben das,
das ist eben das,
der Unterschied von unserem System
gewesen zu den anderen Sachen oder zu den
meisten anderen Sachen, also
das ist eben, das ist unser
Konzept, wie es am Computer meistens funktioniert,
also in Audio-Plugins
ist es halt
eigentlich ein Realtime-Konzept, also
ein Plugin sieht ja nur einen kleinen
Buffer an Audio, den er prozessiert,
und der muss ja jetzt auch so
schnell wie möglich prozessieren und dann spuckt er
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 gleich geregelt
hat von Aufnahmen,
die mich
BruteForce, 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 sozusagen 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 existent
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 Web-Service anbieten, weil
da kann man dann das ganze feil hin tun
und das wird dann halt einfach
sozusagen im Hintergrund
äh
prozessiert und dann bieten sie
natürlich auch andere Sachen an, dass man
das feilt dann gleich mal hin
distributiert, also auf YouTube und auf Soundcloud
war 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
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 ich jetzt?
Ja, dann hat man jetzt 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 Dynamik natürlich, sind ja alles
ziemlich, ziemlich
wurscht, nicht 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
Automatik-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, also so ein
basierende Relevanz sind für diesen Algorithmus
jetzt und dann weiß man
schon, das ist da und das ist da und dann kann man
diese
...
...
Dieses Nachregeln natürlich ein bisschen besser machen, ganz einfach. Ich hoffe, das war jetzt deine Frage.
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, reine 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 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, 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 wir...
Zumindest bis jetzt nicht.
Vielleicht machen wir das in Zukunft einmal.
Also, weil wir gehen natürlich davon aus, meistens hat man so ein Einspieler oder sonst irgendwas, das ist schon vorproduziert, das ist künstlerisch meistens so gewollt und da will man jetzt nicht so großartig was ändern dabei.
Außer vielleicht ein bisschen Noise weglöschen oder eben die Begel anpassen, dass sie zum Rest passen.
Was man natürlich auch sehr oft an so Musikmixes, da macht es ja schon Sinn, also wenn man jetzt ein Stück hat, das sehr laut ist an sehr leise, das passt dann auch.
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.
Gibt es da inzwischen 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?
Weil ich habe da ehrlich gesagt ja keine Ahnung von.
Ja, so funktioniert es im Moment eigentlich.
Also, wie gesagt, wenn man jetzt von der Geschichte her kommt,
von NumPy, SciPy und CKitLearn und so weiter,
dann 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 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 einmal gegangen.
Also, ich meine, schon in beiden Podcasts,
zehn, kann man eh von den Tools auch ein bisschen reden.
Zuerst war dann das Dancerflow sehr, sehr beliebt am Anfang.
Vor allem mit diesem Keras, dieser Keras-Library.
Das war damals so ein Wrapper für Dancerflow 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.
Ja.
Ja.
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 jetzt 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 noch mal den Beispiel mit Denoising, also Störgeräusche weglöschen.
Dazu braucht man natürlich ganz viele Audio-Sprachfiles,
die, wenn wir jetzt nur Sprache betrachten, braucht man ganz viele Sprachfiles,
die gut klingen, also ganz viele Sprecher, verschiedene Sprachen,
verschiedene Geschlechter.
Verschiedene Ausdrucksweisen, verschiedene Sprachstile,
emotionale Sprache, Fadesprache, was auch immer man sich flüstern,
was immer man sich denken kann, also alles Mögliche, was es dazu gibt.
Und 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 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.
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 eben dieses Model, das Netzwerk an.
Also ihr kennt das wahrscheinlich ja alle.
Und dann hat das eben einen bestimmten Lernalgorithmus,
das die Gewichte in diesem neuronalen Netzwerk eben 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 Model gibt es ja noch so Transformationen,
also das Audio wird nicht nur durch das Zumischen von Neues 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 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 einen 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 Trainingsdaten,
so wie es dann eben fürs Model sein soll.
Mhm. 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 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 Handy-Mikrofon-Aufnahme 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 macht?
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. Im Prinzip gibt es genau so Datensätze von, du meinst jetzt zum Beispiel Impuls-Responses,
also Impuls-Antworten von Räumen zum Beispiel, wo eben, keine Ahnung, 100.000 Impulse,
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-Mikrofon zum Beispiel,
das kann man natürlich auch mit so einem nicht-linearen,
also 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 hat es vielleicht noch spektrale Effekte drinnen, also man kann noch so EQ-Dinger auf den 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. Man braucht ja auch viele Daten irgendwie wahrscheinlich, nehme ich mal an.
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 sollte oder welcher Algorithmus jetzt und wie gut das funktionieren soll.
Also für so ein neues Redaction-Sachen brauchst du schon einige Tausend Stunden an Audio-Material, sage ich mal.
Okay, also so ein, sage 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.
Ja, okay, das ist zu gleich für mich.
Du hast 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 Rauschen drin ist,
weil sonst trainierst du dich auch erst wieder an, dass du Rauschen dabei hast.
Okay, klar.
Also wir machen das meistens so ein bisschen rekursiv.
Also man hat natürlich einmal ein Modell, dann findet man wieder neue Daten, die ein bisschen verrauscht sind,
die neueste man mit dem alten Modell, damit trainiert man dann das neue Modell und so weiter,
damit man die Daten auch ein bisschen besser aufbereiten kann.
Weil, was ja ganz interessant ist, welche Effekte wir immer gehabt haben, 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, weil wir ja vorher von der klassischen DSB-Welt,
Maschinen-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,
weil man kann natürlich auch so ein Modell machen, das jetzt auch,
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 haben wir da jetzt, es ist unser Weg,
dass wir verschiedene Stemmodels haben, die wir dann kombinieren.
Also zum Beispiel haben wir so ein Modell, das im Filtering macht.
Das nennt sich der Auto-EQ-Model, was 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 eine 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ä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 vom Bach im Hintergrund oder der Vögel oder Atmen von mir aus,
kann man auch rauslöschen, alle 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 er halt selber erkennen, was jetzt.
Eigentlich müsste man ihm das ja sagen, das kann er ja gar nicht wissen, ob jetzt das Atmen oder schwierig wahrscheinlich.
Ob das Atmen jetzt erwünscht ist oder nicht.
Ja, klar.
Ja, das Multitracking.
Das Multitrack-Interface.
Ich meine, das ist ja auch schön, dass das alles geht, genau.
Aber ja, das ist nicht so ganz einfach einzustellen, das stimmt.
Ja.
Ja, Multitrack ist nochmal 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.
Ja, ich glaube, wir sind so ein bisschen überfahren, oder?
Von diesen ganzen Möglichkeiten, die es da gibt und von den ganzen coolen Sachen, die jeder macht.
Und als Außenstehender, also so ich als, sag ich mal, Feld, Wald und Wiesen-Informatiker, mir fehlt da so ein bisschen der Bezug dazu.
Also für mich ist es 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.
Jetzt hast du ja alles auf den User degradiert.
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 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, ist 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 Affonic überhaupt.
Weil Audiothechnik 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 besser ist.
Was man 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 hört oder gar nicht versteht.
Man hat ja da gelegentlich Kontakt dazu.
Und wenn man dann so sieht, 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.
Ich zä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 ja, verrückt.
Und 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 Programmiertwettbewerb.
Und der war auch so ein Audio-Wettbewerb.
Und der war so ein 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 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, 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.
Und wer meint es jetzt, wenn du das Audio auffällig hörst?
Wenn du es auf dem Telefon als Podcast hörst?
Oder wenn du das bei deiner Serienanlage hörst?
Oder im Auto?
Wenn ich das in meinen Bluetooth-Lautsprechern 10 Meter von meinem Handy anhöre.
Entschuldigung, ich wollte gerade, weil ich finde nämlich, dass die Sachen alle auf unterschiedlichen Geräten immer ganz anders klingen.
Und das ist total nicht rausgekommen.
Ja, das ist 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.
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 auch, 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.
Und das war auch so ein Lernprozess.
Das ging nicht von Anfang an.
Und dann hat der Jochen sich ein ganz großes Mischpult gekauft, das wir immer noch nicht ordentlich bedienen können.
Und damit ist es viel besser geworden.
Ja, nee.
Viel einfacher.
Ja.
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.
Was wir selber hatten, ja.
Matrix.
Ja, aber es ist auch irgendwie so ein gewisserweise gebührender Einstieg, ob man es nicht schon mal...
In die Audio-App.
Ja, dass man dann schon mal so nicht denkt, dass es zu einfach wäre alles.
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.
Sehr sicher.
Aber nochmal zu deinem Punkt, dass es besser geklungen hat.
Weil der hat 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 einem 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 es für dich gut.
Wenn der jetzt zum Beispiel, wenn das jetzt ein 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 auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
Das ist auch sehr subjektiv.
sehr subjektiv natürlich
diese Übernehmung.
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
ästlichere Bilder vielleicht.
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, 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, das ist auch bei Audio so.
Insbesondere halt bei dem, was du gesagt hast,
wie du dieses Signal bearbeitest,
was halt der Tontechniker,
also ich weiß nicht, kann man das so sagen?
Ist Harphonik ein virtuelles Ton
Technik-Instrument?
Ist das so?
Virtueller Ton-Techniker, ja.
Und ja, was er dann tut, was er da machen kann,
um
ich weiß nicht, wie die Bildsprache bleibt,
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, Harphonik, 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 überhaupt erstmal zu verstehen, wie das
überhaupt geht, weil dieses
Klang zu
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 so einem Nutzer wie dir, Johannes,
dann vielleicht schwerfällt, weil du sonst nicht so viel mit
Ton machst. Absolut, blutiger Nutzer.
Ich habe da überhaupt
gar keinen Connect dazu. Ich bin, 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 Wellen formen, 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
kann man damit tatsächlich prägen.
Ja, also ich
bin jetzt ja totaler Amateur, was
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 den
Bass oder so, irgendeinen Ducking hinzukriegen, das ist ja schon,
das sind ja eher so Basics, ja, aber
das, also ich kann das
überhaupt nicht vorstellen mit Sprache, weil ich damit überhaupt gar keine
Erfahrung habe, ja, mit Podcasts oder
sowas, also wir machen jetzt Vereine, aber
als Hohentechniker 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 Uhren
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 dachte, dass er im Radio
steht und wenn ich jetzt weiß, okay, ich möchte
das Audio-Klangbild
haben, dann kann ich das auch so machen.
Wenn ich das so haben, wie
das hier 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, welche Frequenzen
ich bewege und
was ich jetzt spannend finde, ist, was kann ich denn noch machen
eigentlich als Audio-Tontechniker
außer Frequenzen
bewegen und Lautstärke
mit, was ist das, Envelopes
modifizieren?
Sie ausleveln.
Ja, das ist ja, der Envelope ist ja
quasi, okay.
Im Endeffekt ist alles
Frequenzen und Lautstärken, mehr gibt es ja nicht.
Ja, genau, aber ja.
Ich frage jetzt nur, wie man diese
Regeln hat.
Grafiks sind auch nur ein paar Pixel, das ist jetzt
zu kurz geschaut.
Ja, ein paar Farben
an die richtige Stelle getan.
Na, du meinst jetzt, welche
Algorithmen es jetzt sozusagen
noch gibt, oder was?
Da können wir vielleicht gleich noch drauf eingehen, ich finde es gar nicht so unangenehm.
Ich glaube, der Dominik 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
Musik. Nee, 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 Regelung ich denn überhaupt
machen 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 drehen.
Ungefähr zu wissen, welche Richtung ich da möchte,
ist vielleicht ja schon mal der
erste Schritt.
Also ich glaube, es ist schon klar, dass jetzt die
Spur nicht... Habt ihr euch selber neuronale
Netze trainiert, Georg?
Wie meinst du, ob wir unsere
Netze selber trainieren? Ja.
Ja, sicher. Wir benutzen ja irgendwas
Vorgefertigtes und... Nein, nein, bei uns ist
alles selber gemacht.
Alles selber gemacht?
Also alles natürlich nicht, aber
die Algorithmen, so muss man sagen.
Sci-Pi und NumPy.
Und wie viele
Parameter habt ihr da
drin? Über welche Größe
sprechen wir da? 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
Audi-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
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 Audio eine viel höhere
Sampling-Rate hat und in einer
kürzeren Zeit viel mehr Daten
rein und raus müssen.
Aber was wir jetzt eigentlich
raus, Anzahl Parameter, Größe,
also wir haben natürlich
verschiedene Models, also von
manche Gigabyte
bis zu
ein paar hundert Megabyte, also
in der Größenordnung.
Also nicht so riesige Models 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 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
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 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.
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 dann
anwendet wird. Aber trotzdem.
Ja, trotzdem.
Es gibt halt mittlerweile gute
GPUs, um das kurz zu fassen.
Okay.
Ihr habt ein paar 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 eben nicht so riesige
Modelle haben, wie die ganzen Language Models.
Also wir können das auch auf einzelne GPUs,
ausführen und brauchen dann 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 Hetzna 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
Hetzna für dein Modelltrainieren-Training?
Ist das einfach den einen? Kostet das 200 Euro oder was?
Für das Trainieren haben wir nichts bei Hetzna, das wäre
zu teuer.
Nur für die Influenz, würde ich sagen.
Okay.
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, 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 Megabyte-Größe
haben und die du dann verarbeiten musst
und
auch, soll ich mal, richtig
verarbeiten musst.
Also höchster Respekt
hier. Und vor allem, man braucht
halt natürlich auch Rechenleistung.
Das 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
CPUs sozusagen laufen gehabt.
Hat natürlich auch ähnlich
lange gedauert, also 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, das ist auch nicht wahr.
Aber auf der anderen Seite muss man wesentlich weniger manuelle Arbeit reinstecken, wobei das vielleicht auch gar nicht stimmt.
Auf der anderen Seite bezahlt man es halt
mit Rechenzyklen.
Ach, dazu fällt mir
ein, genau, da war ich jetzt überrascht.
Ich habe jetzt letztens irgendwie so ein bisschen
mit Transkripten-Dicke gemacht.
Also, 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,
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 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 Pice-Spin hast du da
so ein paar Sachen ja gezeigt.
Ja, auf dem Heps-Spin.
Genau.
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 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 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 schon ganz gut.
Naja, es gibt ja jetzt diese schnellere Whisper-Model, das
Whisper Turbo. Ja, das habe ich, 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.
Und das ist aber so schnell. Ja, wir haben ja auch das
V3 Large.
Ja, das haben wir auch,
das haben wir auch.
Auf den GPUs
kann es einfach laufen.
Ah ja, ja.
Ja, genau. Das ist super, ja.
Ja, weil das hat auch, 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 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.
Ja, ich weiß jetzt nicht mehr, welche Version, aber
ob irgendeine Version ist dann
auf einmal immer auf Phonic richtig erkannt worden.
Ja, auch.
Weil wir haben immer so ein Test-File
und auf Phonic war zuerst
immer falsch und dann auf einmal hat es funktioniert.
Dann werden sich wohl die Daten geändert haben.
Ja.
Ihr seid einfach so bekannt, dass ihr jetzt in den Referenzen
ganz datenvoll kommt.
Ja, genau.
Ich finde das auch total komisch, dass man
einem 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.
Ist irgendwie anders als früher.
Ja, das hat beim Whisper leider
Seiteneffekte, also
der, sagen wir mal so,
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.
Wer weiß, was da jetzt so komische Sachen
für Dinge
auf die Kontrast-Seite noch schreiben.
Es gilt das gesprochene Wort.
Liebe Zuhörer, schauen Sie
jetzt die Untertitel an.
Ja, könnte auch sein, dass das
vielleicht nicht so...
Ja.
Müssen wir jetzt ein paar exotische Wörter sagen, um das,
um deine Transkriptionen zu verwirren.
Ja.
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 nur erotisch
wäre, oder?
Dann machen wir jetzt eine kurze Schweigeminute
für...
Eine Schweigeminute für Whisper V3.
Wisst man auch mal,
genau, das Mikrofon hier.
Jetzt kommt Whisper zu Wort.
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 haben.
Wir können auch einfach die ganze Zeit schweigen in der nächsten Episode
und dann lassen wir bis bei den Texten...
Ja, das geht auch.
Und dann den Text wieder viel delizieren.
Ja, genau.
Mit unseren Stimmen.
Und das ein paar Mal im Kreis.
Und dann schauen wir mal, was rauskommt.
Ja.
Ja, ansonsten, genau, ich weiß nicht,
haben wir, genau, jetzt haben wir schon
eine ganze Weile über so Modelle und Dinge.
Der Rest der Infrastruktur
ist ja vielleicht auch ganz interessant.
Was so Web-Geschichten
zum Beispiel angeht.
Django, ja, natürlich. Ja, machen wir auch.
Nein, wir machen Django wirklich?
Ja.
Ja, wie gesagt, wir verwenden Django.
Das ist schon
seit 2013,
wann das halt gestartet ist.
Und was verwenden wir dann oft dabei?
Ja, so Frontend-mäßig.
Ein paar Sachen haben wir mit Vue gemacht.
Das ist ein Audio-Inspektor,
nenne ich das, oder Transcript-Editor,
der ist mit Vue gemacht.
Dann, prinzipiell,
verwenden wir 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 teilweise
für so kleine Charts.
Das hört sich genau nach dem an, was wir auch machen.
Ja, machen jetzt alle, gell?
Ja, machen irgendwie auch alle.
Wahrscheinlich gibt's einen Grund,
dafür, warum es so ist.
Ja, weil man sich halt nicht
die geholfenen 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 es gut?
Mögen ist übertrieben, aber es funktioniert seit 13 Jahren.
Aber mittlerweile gibt es auch modernere Tools, schätze ich mal.
Wir hoffen, dass Django das Native kann, aber ich weiß nicht, ob das mit dem Distributed da gut geht.
Ja, da kommt jetzt was, aber das kann nicht so viel wie Celery.
Wenn man 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 es ja schon einige Task-Queues.
Ja, auch mit Django.
Mit der Integration, aber Celery 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, oder?
Wenn man nicht hinguckt, dreht sich das immer so mit dem Lauf Richtung Fuß.
Ja, da braucht man doch noch eine Ausrede. Das ist die Kinderwahn oder jemand anders.
Genau.
Und dann war man es doch selber. Vielleicht, das kann schon sein.
Ja, vor allem.
Weil eigentlich musste man ja klicken in deiner DAW.
Oder es riecht bei einer DAW, ich weiß nicht.
Ja, das hat gar nichts mit dem Mischpult zu tun.
Na ja, egal.
Na, Task-Queues sind kompliziert.
Ja, 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 Audioabstellungen.
Die haben so ein, das nennt sich so ein NVIDIA Triton, das ist so 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-Rahmen, weil das Laden an sich von so ein paar Gigabyte-Models
dann schon mal ziemlich lang dauert.
Deswegen gibt es eben zum Beispiel das NVIDIA Triton, der versucht, das eben 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 das von den GPU-Servern eben wieder Druck zur Celery-Task-Queue 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, zum anderen geschickt.
Dann, was gibt es noch, dann eben so ein Verteil-Task, der das auf verschiedene Server dann schickt,
also Netzwerk-Tasks oder auf YouTube oder was auch immer.
Und so sickert 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 Audio-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,
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 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.
Ja.
Ist dann manchmal so ein bisschen schwierig, wenn man es testen will.
Und manchmal hat man so komische Probleme, wenn das an einer unerwarteten 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-Tests ganz einfach.
Das Gesamtsystem ist wieder ein bisschen komplexer zum Testen, ja.
Ja.
Ich hatte immer das Hauptproblem, was ich mal hatte,
das war irgendwie aufzuräumen, wenn da irgendwas kaputt gegangen ist.
Dass da irgendwelche Geister-Tasks irgendwann 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 da war das im Ganzen echt so ein Ding, das ist irgendwie 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.
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,
wie das Fail-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, das ist immer ein Abspiel.
Es gibt viele Ebenen inzwischen.
Ganz unten hast du Async, dann hast du Threads,
dann hast du Multiprocessing und oben drüber.
Ja, wir verwenden es gar nicht Async,
wir verwenden das wirklich Multiprocessing.
Also du kannst das Sellerie mit Multiprocessing auch verwenden.
Ja, 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.
Und ich habe da eigentlich ganz gute Erfahrungen gemacht.
Aber es hängt auch von der Systemart ab.
Und es hängt auch davon ab, wie man die Bauteile benutzt.
Die Bauteile an sich sind ja sehr, sehr stabil.
Wenn man jetzt ein Redis oder ein, was weiß ich, was ihr verwendet,
RabbitMQ oder ZeroMQ oder was auch immer.
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, 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,
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 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 Aufforderung ü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 eine gewisse Anzahl an Varianten anbieten
und irgendwann ist halt einmal Schluss.
Dann muss man 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 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.
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 das?
Warst du noch nicht live im Einsatz eigentlich?
Warst du live im Einsatz?
Also jetzt beispielsweise auch von mir als Plugin in meiner DAW irgendwie.
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,
zum Beispiel denoising oder solche Sachen.
Oder Filtering natürlich.
Aber, ja, alles können wir auch nicht machen.
Das Problem ist eigentlich,
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, 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 eben 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 schwieriger.
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 sich das so ein bisschen eingependelt haben.
Dann wird da mehr Hardware dafür verfügbar sein auf normalen Stand rechnen.
Dann wird sicher irgendwann wieder die Welt,
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 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.
Man könnte ja auf dem Handy das auch irgendwie...
Podcast-Modus.
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 von Nose-Canceling auch wieder, ne?
Wenn du es halt dann einfach umdrehst.
Ja, Hörgeräte.
Ich meine, die sind voll in dieser Entwicklung dabei.
Ja, Hörgeräte sind genau daraus.
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 Effizienz-Tuning
für eine bestimmte Plattform.
Und dann im Endeffekt für den Chip,
was halt der in seinem Hörgerät hat.
Und natürlich Akku schonen 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 weiterzuentwickeln.
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 Exploration versus Exploitation.
Und momentan sind wir im Exploration-Modus,
wo wir versuchen rauszufinden,
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, wie gesagt,
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 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 da dran arbeiten
und auch viele Profis gibt,
die da dran arbeiten.
Ich habe selbst,
mein Cousin hat eine Konzertagentur,
also die machten da auch ganz viel im Live-Bereich
und im Analog-Bereich, sage ich mal.
Und ich habe,
ich habe da überhaupt keine Ahnung.
Ich 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 so 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,
wie,
was,
würdest du denn denken,
sind die interessanten Entwicklungen
in diesem ganzen Audio-Bereich,
in welche Richtung könntest du da gehen?
Oder gibt es irgendwelche,
wird es 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.
Ja.
Eleven Labs und so weiter.
Oh ja.
Also,
funktioniert ja 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,
so Stem Separation Musikmodelle,
also,
wo man verschiedene Instrumente
von einem Mix extrahiert.
Funktioniert meistens auch nur gut,
wenn man,
wenn man so vier Instrumente extrahiert,
oder vielleicht ein bisschen mehr,
also Bass,
Schlagzeug,
Gesang,
Klavier oder Gitarre halt.
Das sind die klassischen,
klassischen Setups.
Dann auch,
gibt es noch sehr wenig
in der Richtung von Musik Restoration
oder Musikaufbereitung.
Ich meine,
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 Afonik 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 es 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 Noten erzeugen.
Genau.
Macht ja nicht einer,
der ursprünglich
Entwickler von Django.
Der Jacob.
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.
Ja.
Ich glaube nicht.
Ich glaube, das ist nur OCR.
Ah, okay.
Ja, dann habe ich es nur so quer gelesen,
aber ich glaube,
es ist hauptsächlich OCR.
Also ihr habt es jetzt
wieder mal getestet,
weil,
ich glaube,
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
Techniken gibt.
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.
Dann kann das
Jochen,
kann das sein?
Ja.
Der Schwergewichtige ist nur,
was du da gesagt hast.
Was du gerade gesagt hast.
Und Noten mit Aufnahmen dazu
sollte es eigentlich auch geben.
Sollte es auch eine Menge geben, ja.
Aber ja.
Ja.
Insofern.
Ja.
Spannend.
Kann der 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 uns das diesmal.
Wir sind eh schon spät.
Genau.
Ach doch, nee,
ich mache noch ganz kurz.
Ich habe gesehen,
es gibt das Update von,
von,
ähm,
Django,
äh,
irgendwie,
Boost Your Django Developer Experience
von Adam Johnson.
Die E-Mail habe ich auch gekriegt.
Ja, ja, genau.
Und jetzt,
wenn man sich,
äh,
quasi da denkt,
äh,
irgendwie,
haben wir vielleicht mal
eine kurze Zeit nochmal,
das lohnt sich,
weil da ist doch einiges
dazugekommen.
Also es war ein großes Update.
Da ist jetzt auch so viel
Debugging drin und so.
Und, ähm,
ja,
das Buch fand ich,
ja,
hilft auch.
Und der verkauft auch gerade,
der macht gerade,
gibt es das Sonderangebot noch,
wo er irgendwie drei
solche Pakete zusammen hat?
Ja.
Stand in dieser E-Mail drin.
Keine Ahnung,
aber wenn man die Episode
im halben Jahr hört,
dann ist es wahrscheinlich nicht mehr.
Ja, gut.
Wenn,
wenn es das noch,
das jetzt 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.
Ja,
vielen Dank Georg
für deine Einblicke
in Auphonic.
Ja,
war großartig.
Vielen Dank, Georg.
Vielen Dank für die Einladung, ja.
Alles klar.
Bleibt uns gewogen.
Hallo at peisenpodcast.de
für alles Feedback
und kommt,
zu unserem Treffen.
Ja,
wo wir noch ein bisschen rausfinden,
wann und wo wir das machen,
aber das machen wir dann.
Nein,
es bleibt hier bei uns im Rheinland.
Tut mir leid,
die wollen uns anreisen.
Eine gute Gelegenheit,
deine alte Heimat kennenzulernen.
Aufruf an alle Hörer,
jetzt sofort abstimmen für Stuttgart.
Ja,
ihr könnt eine Mitfahrgelegenheit
und eine Fahrgemeinschaft
für den Gras anbieten.
Ja,
okay.
Dann kommen wir auch direkt
an die Adria.
Na gut,
viel Spaß,
hört uns,
bis bald.
Tschüss.
Ciao.
Tschüss.