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 zu Wort kommen.
Vielleicht fangen wir mit unserer klassischen Struktur an.
Wir haben ja immer besonders viel Struktur im Podcast,
habe ich gehört, Jochen.
Ja?
Ja.
Okay.
Vielleicht als erstes News,
für alle, die es noch nicht mitbekommen haben,
wir planen ein HörerInnen-Treffen.
Ja, wir hatten ja letztes Mal da aufgerufen,
sich zu melden.
In der Region Rheinland.
Es haben sich tatsächlich einige Leute schon gemeldet.
Genau, wir haben gesagt,
ihr solltet uns auf jeden Fall immer noch eine Mail schreiben,
damit wir das dann ordentlich zählen können.
Und genau 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 auch immer wieder.
Also wer Lust hat, sagt auf jeden Fall Bescheid.
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.
Auf LinkedIn hat einer gesagt,
er würde gerne das lieber in Stuttgart haben als in Düsseldorf.
Aber ansonsten, zum Beispiel auf Spotify
wollten vier Düsseldorf und
keiner Stuttgart.
Ja, und bei uns im Discord auch.
Ja, also
tut mir leid, du musst leider anreisen.
Aber wir müssen uns halt noch überlegen, wie wir das machen wollen
und wo.
Also ist jetzt aber letzte Chance
für die Süddeutschland-Hörer.
Ja okay, wenn man jetzt wirklich will, dass in Stuttgart stattfindet,
könnte man nochmal.
Ihr habt noch die Chance. Stimmen Sie jetzt ab.
Die Telefonleitungen sind geschaltet.
Die Spuren sind
scharf gestellt am Mischpult, mit dem wir
nie Probleme haben. Genau, das war es doch schon wieder,
dann bleibt uns gewogen, hallo at pythonpodcast.com.de
Haben wir Picks? Nein.
Wir wollten News machen, glaube ich, noch.
Okay, gut. Ich habe
ehrlich gesagt fast
gar nichts. Also es gibt
eine neue Rails-Version, die ein bisschen mehr
Deployment dazu kann, aber... 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? Ne.
Ich hab nix.
Dann lassen wir einfach den Georg sich selbst vorstellen
und ein bisschen was erzählen. Das finde ich eine tolle Idee.
Obwohl, wir könnten auch einmal noch kurz Werbung machen
für uns selber.
Das ist eine gute Idee.
Ja, ganz kurz.
Miet mich, miet mich, miet mich.
Jetzt hier.
Ja, wie war das?
Ja, man kann uns auch mieten.
Ich hab gehört, das muss man wiederholen.
Sonst merken sich die Leute das nicht.
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 war jetzt deine Überleitung, damit du den Georg vorstellen kannst.
Ja, gut, dann.
Okay, Entschuldigung, Georg, bitte.
Ja, ich bin der Georg, hallo.
Und ja, wenn man mich mieten will, ich bin aus Österreich an der slowenischen Grenze ganz im Süden, da in der Nähe von Graz.
Und warum bin ich da? Also wir haben so ein Projekt, Afonik nennen sie das, da geht es um Audio-Verbesserung.
Vielleicht noch einmal ganz kurz einhaken darf, Afonik habt ihr auf jeden Fall schon mal gehört. Also zumindest, wenn ihr unseren Podcast schon mal gehört habt, habt ihr auf jeden Fall Afonik gehört, weil wir von Anfang an alle unsere Episoden durch Afonik jagen.
Aha, so gehört, nicht schlecht.
Ja, zuerst mal zu mir.
Also ich habe bei uns da in Graz Toningenieur studiert.
Das ist eine interessante Studie,
weil 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 Afonik gekommen,
wo es eben um die Verbesserung von Audi gegangen ist und was am Anfang auch noch ganz wichtig war,
das heißt 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 Python-Podcast, wenn Sie einige fragen?
Also bei uns ist ja fast alles mit Python gemacht,
weil allein schon von der ganzen Algorithmen-Seite ist das alles mit Python,
das immer, wo das immer schafft, Byton,
das ganze Websystem haben wir auch mit Byton 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.
Ja, das klingt auch gut.
genau, ich weiß nicht, wie kommt denn dann,
also ich habe immer schon, also ich höre ja,
ich habe schon ganz lange immer Podcasts gehört und
gefühlt war so Aufhonig
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 Podcast funktioniert
vielleicht, ja.
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, 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
verwendet habt zumindest
für irgendwie
diese ganzen Anpassungen?
Ja, also wir
ganz am Anfang
so viel mit NumPy, Scikit-Learn,
SciPy, also diese ganzen
Signalfarbedrucks
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 ist das von bald das zwölfte Jahr.
Schon ein bisschen was sehr Gutes dort.
Ja, 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 Signalverarbeitungsbereich
und Scikit-Learn
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
haben können, so,
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 Signalverarbeitung
Algorithmen waren, die halt irgendwie
abgelaufen sind und man hat ein paar Rahmen
da dann eingestellt und
im Prinzip war das immer noch sehr schwer
zu bedienen, wie man es am Mischpult sieht
und
das Ganze
haben wir versucht eigentlich einmal zu
automatisieren, das heißt wir haben halt
nicht nur diese DSP Algorithmen gehabt
die man aufs Audio irgendwie anwendet, sondern
versucht mit Klassifikatoren
gewisse Sachen im Audio zu erkennen, also
wo zum Beispiel verschiedene Sprecher sind
oder wo Musikteile sind, wo jetzt nur
nur Rauschteile sind oder
eben nur Hintergrundgeräusche
oder Hintergrundmusik, Vordergrundmusik
und lauter solche Sachen. Und mit
diesen
Ergebnissen, die wir eben von den
Klassifikatoren dann bekommen haben,
dafür haben wir zum Beispiel
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
der ganzen DSP-Algorithmen automatisch
gesetzt, also zum Beispiel
wenn man einen D-Noiser
hat, haben wir das Auto mal segmentiert
in verschiedene Abschnitte, wo
verschiedene Noise-Profile sind, also
zum Beispiel wären wir 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 Auto segmentiert
und dann in den einzelnen
Segmenten
haben wir geschaut, wo jetzt Sprecher sind,
oder Musikteile und in den stillen
Teilen, wo eben keiner spricht, also
wo nur der Noise-Floor sozusagen unten überbleibt.
Diese haben wir dann so zusammengestitcht und daraus Noise-Profile extrahiert
und diesen Noise dann quasi vom Gesamtsignal abgezogen
und wiederum entschieden, ob das überhaupt Sinn macht, dass man das macht
oder ob das nicht Musik ist und da wollen wir das vielleicht nicht abziehen.
Also die Grundidee ist halt, dass man so verschiedene Klassifikatoren hat
und mit denen dann die Algorithmen steuert.
Und für das hat das ganz gut funktioniert, 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 irgendwie...
Übernommen, also die haben wir natürlich schon selber entwickelt,
aber vom Prinzip her ähnlich natürlich.
Also man hat halt bestimmte Filter oder Kompressoren, Limiter
und was gibt es noch
alles in der FFT-basierten Prozesse
so wie dieses Denoising zum Beispiel
und
auf diese Weise
steuert man dann diese
klassischen DSP-Algorithmen quasi.
Ja,
aber genau gibt es da nicht
irgendwie, wenn man jetzt zum Beispiel
das ist ja auch ein spezieller Anwendungsfall
eigentlich, dass man halt
so ein fertiges Audio hat, was man dann
post-processen will,
kann man da nicht auch noch irgendwie
vielleicht irgendwie
Informationen, mehr
Informationen verwerten, wenn man halt das ganze
Audio, weil normalerweise diese
Audio Workstations sind ja immer mehr so drauf ausgelegt,
dass man halt irgendwie einen Mix
so live erzeugt und
da hat man ja gar nicht so
viel Informationen.
Das ist eben das,
der Unterschied
von unserem System gewesen zu den
anderen Sachen oder zu den meisten anderen Sachen.
Also, dass eben
das ganze Konzept, wie es im
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
den muss er jetzt auch so schnell wie möglich
prozessieren und dann spuckt er ihn wieder aus,
weil das System ja auf Realtime
ausgelegt ist und
es hat zumindest damals
sehr wenig Programme gegeben, die
jetzt ja wirklich so
Offline-Audio-Berechnung gemacht
haben und
das war damals eben der
Levelator, den es da gegeben hat, das war auch so
ein Programm, das einfach die Levels
quasi gleich geregelt hat von
Aufnahmen,
nämlich Brute Force, also
der hat nicht geschaut, ob da irgendwie Musik ist, das hat er
vollkommen zerstört, aber halt einfach versucht, alles
irgendwie gleich laut zu machen
und
dieses Programm hat mich damals ein bisschen
fasziniert, weil ich doch aus der Audio
Bubble sozusagen gekommen bin und das haben mir
die Podcaster damals gezeigt und
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.
Weil es da 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 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 mal hindistributiert.
Also auf YouTube und auf Soundcloud wird auch immer so 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 ich versuche es so ein bisschen
einfach darzustellen, 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 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,
wäre alles ziemlich
eine Wurst. Eine Wurst
in dem Sinn, dass alles gleich laut ist und
dann nicht mehr gut klingt. Das heißt, bei Musik
muss man das natürlich wiederum anders machen, deswegen
muss man das vorher klassifizieren, dann hat man wieder
irgendwelche anderen Geräusche, die jetzt weder Musik
noch Sprache sind, die wird man wahrscheinlich
nicht raufregeln wollen.
Also das kennt man von
so alten Automatic Gain Control
Algorithmen bei diversen
Recording-Systemen, wenn man das
einstellt und dann stehen lässt und dann mal der Zeit lang
nichts sagt, dann wird auf einmal der Noise-Begel
komplett hochgezogen vom Hintergrund
und dann fängt wieder irgendwer zum Sprechen
an, dann regelt der
Begel wieder runter und dann ist der Noise wieder
unten und die Sprache kommt wieder.
Also genau solche Pumping-
Artefakte, dass irgendwas hochgezogen
wird, was man nicht will, will man
natürlich nicht haben und das
kann man natürlich viel besser machen, wenn man
das ganze Pfeil vorher klassifiziert, wo
welche Events
passieren, die relevant sind für diesen
Algorithmus jetzt und dann
weiß man schon, das ist da und das ist da und dann
kann man diese
Nachregelung natürlich
ein bisschen besser machen, ganz einfach.
Ich hoffe, das war jetzt deine Frage.
Ja, ich versuche mir noch vorzustellen,
wie das genau aussieht. Also wenn du
sagst, 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 das auch vor allem nicht eher schon immer irgendwie Sprache,
reine Sprache gewesen?
Ja, aber du musst ja mit der Musik auch irgendwas machen.
Ja, man muss auch damit irgendwie klarkommen, ne, ja.
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 zumindest bis jetzt nicht, vielleicht machen wir das in Zukunft nochmal, weil wir gehen natürlich davon aus, meistens hat man so einen Einspieler oder sonst irgendwas, das ist schon vorproduziert, das ist künstlerisch meistens so gewollt und da will man jetzt nicht großartig was ändern dabei, außer vielleicht ein bisschen Neues weglöschen oder eben die Pegel anpassen, dass sie zum Rest passen.
Was wir natürlich auch sehr oft an so Musikmixes machen, da macht es schon Sinn.
Also wenn man jetzt ein Stück hat, das sehr laut ist und sehr leise, das passt
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, mit von
NumPy, SciPy und
CKitLearn und so weiter,
sind immer
weitere Algorithmen gekommen. Also ich habe zum Beispiel
meine Blumenarbeit damals
auch schon mit so neuronalen Netzen gemacht.
Das war 2007 oder
2008. Da war das noch ganz
am Anfang, vor allem im Audi-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.
Wenn wir jetzt schon in beiden Podcasts sind,
können wir von den Tools ein bisschen reden.
Zuerst war das Dancerflow
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.
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 nochmal den Beispiel mit denoising, also Störgeräusche weglöschen.
Dazu braucht man natürlich ganz viele Audiosprachfiles,
wenn wir jetzt nur Sprache betrachten, braucht man ganz viele Sprachfiles,
gut klingen, also ganz viele
Sprecher, verschiedene Sprachen,
verschiedene Geschlechter natürlich, verschiedene
Ausdrucksweisen, verschiedene
Sprachstile, emotionale Sprache,
Fadesprache, was auch immer
man sich flüstern,
was auch immer man sich denken kann, also alles mögliche,
was es dazu gibt. Das natürlich
in einer guten Qualität, ohne verrauschen.
Dann braucht man natürlich ganz
große Datensätze von
verschiedenen Neustarten,
also statisches Rauschen, dann ein Auto,
das hinten vorbeifährt oder
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 streichen,
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
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 Modeln
gibt es ja noch
so Transformationen, also
das Audio wird nicht nur durch
zumischen von Neu schlechter gemacht, sondern
man kann auch noch alles mögliche andere machen.
Man kann Filter-
Artefakte draufrechnen, die das Netzwerk
dann wegrechnen soll
oder das Audio klicken zum Beispiel
und das versucht es wieder wegzurechnen
oder irgendwelche Kompressoren
am Target oder am Input drauflegen.
Also alles, was man früher so
eigentlich an Signalbearbeitungsalgorithmen
gehabt hat und
direkt 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 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 wenn
ja 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
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
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 mache. Das ist glaube ich
das, was Georg versucht, diese Folge. Genau
das. Aber da lernst du doch
nur einen Filter, oder?
Genau, im Prinzip
gibt es genauso Datensätze von
du meinst jetzt zum Beispiel Impuls-Responses,
also Impuls-Antworten von Räumen
zum Beispiel,
wo eben, keine Ahnung,
100.000 Impuls-Responses
von verschiedenen Geometrien
von Räumen, das heißt in dem Fall
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 weggeregnet 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 nicht-linearen Verzerrungen ganz einfach simulieren.
Zusätzlich hast du noch Rauschen dabei, also man kann da noch ein neues dazu mischen.
Und mit diesen ganzen Dingen, dann hast du vielleicht noch spektrale Effekte drinnen,
also man kann noch so EQ-Dinger auf deinen Input drauflegen.
und wenn man diese ganzen Effekte
zusammen mischt, dann
kommt halt irgendein schlechtes
Audio sozusagen raus, das man dann
verwenden kann.
Ja, und das kann man natürlich dann
deutlich flexibler machen, als wenn man das jetzt
irgendwie tatsächlich physisch irgendwie machen müsste.
Man braucht ja auch viele Daten
irgendwie wahrscheinlich.
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 tausend. Also es kommt drauf an, wie gut das soll 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 Podcast-Archiv aus 150 Stunden Audio kommt nicht weit.
Naja, bei allem, wenn du jetzt ein Podcast-Archiv hast, das ist halt sehr einseitig, also du bist 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 ja auch erst wieder an, dass du Rauschen dabei hast.
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
neu ist 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 immer gehabt haben, also
wenn man natürlich schon mal Daten
gehabt hat, mit denen man
ein Model trainiert hat,
und der will mir dann danach noch einmal
den Neues 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
den 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 DSP-Welt,
Machine Learning-Welt gekommen sind,
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 Model machen, das jetzt alle diese Transformationen und was auch immer drinnen hat und da kommt dann irgendwas raus und mit dem kann man dann leben oder nicht, aber oft will man halt auch mehr Kontrolle haben, was genau man mit dem Audio machen will.
Man will zum Beispiel nur gewisse Störgeräusche rausrechnen oder man will Musik auch rausrechnen oder Atme wegrechnen oder gewisse Sachen wegschneiden oder Lautstärken labeln, Lautstärken nicht labeln, Filtering anwenden oder nicht.
Also insofern ist unser Weg, dass wir verschiedene Stem-Models haben, die wir dann kombinieren.
Also zum Beispiel haben wir so ein Model, 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 Audi weglöschen können oder überlassen können,
damit man dann die so kombinieren kann, um noch ein bisschen Kontrolle darüber zu haben,
Um auch verschiedene Use Cases, was ist das zum Beispiel, also in einem Radio Play, also in einem Hörspiel im Radio will man natürlich alle möglichen 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.
Das kann man auch rauslöschen oder Pausen rauslöschen, wenn man es ganz extrem machen will.
Insofern.
Also es ist quasi sehr kontextabhängig,
also sehr auch davon abhängig,
also man kann nicht ein Modell für alle
Sachen verwenden oder das Modell
muss er halt selber erkennen, was jetzt,
eigentlich müsste man ihm das ja sagen, das kann er jetzt ja gar nicht
wissen, ob der jetzt das
oder schwierig wahrscheinlich,
ob das ab und zu erwünscht ist oder nicht.
Ja, klar.
Ja, das
Multitrack-Interface,
ich meine, das ist ja auch schön,
dass das alles geht, genau, aber ja,
es ist nicht so ganz einfach einzustellen, das stimmt.
Ja, Multitrack ist nochmal besonders
komplex, vor allem vom Interface, weil
für jede Track kannst du alle
Settings halt einstellen und dann
wird das halt natürlich gleich einmal viel.
Ja.
Ja, gar nicht so einfach.
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 ihr da macht.
Und
als Außenstehender, also ich als,
sag ich mal, Feldwald 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.
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 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 Afonik überhaupt.
Weil Audio-Technik einfach vor 10, 15 Jahren sehr kryptisch war.
Das ist ja heute schon total anders.
Früher hast du echt wissen müssen, 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 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, ja, da sitzt einer hier an seinem Mischpult und dann dreht er an irgendwelchen Reglern und es passiert eigentlich gar nichts. So, erster Eindruck, aber dann am Ende hört es sich doch irgendwie wesentlich besser an, als es sich vorher angehört hat. Und diese Intransparenz ist so für mich als Benutzer, ja, ich zähle mich 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.
Und ich habe einmal so eine Erfahrung gemacht, da haben wir bei einem ehemaligen Arbeitgeber, wir haben ein Marketingvideo gedreht, das war ein großer Spaß für einen Programmiertwettbewerb und der war auch so ein Audio-Fan, der hatte sich selber in seinem Wohnzimmer ein kleines Studio reingebaut, auch mit so Schallschutzwänden und so Zeugs und dann hat er da 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 meinst du jetzt, wenn du das Audio 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 zehn 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.
Ja, das ist natürlich so. Aber ich meine, die ganz alten Sachen waren ja alle für Radio und auch da hat es sich sehr gut angehört. Also besser als ohne.
Ja, wobei ich glaube, das muss man auch so ein bisschen lernen.
Also ich habe jedenfalls irgendwie zum Beispiel bei den ersten Podcast-Episoden jetzt hier,
dachte ich, ach, das klingt ja eigentlich ganz gut.
Und wenn ich mir die heute anhöre, denke ich mir so, ah, das klingt aber eigentlich ganz schön schlecht.
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, das wir ever hatten.
Matrix.
Aber es ist auch ein gewisserweise gebührender Einstieg, dass man dann schon mal so nicht denkt, dass es zu einfach wäre.
Ich finde es auch sehr schön, Georg, dass du gleich als Profi gesagt hast, wisst ihr was, diese ganze Audio-Technik, alles weg.
einfach nur ein Mikrofon, ein Kabel.
Sehr sicher.
Aber nochmal zu deinem Punkt mit
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
jetzt einem bestimmten Radiosound
vielleicht gewohnt, was deine Radiosender
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 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
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.
Manche haben so diese richtige
Radiostimme, wo alles
total eng ist, sehr
basslastig und
tot komprimiert, also wie man es
auf dem Radio hört. Das andere
wieder andere Sender, wie zum Beispiel BBC oder was auch immer, viel offener, freier,
also ohne sehr wenig Komprimierung, nicht so dieser Nahbesprechungseffekt,
wo du so überhöhte, tiefe Frequenzen hast, wo es einfach viel normaler klingt. Also das
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, 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, das ist auch bei Audio so.
Und insbesondere
halt bei dem, was du sagtest, wie du diesen
Signal bearbeitest, was halt der
Tontechniker, der, also ich weiß nicht, ist,
kann man das so sagen, ist Harphonik ein virtuelles
Tontechnik-Instrument.
Ist das so?
Virtueller Tontechniker, ja.
Und ja, was er dann tut,
was er da machen kann, um
ähm,
ich will jetzt wieder in der Bildsprache bleiben, den Pinsel
zu führen, ja, also tatsächlich diesen
Ton zu skypen und
ja, also klar, gibt's da
vielleicht verschiedene Meinungen oder ich weiß nicht, ob du
sowas hast wie Presets, die du
sagen kannst, Afonik, 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 wieder der falsche Begriff, ja,
Aber sich das so vorstellen zu können, wie man einen Klang überhaupt schafft, das ist irgendwie 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, 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 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
gut. Ich weiß gar nicht, ob man
tatsächlich so viel an
Mastering
kann man
damit tatsächlich prägen.
Ich bin jetzt ja
totaler Amateur, was Musik auch angeht
und so, aber wenn ich jetzt mit einem Kumpel
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
einen Ducking hinzukriegen, das ist ja schon
eher so Basics, ja, aber
ich kann mir das überhaupt nicht vorstellen
mit Sprache, weil ich damit überhaupt gar keine Erfahrung habe,
ja, mit Podcast oder sowas, also
wir machen jetzt Vereine, aber als Hontechniker
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
Und wenn ich jetzt weiß, okay, ich möchte das Audio-Klangbild 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?
Die ausleveln.
Ja, das ist ja, der Envelope ist ja...
Im Endeffekt ist alles
Frequenzen und Lautstärkung, mehr gibt's ja nicht.
Ja, genau, aber ja.
Ja, gut, aber...
Wie man diese Regeln...
Ja, aber...
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 mal 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...
Nee, er möchte wissen, welche Knöpfe mehr er drehen muss um den Radio-Style.
Um mehr so...
Ja, also ich würde tatsächlich, also ich würde gerne,
wenn ich jetzt so ein perfektes Tonstudio-Ding mir vorstelle,
wo es diese ganzen einzelnen Regelungen gibt,
ja, dann möchte ich gerne wissen, welche Regelungen ich denn überhaupt...
Ja, aber das ist jetzt halt neuronales Netz.
einer Milliarde Knöpfe, die du drehen kannst.
Die kannst du gar nicht mehr selber drehen,
da musst du das 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 ich
die Spur nicht drehe. Habt ihr euch selber neuronale
Netze trainiert, Georg?
Wie meinst du, ob wir unsere
Netze selber trainieren? Ja.
Ja, sicher. Wir benutzen irgendwas
Vorgefertigtes und... Nein, nein, bei uns
ist alles selber
gemacht. Alles selber gemacht?
Ja, also alles natürlich nicht, aber
die Algorithmen, so muss man sagen.
SciPy 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 auf was
fällt 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.
Das ist nicht so riesige Models wie
irgendeine Sprachmodelle,
aber doch schon ein bisschen was.
Und
ja, die Herausforderung ist natürlich auch, wie man
wie man die alle trainiert, weil es natürlich viel
Rechenleistung braucht. Insofern, wir bauen uns halt hauptsächlich
unsere eigenen Trainingsserver 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 noch irgendwie aushaltet oder
sonst wo die entsprechende
Entkü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
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 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 habe mir gedacht, wie kriegt ihr das hin?
Naja, also ich meine, du redest jetzt natürlich nicht vom Training, sondern von der Influenz, also das, was deine Anwendung ist.
Ja, aber trotzdem.
Ja, trotzdem. Es gibt halt mittlerweile gute GPUs, um das kurz zu fassen.
Okay, ihr habt 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 auf CPUs sind sie 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 dann einfach viel mehr Rechenleistung.
die Inferance ist jetzt eh okay
also es gibt
die Standardanbieter 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?
Für dein Modelltrainieren-Training? Ist es einfach den einen?
Kostet er 200 Euro oder was? Fürs Trainieren
haben wir nichts bei Hetzner, das wäre zu teuer
für die
Inferance oder so
da haben wir
keine Ahnung
zwischen 10 und 20 herum
Ja, ist schon eine ganz schön ordentliche Operation, was ihr da betreibt. 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 da Teilen, 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 es halt auch.
Das ist dann der Punkt im Endeffekt.
Das war halt
früher schon viel günstiger.
Da haben wir das nur auf CPUs
sozusagen laufen gehabt.
Hat natürlich auch ähnlich lange
gedauert, weil die Algorithmen
halt auch für damalige Verhältnisse
relativ aufwendig waren.
Aber war halt um einiges günstiger.
Ja, das ist so ein bisschen die Kehrseite, oder, von dieser ganzen neuronale Netze-Geschichte. Auf der einen Seite muss man wesentlich weniger manuelle Arbeit reinstecken, wobei das vielleicht auch gar nicht stimmt. Aber 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 Dinge gemacht. Wir waren ja beide auf der Subscribe 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.
weiß ich nicht genau, ob ich das wirklich machen will
und dann meinten aber
alle anderen, achso, ja, das haben wir,
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
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 Sprint hast du da so ein paar Sachen
gezeigt. Ja, auf den Apps. Genau, hast du ja.
CLI-Interface, du hast sogar einen Blog-Eintrag dazu
geschrieben. Ja. Und, äh, ja.
Und man kann es in der CLI benutzen,
um Transkripte zu machen für Audio. Genau,
aber das, das, das, das, äh, wo ich,
weswegen ich das jetzt, äh, gerade erwähnt habe, ist,
ähm, äh,
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 keinen Spaß.
Äh, aber es gibt da einen,
einen Dienst, äh, 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
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 da halt so in
einer Minute ungefähr durch und ist fertig.
Und das hat mich schon so
krass, also
das ging schon ganz gut. Naja, es gibt ja jetzt diese
schnellere Whisper-Model, das Whisper Turbo.
Ja, genau, das habe ich auch
probiert, das geht schon ganz gut,
aber
bei Grog, die machen
wohl wirklich das große
Whisper V3 Large.
Wir haben ja auch das V3.
Ja, das haben wir
auf den GPUs
ganz 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, ich weiß
jetzt nicht mehr welche Version, aber
auf irgendeiner Version ist dann auf einmal
immer Auphonic richtig erkannt
Ja, auch
Weil wir haben immer so ein Test-File
und Auphonic war zuerst immer
falsch und dann auf einmal hat es funktioniert
Da werden sich wohl die Daten geändert haben
Ja, ich meine, ihr seid einfach so bekannt, dass ihr jetzt in den Referenzdaten vorkommt.
Ja, genau.
Ich finde das auch total komisch, dass man dem Street-to-Text-Model, dem kann man ja dann auch ein Prompt geben, dass man dem sagen kann, was es tun soll und wie Leute heißen und das funktioniert dann plötzlich.
Das fand ich auch sehr eigenartig.
Ich weiß jetzt auch noch nicht, dass man das wirklich einstellen kann, aber ich verwende jetzt immer das gleiche Prompt oder muss es halt umkonfigurieren.
Aber das geht ja auch und das ist auch ganz eigenartig.
Also, ja,
das ist irgendwie anders als früher.
Ja, das hat beim Whisper leider
Seiteneffekte, also
der, sagen wir mal so,
das fördert Halluzinationen.
Ja, das kann natürlich sein, ja.
Deswegen verwenden wir
die Prompte im Moment eigentlich nicht.
Ah, okay, ja.
Ja, ich habe mir auch die Transkripte nicht so komplett
durchgelesen, da haben wir nur so Stichproben.
Wer weiß, was da jetzt so komische Sachen sind.
auf einmal für Dinge erzählen.
Musst du auf die Podcast-Seite noch schreiben, es gilt das
gesprochene Wort.
Liebe Zuhörer, schauen Sie
jetzt die Untertitel an.
Ja, könnte so 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.
Dann machen wir jetzt eine kurze Schweigeminute für
eine Schweigeminute
für Whisper V3.
Wisst ihr 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.
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
gehört haben. Wir können auch einfach
die ganze Zeit schweigen in der nächsten Episode und dann lassen
wir es bei den Texten.
Ja, das geht auch.
Und dann den Text wieder für den Delizieren.
Mit unseren Stimmen.
Und das ein paar Mal im Kreis und dann schauen wir mal,
was rauskommt.
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, also
was so Webgeschichten
zum Beispiel angeht. Django? 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, oder wann das halt
gestartet ist.
Und was verwenden wir dann
noch dabei, ja so Frontend-mäßig, ein paar Sachen haben wir mit Vue gemacht, das ist ein Audio-Inspektor nennen wir das,
also Transcript-Editor, der ist mit Vue gemacht, dann prinzipiell fängt man so HTMX und solche Sachen mittlerweile
für so einfachere Interface-Elemente, also für alles, was jetzt nicht der Audio-Editor ist und am Frontend verwenden wir
noch Tailwind, CSS.
Was gibt's noch?
Ja, Alpine
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.
Aber es gibt auch einen Grund dafür, warum es so ist.
Ja, weil man sich halt
nicht die geholfenen Frameworks einhandeln will, gell?
Ja, natürlich.
Gut, was gibt's noch
zum Erzählen? Dann
Backend-mäßig verwenden wir eben
Das ist eine Task Queue, die diese ganzen Audit Processing und Encoding Tasks verteilt.
Dafür verwenden wir Celery und das Celery läuft dann 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.
Genau, wenn man halt wirklich
da Last hat und da Dinge, viele Dinge
macht, dann ist es wahrscheinlich, wenn
für einen Celery funktioniert, dann sollte man das wahrscheinlich so lassen.
Aber ich glaube
auch, dass es, 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
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ß
und
Ja, da braucht man doch noch eine Ausrede,
dass es die Kinder waren oder jemand anders.
Genau. Und dann war man es doch selber
vielleicht, das kann schon sein.
Ja, vor allem, weil das, eigentlich musste man ja klicken
in deiner DAW,
oder es riecht bei einer DAW, ich weiß nicht.
Ja, und das hat
gar nichts mit dem Meshwall zu tun.
Naja, egal.
Das sind kompliziert, ja, wir haben dann auch verschiedene
Dasks, das macht es mal komplizierter, also
einerseits diese ganzen CPU-Server,
die funktionieren eben
über Celery, dann haben wir eben noch
GPU-Server, die funktionieren
dann wiederum, die werden dann wiederum von den
CPU-Servern angesprochen,
mit den ganzen Audio
Abschnitten.
Und wie macht ihr das?
Die haben so, das nennt sich so ein NVIDIA Triton,
das ist ein NVIDIA System, wo man
eben so Models hosten kann am GPU,
der verteilt das relativ effizient
im Speicher, weil
der hat wiederum eine eigene
Task Queue integriert,
wie so kleine GPU Jobs verteilt
werden, weil das Problem
bei den Models ist, dass
man kann jetzt nicht für jeden
Request das Model, oder es wäre nicht sehr
effizient, wenn man für jeden Request das Model
jetzt neu ladet in den Speicher,
also in den GPU-Ran, 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 es 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-View hinter der
ersten Task Queue und
dann kommt es von den GPU-Servern
wieder Druck zur Celery-Task Queue
auf den CPU-Servern und
dort gibt es dann, dort wird dann
verschiedene Files, also wenn das
Auto-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 Verteil-Tasks, der das
auf verschiedene Server dann schickt, also
Netzwerk-Tasks oder auf YouTube oder was auch immer
und so sichert das von
Task-to-Task dahin.
Im Celery und im NVIDIA
Triton. Und den Status
erfasst du irgendwie in einem Dango-Modell.
Genau.
Die Tasks rufen sich dann eben
so seriell auf.
Es gibt ja bei Celery
also Chord-Tasks, nennen sie das.
Wenn jetzt zum Beispiel
ein Audit-Processing fertig ist
und man will daraus fünf verschiedene
File-Formate erstellen, dann kann man so
einen Chord-Task machen. Der macht dann diese
fünf Pfeilformate 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
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.
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 Besten, ja.
Ich hatte immer das Hauptproblem, was ich mal hatte,
das war irgendwie aufzuräumen, wenn da irgendwas kaputt gegangen
ist und das irgendwelche Geistertastungen waren,
weil irgendjemand noch irgendwas geklickt hat
und dann nicht genau klar war, wo jetzt
welcher Tast in welchem Status hing oder so.
Ja, klar.
Und da war das ganze Ding
schwierig zu verstehen und dann
irgendwo noch so Reste drum hängen und
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 sind immer noch so viele
Ebenen inzwischen. Ganz unten hast du
Async, dann hast du Threads, dann hast du
Multiprocessing und oben drüber.
Wir verwenden es gar nicht Async, wir verwenden das wirklich
Multiprocessing. Also du kannst
Celery mit Multiprocessing auch verwenden.
Ja, klar. Das ist halt über
mehrere Rechner verteilt.
Das ist die nächsthöhere Ebene
von diesen ganzen
Parallel-Compute-Sachen.
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 und
oder was man lernen kann und
ich habe da
eigentlich ganz gute Erfahrungen gemacht.
Aber es hängt auch von der Systemart
ab, ja.
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, 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, 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 ist jetzt, 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 es 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 es haben will.
Aber
das kommt jetzt auch nicht so
extrem oft vor, muss ich sagen.
Also es ist schon eher eindeutig dann quasi,
wenn Leute, ja, okay.
Ja.
Und aus dem Feedback,
das ist für uns natürlich extrem wichtig, also
da lernen wir halt extrem viel, wenn wir
Fehler haben, dann führt man das wieder
zu den Trainingsdaten dazu und so weiter.
Können die Klassifikatoren wieder damit
trainieren.
Warum habt ihr das noch nicht live im Einsatz
eigentlich? Was live im Einsatz?
Also jetzt beispielsweise auch von euch 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 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 Web-Service 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 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 Standrechnern.
Dann wird sicher irgendwann wieder die Welle kommen,
wo diese ganzen Modelle dann auf den Personal Computer wieder überschwemmen oder überschwappen.
Aber im Moment ist es halt noch ein bisschen schwierig.
Ja, also was ich schon gerne hätte, wäre sozusagen in 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 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 für Nose-Canceling auch wieder, ne?
Wenn du es halt dann einfach umdrehst.
Ja, Hörgeräte, die sind voll in dieser
Entwicklung dabei.
Die machen eh das.
Da ist halt die Arbeit,
dass du die Modelle,
die es gibt, meistens so effizient
wie möglich hinkriegst.
Da geht es halt eher mehr um
Effizienz-Tuning für
eine bestimmte Plattform, dann im Endeffekt
für den Chip, was er 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 genau, ja.
Und wenn es dann aber 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 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 Analog-Bereich, sage ich mal.
Und 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 Queue 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,
dann vielleicht wie, was würdest
du denn denken, sind die interessanten Entwicklungen
in diesem ganzen Audiobereich,
in welche Richtung können es da gehen, oder
gibt es irgendwelche, wird es jetzt
erstmal noch eine Weile quasi
mehr Modelle
geben,
ja, ich weiß nicht genau,
oder wird das,
ja, wird das irgendwann
sowieso alles,
naja, das, ja, also,
ja, keine Ahnung, ich weiß gar nicht, welche Frage ich stellen
wollte. Nein, 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 gelernt, 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 anderes großes thema ist natürlich musik da gibt es relativ wenig im
moment also im moment stürzen sich alle auf die sprachanwendungen bei musik gibt es echt sehr
wenig was es gibt sind so stem separation musikmodelle also wo man verschiedene instrumente
von einem mix extrahiert funktioniert meistens auch nur gut wenn man so vier instrumente extrahiert
oder vielleicht ein bisschen mehr, also Bass, Schlagzeug, Gesang, Klavier oder Gitarre halt,
die klassischen Setups.
Dann auch gibt es noch sehr wenig in der Richtung von Musik-Restoration oder Musik-Aufbereitung,
es gibt so Online-Mastering-Services schon sehr lang, einige, die machen natürlich ein bisschen was in diese Richtung,
aber jetzt so spezialisiertere Sachen, also im Prinzip das, was wir 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.
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 da nicht einer der
ursprünglich
Entwickler von Django?
Nee, nee, der
Adrian Holowaty.
Ah, der Adrian.
Der macht OCR, glaube ich, für Noten.
Ja, OCR ist wieder ein anderes Thema.
Ist nochmal ein anderes Thema, aber möglicherweise
auch Noten aus Musik.
Das weiß ich aber gar nicht, ob sie das auch machen.
Ja, ich glaube nicht. Ich glaube, das ist
nur OCR.
Ich habe es nur so
quer gelesen, aber ich glaube, es ist hauptsächlich OCR.
Also ich habe das jetzt
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 es ja ähnliche
Techniken gibt. Packt der Jochen diesen Link in die
Shownotes? Ja. Ja, das macht er so wieder.
Ja.
Ja, ich meine,
genau, ich brauche
mir ja nur irgendwie
Eingabe, Ausgabe und ein bisschen GPU,
dann kannst du...
Ja, kann das sein.
Der Schwergewichtige ist nur, was du da gerade gesagt hast.
Und Noten mit Aufnahmen
dazu sollte es eigentlich auch geben.
Aber ja.
Insofern
kann wir 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 mach noch ganz kurz.
Ich hab gesehen, es gibt das Update von Django irgendwie.
Boost your Django Developer Experience von Adam Johnson.
Die E-Mail hab 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 da ist doch einiges dazugekommen.
Also es war ein großes Update.
Da ist jetzt auch so viel Debugging drin
und so und ja, das Buch
fand ich, ja.
Und er verkauft auch gerade, er macht gerade,
gibt es das Sonderangebot noch, wo er irgendwie
drei solche Pakete
zusammen hat? 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 es das noch, das ist 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 auf Phonica.
War großartig. Vielen Dank, Georg.
Vielen Dank für die Einladung.
Alles klar. Bleibt uns gewogen.
Hallo at peisenpodcast.de für alles Feedback und
kommt zu unserem Treffen. Ja, wo wir noch
ein bisschen rausfinden, wann und wo wir das machen, aber
das machen wir dann. Bleibt hier bei uns im Rheinland.
Tut mir leid, lieber Herr, du musst anreisen.
Eine gute Gelegenheit,
deine alte Heimat kennenzulernen.
Aufruf an alle Hörer,
jetzt sofort abstimmen für Stück.
Ja, ihr könnt eine Mitfahrgelegenheit
und eine Fahrgemeinschaft bilden.
Ich kann Gras anbieten.
Okay, dann kommen wir auch direkt an die Adria.
Na gut.
Viel Spaß, hört uns, bis bald.
Tschüss.