{"id":29480,"date":"2026-09-13T23:39:34","date_gmt":"2026-09-13T21:39:34","guid":{"rendered":"https:\/\/blog.mi.hdm-stuttgart.de\/?p=29480"},"modified":"2026-09-13T23:59:17","modified_gmt":"2026-09-13T21:59:17","slug":"ableton-live-audio-analyzer","status":"publish","type":"post","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/","title":{"rendered":"Ableton Live Audio Analyzer"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Von der DAW in die Cloud<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><em>Wie ich Ableton Live mit AWS Lambda verbunden habe<\/em><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wer elektronische Musik produziert, kennt das Problem: Man hat einen Loop, ein Sample, eine Audiospur \u2013 und w\u00fcrde gerne automatisiert wissen, welches Tempo sie hat, wie lange sie dauert, oder welches harmonische Profil sie besitzt. Statt das manuell zu bestimmen, habe ich mir ein kleines System gebaut, das diese Analyse f\u00fcr mich \u00fcbernimmt: eine Ableton Live Extension, die eine markierte Audioauswahl direkt an eine Cloud-Pipeline in AWS schickt und das Ergebnis wenige Sekunden sp\u00e4ter fertig aufbereitet zur\u00fcckliefert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dieser Beitrag beschreibt, wie das System aufgebaut ist, warum ich mich f\u00fcr eine asynchrone Architektur entschieden habe, und welche Stolpersteine auf dem Weg dahin lagen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Die Ausgangsidee<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ableton hat mit dem neuen Ableton Extensions SDK (aktuell in der Beta, f\u00fcr Live 12.4.5+ Suite) eine M\u00f6glichkeit geschaffen, Live per JavaScript\/TypeScript zu erweitern. Extensions laufen dabei nicht im normalen Node.js, sondern in einer bewusst stark eingeschr\u00e4nkten Laufzeitumgebung innerhalb von Live selbst \u2013 aus Sicherheits- und Stabilit\u00e4tsgr\u00fcnden ohne direkten Dateisystemzugriff und ohne viele Standard-Web-APIs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meine Idee: Ein Rechtsklick auf eine Audioauswahl in der Arrangement-Ansicht soll gen\u00fcgen, um den markierten Ausschnitt zu rendern, an einen Analyse-Dienst zu schicken und das Ergebnis \u2013 Tempo, Dauer, harmonisches Profil (Chroma) \u2013 direkt in Live angezeigt zu bekommen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr die eigentliche Audioanalyse fiel die Wahl auf librosa, die Standardbibliothek f\u00fcr Music Information Retrieval in Python. Da librosa nicht in der Node-Umgebung der Extension l\u00e4uft, brauchte es eine Br\u00fccke nach au\u00dfen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hinweis:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Es wird eine Ableton Live Suite Lizenz ben\u00f6tigt. Diese berechtigt dann auf Anfrage die Teilnahme am Ableton Live Beta Programm. Nach erfolgreicher Registrierung kann die Ableton Live Suite Beta sowie das zugeh\u00f6rige SDK heruntergeladen werden. Diese Beiden Komponenten sind die Grundvorraussetzung damit man dieses Projekt durchf\u00fchren kann.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Iteration 1: Ein lokaler FastAPI-Server<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der erste Baustein war unspektakul\u00e4r, aber notwendig: ein kleiner FastAPI-Server, der lokal auf dem Mac l\u00e4uft und HTTP-Anfragen von der Extension entgegennimmt. Direkt daraus ergab sich das erste technische Problem: Die Extension-Laufzeitumgebung kennt weder fetch noch FormData, Blob oder TextDecoder \u2013 alles Dinge, die man f\u00fcr einen simplen Datei-Upload eigentlich f\u00fcr selbstverst\u00e4ndlich h\u00e4lt. Die L\u00f6sung war, die komplette HTTP-Kommunikation inklusive des multipart\/form-data-Bodies f\u00fcr den Audio-Upload von Hand \u00fcber das Node-Core-Modul http und rohe Buffer-Objekte zu bauen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mit dem lokalen Server allein war die Rechenlast aber weiterhin auf dem eigenen Rechner. Der n\u00e4chste Schritt war, die eigentliche Analyse in die Cloud auszulagern.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Iteration 2: Synchrones AWS Lambda<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die naheliegendste Cloud-L\u00f6sung war eine AWS Lambda-Funktion mit Function URL: Der lokale Server schickt die Audiodatei per HTTP-Request direkt an Lambda, wartet auf die Antwort, und reicht das Ergebnis an die Extension weiter. Lambda lief dabei als Container-Image (da librosa mit seinen nativen Abh\u00e4ngigkeiten f\u00fcr ein klassisches Zip-Deployment zu unhandlich ist), verwaltet komplett \u00fcber Terraform.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das funktionierte \u2013 hatte aber eine strukturelle Schw\u00e4che: Die gesamte Kette Extension \u2192 Server \u2192 Lambda wartete auf eine einzige durchgehende HTTP-Verbindung, die durch das Lambda-Timeout begrenzt war. Bei einem Cold Start (Lambda muss librosa\/numpy\/numba erst importieren) plus einer etwas l\u00e4ngeren Audiodatei war man schnell im kritischen Bereich. Schlug die Verbindung fehl, war der Auftrag komplett verloren \u2013 es gab keine Wiederholung, keine Queue, nichts, das den Job \u201eaufgefangen\u201c h\u00e4tte.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Iteration 3: Die asynchrone Architektur mit S3, SQS und DynamoDB<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die L\u00f6sung war, das Warten komplett aus der synchronen Anfrage herauszunehmen. Die finale Architektur sieht so aus:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Die Extension rendert die Audioauswahl und schickt sie an den lokalen FastAPI-Server.<\/li>\n\n\n\n<li>Der Server l\u00e4dt die Datei in einen S3-Bucket hoch und reiht einen Analyse-Auftrag in eine SQS-Queue ein.<\/li>\n\n\n\n<li>Der Server antwortet der Extension sofort mit einer Job-ID \u2013 ohne auf das Ergebnis zu warten.<\/li>\n\n\n\n<li>Die SQS-Queue l\u00f6st automatisch einen Lambda-Worker aus, der die Datei aus S3 l\u00e4dt, mit librosa analysiert (Tempo, Dauer, Chroma-Profil) und das Ergebnis in DynamoDB speichert.<\/li>\n\n\n\n<li>Die Extension pollt in einem Ladebalken-Dialog alle zwei Sekunden den Server nach dem Ergebnis, der Server fragt daf\u00fcr einfach den aktuellen Stand in DynamoDB ab.<\/li>\n\n\n\n<li>Sobald das Ergebnis vorliegt, \u00f6ffnet sich in Ableton ein Dialog mit Tempo, Dauer und einer kleinen Chroma-Grafik.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Der entscheidende Unterschied: Statt einer einzigen fragilen, lang offenen Verbindung besteht das Warten jetzt aus vielen kurzen, unabh\u00e4ngigen Anfragen, die jede f\u00fcr sich sofort beantwortet werden \u2013 entweder mit \u201epending\u201c oder mit dem fertigen Ergebnis. Und der Auftrag selbst geht nicht mehr verloren, sobald er einmal in S3\/SQS liegt: Schl\u00e4gt die Verarbeitung fehl, stellt SQS die Nachricht bis zu dreimal erneut zu, bevor sie in eine Dead-Letter-Queue wandert, wo sie zumindest sichtbar bleibt, statt spurlos zu verschwinden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Detail, das leicht zu Verwirrung f\u00fchrt: Auch in der asynchronen Variante spricht die Extension nie direkt mit AWS. Sie kennt weder S3 noch DynamoDB noch irgendwelche AWS-Credentials \u2013 jede Anfrage l\u00e4uft ausschlie\u00dflich \u00fcber den lokalen FastAPI-Server, der als einzige Instanz die AWS-Zugangsdaten besitzt. Der Server ist damit tats\u00e4chlich das (wenn auch sehr schlanke) Backend des Systems: Er f\u00fchrt selbst keine Analyse aus, sondern reicht Auftr\u00e4ge weiter und vermittelt Ergebnisse zwischen Extension und AWS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kosten und Free Tier<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ein bewusstes Architekturziel war, im dauerhaften AWS Free Tier zu bleiben. Lambda, SQS, S3 und DynamoDB haben alle einen permanenten Freikontingent-Anteil \u2013 anders als etwa ECS Fargate, das nur das zeitlich begrenzte Startguthaben neuer AWS-Konten verbraucht. Deshalb l\u00e4uft auch der Analyse-Worker als Lambda-Funktion und nicht als dauerhaft laufender Container-Dienst.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Terraform und zwei getrennte Identit\u00e4ten<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die komplette AWS-Infrastruktur \u2013 S3-Bucket, SQS-Queue samt Dead-Letter-Queue, DynamoDB-Tabelle, ECR-Repository, Lambda-Funktion samt Event-Source-Mapping, IAM-Rollen und -Policies \u2013 wird \u00fcber Terraform verwaltet. Ein null_resource mit local-exec baut dabei bei jeder relevanten Code-\u00c4nderung automatisch ein neues Docker-Image und pusht es ins ECR-Repository; ein Content-Hash im Image-Tag sorgt daf\u00fcr, dass Terraform \u00c4nderungen am Lambda-Code zuverl\u00e4ssig erkennt, statt sie unter einem gleichbleibenden :latest-Tag zu \u00fcbersehen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bewusst getrennt sind au\u00dferdem zwei IAM-Identit\u00e4ten: ein Admin-User, der ausschlie\u00dflich f\u00fcr terraform apply verwendet wird, und ein separater, eng begrenzter IAM-User, den Terraform selbst f\u00fcr die laufende Anwendung anlegt und der nur genau die Rechte besitzt, die der FastAPI-Server tats\u00e4chlich braucht (S3 hochladen, SQS-Nachrichten senden, DynamoDB-Eintr\u00e4ge lesen). Dasselbe Prinzip \u2013 Rechte getrennt von der eigentlichen Funktion verwalten \u2013 gilt auch f\u00fcr die Lambda-Ausf\u00fchrungsrolle, die nur genau die Policies tr\u00e4gt, die der Worker f\u00fcr seine Arbeit ben\u00f6tigt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Die finale Architektur<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-attachment-id=\"29516\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/image-154\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-5.png\" data-orig-size=\"1920,1080\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-5-1024x576.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-5-1024x576.png\" alt=\"\" class=\"wp-image-29516\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-5-1024x576.png 1024w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-5-300x169.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-5-768x432.png 768w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-5-1536x864.png 1536w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-5.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Die Anwendung des Programms &amp; Ergebnis<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Zuerst muss die AWS Cloud Infrastruktur \u00fcber ein Terraform Apply erstellt werden. Danach muss der FAST API Server gestartet werden. Anschlie\u00dfend muss dann die Ableton Live Extension gestartet werden. Hierf\u00fcr \u00f6ffnet man sich am Besten drei separate Terminals.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zum Anwenden wird dann Ableton Live Beta gestartet und eine WAV File deiner Wahl auf eine beliebige Audiospur gezogen. Dann einen Bereich ausw\u00e4hlen und per Rechtsklick das Kontextmen\u00fc \u00f6ffnen. Dann Die Extension starten. Kurz darauf sollte ein Popup Fenster mit dem Ergebnis erscheinen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"534\" height=\"83\" data-attachment-id=\"29532\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/image-155\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-6.png\" data-orig-size=\"534,83\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-6.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-6.png\" alt=\"\" class=\"wp-image-29532\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-6.png 534w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-6-300x47.png 300w\" sizes=\"auto, (max-width: 534px) 100vw, 534px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"489\" data-attachment-id=\"29511\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/image-153\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-4.png\" data-orig-size=\"1458,696\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-4-1024x489.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-4-1024x489.png\" alt=\"\" class=\"wp-image-29511\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-4-1024x489.png 1024w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-4-300x143.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-4-768x367.png 768w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-4.png 1458w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Stolpersteine auf dem Weg<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ein paar der hartn\u00e4ckigeren Probleme, die unterwegs gel\u00f6st werden mussten:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fehlende Web-APIs in der Extension-Laufzeit erforderten eine komplette Neuimplementierung der HTTP- und Multipart-Logik \u00fcber Node-Core-Module.<\/li>\n\n\n\n<li>OCI-Image-Manifeste von Docker Buildkit auf Apple-Silicon-Macs wurden von Lambda nicht akzeptiert \u2013 gel\u00f6st \u00fcber die Build-Flags &#8211;provenance=false &#8211;sbom=false.<\/li>\n\n\n\n<li>numba-Caching scheiterte im schreibgesch\u00fctzten Lambda-Dateisystem, bis die Umgebungsvariable NUMBA_CACHE_DIR=\/tmp gesetzt wurde.<\/li>\n\n\n\n<li>librosas Tempo-R\u00fcckgabewert \u00e4nderte sich in neueren Versionen von einem Skalar zu einem NumPy-Array, was eine kleine Anpassung im Handler-Code n\u00f6tig machte.<\/li>\n\n\n\n<li>DynamoDB verlangt den Decimal-Typ statt normaler Floats \u2013 alle numerischen Analyseergebnisse mussten entsprechend konvertiert werden, bevor sie gespeichert werden konnten.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aus einer einfachen Idee \u2013 \u201eIch will das Tempo meiner Audiospur wissen, ohne die DAW zu verlassen\u201c \u2013 ist am Ende eine kleine, aber vollst\u00e4ndige Cloud-Pipeline entstanden: eine Ableton-Extension als Frontend, ein schlanker lokaler Server als Backend-Vermittler, und eine entkoppelte, robuste Verarbeitungskette in AWS aus Queue, Worker und Datenbank. Der Weg dahin zeigt exemplarisch, warum asynchrone Architekturen bei potenziell langlaufenden Aufgaben fast immer die robustere Wahl sind \u2013 auch wenn der synchrone Ansatz auf den ersten Blick einfacher wirkt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Von der DAW in die Cloud Wie ich Ableton Live mit AWS Lambda verbunden habe Wer elektronische Musik produziert, kennt das Problem: Man hat einen Loop, ein Sample, eine Audiospur \u2013 und w\u00fcrde gerne automatisiert wissen, welches Tempo sie hat, wie lange sie dauert, oder welches harmonische Profil sie besitzt. Statt das manuell zu bestimmen, [&hellip;]<\/p>\n","protected":false},"author":1340,"featured_media":29492,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false,"_ppma_block_editor_authors":""},"categories":[1,120],"tags":[],"ppma_author":[1273],"class_list":["post-29480","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein","category-cloud-technologies"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Von der DAW in die Cloud Wie ich Ableton Live mit AWS Lambda verbunden habe Wer elektronische Musik produziert, kennt das Problem: Man hat einen Loop, ein Sample, eine Audiospur \u2013 und w\u00fcrde gerne automatisiert wissen, welches Tempo sie hat, wie lange sie dauert, oder welches harmonische Profil sie besitzt. Statt das manuell zu bestimmen,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Luis Kronenbitter\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Computer Science Blog\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Ableton Live Audio Analyzer | Computer Science Blog @ HdM Stuttgart\" \/>\n\t\t<meta property=\"og:description\" content=\"Von der DAW in die Cloud Wie ich Ableton Live mit AWS Lambda verbunden habe Wer elektronische Musik produziert, kennt das Problem: Man hat einen Loop, ein Sample, eine Audiospur \u2013 und w\u00fcrde gerne automatisiert wissen, welches Tempo sie hat, wie lange sie dauert, oder welches harmonische Profil sie besitzt. Statt das manuell zu bestimmen,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-5.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-5.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-13T21:39:34+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-13T21:59:17+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Ableton Live Audio Analyzer | Computer Science Blog @ HdM Stuttgart\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Von der DAW in die Cloud Wie ich Ableton Live mit AWS Lambda verbunden habe Wer elektronische Musik produziert, kennt das Problem: Man hat einen Loop, ein Sample, eine Audiospur \u2013 und w\u00fcrde gerne automatisiert wissen, welches Tempo sie hat, wie lange sie dauert, oder welches harmonische Profil sie besitzt. Statt das manuell zu bestimmen,\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-5.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/09\\\/13\\\/ableton-live-audio-analyzer\\\/#article\",\"name\":\"Ableton Live Audio Analyzer | Computer Science Blog @ HdM Stuttgart\",\"headline\":\"Ableton Live Audio Analyzer\",\"author\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/author\\\/luis_kronenbitter\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/meg6nawssnb01.jpg\",\"width\":500,\"height\":500},\"datePublished\":\"2026-09-13T23:39:34+02:00\",\"dateModified\":\"2026-09-13T23:59:17+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/09\\\/13\\\/ableton-live-audio-analyzer\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/09\\\/13\\\/ableton-live-audio-analyzer\\\/#webpage\"},\"articleSection\":\"Allgemein, Cloud Technologies, Luis Kronenbitter\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/09\\\/13\\\/ableton-live-audio-analyzer\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/scalable-systems\\\/#listItem\",\"name\":\"Scalable Systems\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/scalable-systems\\\/#listItem\",\"position\":2,\"name\":\"Scalable Systems\",\"item\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/scalable-systems\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/scalable-systems\\\/cloud-technologies\\\/#listItem\",\"name\":\"Cloud Technologies\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/scalable-systems\\\/cloud-technologies\\\/#listItem\",\"position\":3,\"name\":\"Cloud Technologies\",\"item\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/scalable-systems\\\/cloud-technologies\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/09\\\/13\\\/ableton-live-audio-analyzer\\\/#listItem\",\"name\":\"Ableton Live Audio Analyzer\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/scalable-systems\\\/#listItem\",\"name\":\"Scalable Systems\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/09\\\/13\\\/ableton-live-audio-analyzer\\\/#listItem\",\"position\":4,\"name\":\"Ableton Live Audio Analyzer\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/scalable-systems\\\/cloud-technologies\\\/#listItem\",\"name\":\"Cloud Technologies\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/#organization\",\"name\":\"Computer Science Blog @ HdM Stuttgart\",\"description\":\"on computer science and media topics\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/author\\\/luis_kronenbitter\\\/#author\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/author\\\/luis_kronenbitter\\\/\",\"name\":\"Luis Kronenbitter\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/09\\\/13\\\/ableton-live-audio-analyzer\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5d593c1a30f87f863d6b3d9714060ca182656048a6d3080df877ffc6ead7a4fc?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Luis Kronenbitter\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/09\\\/13\\\/ableton-live-audio-analyzer\\\/#webpage\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/09\\\/13\\\/ableton-live-audio-analyzer\\\/\",\"name\":\"Ableton Live Audio Analyzer | Computer Science Blog @ HdM Stuttgart\",\"description\":\"Von der DAW in die Cloud Wie ich Ableton Live mit AWS Lambda verbunden habe Wer elektronische Musik produziert, kennt das Problem: Man hat einen Loop, ein Sample, eine Audiospur \\u2013 und w\\u00fcrde gerne automatisiert wissen, welches Tempo sie hat, wie lange sie dauert, oder welches harmonische Profil sie besitzt. Statt das manuell zu bestimmen,\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/09\\\/13\\\/ableton-live-audio-analyzer\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/author\\\/luis_kronenbitter\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/author\\\/luis_kronenbitter\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/meg6nawssnb01.jpg\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/09\\\/13\\\/ableton-live-audio-analyzer\\\/#mainImage\",\"width\":500,\"height\":500},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/09\\\/13\\\/ableton-live-audio-analyzer\\\/#mainImage\"},\"datePublished\":\"2026-09-13T23:39:34+02:00\",\"dateModified\":\"2026-09-13T23:59:17+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/#website\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/\",\"name\":\"Computer Science Blog @ HdM Stuttgart\",\"description\":\"on computer science and media topics\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Ableton Live Audio Analyzer | Computer Science Blog @ HdM Stuttgart","description":"Von der DAW in die Cloud Wie ich Ableton Live mit AWS Lambda verbunden habe Wer elektronische Musik produziert, kennt das Problem: Man hat einen Loop, ein Sample, eine Audiospur \u2013 und w\u00fcrde gerne automatisiert wissen, welches Tempo sie hat, wie lange sie dauert, oder welches harmonische Profil sie besitzt. Statt das manuell zu bestimmen,","canonical_url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/#article","name":"Ableton Live Audio Analyzer | Computer Science Blog @ HdM Stuttgart","headline":"Ableton Live Audio Analyzer","author":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/author\/luis_kronenbitter\/#author"},"publisher":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/meg6nawssnb01.jpg","width":500,"height":500},"datePublished":"2026-09-13T23:39:34+02:00","dateModified":"2026-09-13T23:59:17+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/#webpage"},"isPartOf":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/#webpage"},"articleSection":"Allgemein, Cloud Technologies, Luis Kronenbitter"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de#listItem","position":1,"name":"Home","item":"https:\/\/blog.mi.hdm-stuttgart.de","nextItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/#listItem","name":"Scalable Systems"}},{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/#listItem","position":2,"name":"Scalable Systems","item":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/","nextItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/cloud-technologies\/#listItem","name":"Cloud Technologies"},"previousItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/cloud-technologies\/#listItem","position":3,"name":"Cloud Technologies","item":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/cloud-technologies\/","nextItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/#listItem","name":"Ableton Live Audio Analyzer"},"previousItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/#listItem","name":"Scalable Systems"}},{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/#listItem","position":4,"name":"Ableton Live Audio Analyzer","previousItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/cloud-technologies\/#listItem","name":"Cloud Technologies"}}]},{"@type":"Organization","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/#organization","name":"Computer Science Blog @ HdM Stuttgart","description":"on computer science and media topics","url":"https:\/\/blog.mi.hdm-stuttgart.de\/"},{"@type":"Person","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/author\/luis_kronenbitter\/#author","url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/author\/luis_kronenbitter\/","name":"Luis Kronenbitter","image":{"@type":"ImageObject","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/5d593c1a30f87f863d6b3d9714060ca182656048a6d3080df877ffc6ead7a4fc?s=96&d=mm&r=g","width":96,"height":96,"caption":"Luis Kronenbitter"}},{"@type":"WebPage","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/#webpage","url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/","name":"Ableton Live Audio Analyzer | Computer Science Blog @ HdM Stuttgart","description":"Von der DAW in die Cloud Wie ich Ableton Live mit AWS Lambda verbunden habe Wer elektronische Musik produziert, kennt das Problem: Man hat einen Loop, ein Sample, eine Audiospur \u2013 und w\u00fcrde gerne automatisiert wissen, welches Tempo sie hat, wie lange sie dauert, oder welches harmonische Profil sie besitzt. Statt das manuell zu bestimmen,","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/#website"},"breadcrumb":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/#breadcrumblist"},"author":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/author\/luis_kronenbitter\/#author"},"creator":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/author\/luis_kronenbitter\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/meg6nawssnb01.jpg","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/#mainImage","width":500,"height":500},"primaryImageOfPage":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/#mainImage"},"datePublished":"2026-09-13T23:39:34+02:00","dateModified":"2026-09-13T23:59:17+02:00"},{"@type":"WebSite","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/#website","url":"https:\/\/blog.mi.hdm-stuttgart.de\/","name":"Computer Science Blog @ HdM Stuttgart","description":"on computer science and media topics","inLanguage":"en-US","publisher":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/#organization"}}]},"og:locale":"en_US","og:site_name":"Computer Science Blog","og:type":"article","og:title":"Ableton Live Audio Analyzer | Computer Science Blog @ HdM Stuttgart","og:description":"Von der DAW in die Cloud Wie ich Ableton Live mit AWS Lambda verbunden habe Wer elektronische Musik produziert, kennt das Problem: Man hat einen Loop, ein Sample, eine Audiospur \u2013 und w\u00fcrde gerne automatisiert wissen, welches Tempo sie hat, wie lange sie dauert, oder welches harmonische Profil sie besitzt. Statt das manuell zu bestimmen,","og:url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/","og:image":"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-5.png","og:image:secure_url":"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-5.png","og:image:width":1920,"og:image:height":1080,"article:published_time":"2026-09-13T21:39:34+00:00","article:modified_time":"2026-09-13T21:59:17+00:00","twitter:card":"summary","twitter:title":"Ableton Live Audio Analyzer | Computer Science Blog @ HdM Stuttgart","twitter:description":"Von der DAW in die Cloud Wie ich Ableton Live mit AWS Lambda verbunden habe Wer elektronische Musik produziert, kennt das Problem: Man hat einen Loop, ein Sample, eine Audiospur \u2013 und w\u00fcrde gerne automatisiert wissen, welches Tempo sie hat, wie lange sie dauert, oder welches harmonische Profil sie besitzt. Statt das manuell zu bestimmen,","twitter:image":"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/image-5.png"},"aioseo_meta_data":{"post_id":"29480","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-09-13 20:29:53","updated":"2026-09-13 21:59:17","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/blog.mi.hdm-stuttgart.de\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/\" title=\"Scalable Systems\">Scalable Systems<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/cloud-technologies\/\" title=\"Cloud Technologies\">Cloud Technologies<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAbleton Live Audio Analyzer\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/blog.mi.hdm-stuttgart.de"},{"label":"Scalable Systems","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/"},{"label":"Cloud Technologies","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/cloud-technologies\/"},{"label":"Ableton Live Audio Analyzer","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/09\/13\/ableton-live-audio-analyzer\/"}],"jetpack-related-posts":[{"id":20964,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2021\/09\/15\/enterprise-social-audio-research-implementation-and-opportunities\/","url_meta":{"origin":29480,"position":0},"title":"Enterprise Social Audio &#8211; Research, Implementation and Opportunities","author":"Mario Koch","date":"15. September 2021","format":false,"excerpt":"Enterprise Socia Audio - does it work, what are non-negotiables, what are the challenges? Research and implementation in close collaboration with clients.","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/09\/jason-rosewell-ASKeuOZqhYU-unsplash-1-edited-scaled.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/09\/jason-rosewell-ASKeuOZqhYU-unsplash-1-edited-scaled.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/09\/jason-rosewell-ASKeuOZqhYU-unsplash-1-edited-scaled.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/09\/jason-rosewell-ASKeuOZqhYU-unsplash-1-edited-scaled.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/09\/jason-rosewell-ASKeuOZqhYU-unsplash-1-edited-scaled.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2021\/09\/jason-rosewell-ASKeuOZqhYU-unsplash-1-edited-scaled.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":2651,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2017\/08\/28\/how-we-integrated-ibm-watson-services-into-a-telegram-chat-bot\/","url_meta":{"origin":29480,"position":1},"title":"How we integrated IBM Watson services into a Telegram chat bot","author":"Adrian Steinert, Oliver Speck, Megan Klaiber","date":"28. August 2017","format":false,"excerpt":"Introduction IBMs artificial intelligence \u2018Watson\u2019 on the IBM Bluemix platform offers a wide range of cognitive services like image and audio analysis among other things. During our semester project in the lecture \u2018Software Development for Cloud Computing\u2019 we integrated useful Watson services into a Telegram chat bot to provide a\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/08\/12-factor.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/08\/12-factor.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/08\/12-factor.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":2764,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2017\/08\/31\/moodkoala-an-intelligent-social-media-app-using-cloud-services\/","url_meta":{"origin":29480,"position":2},"title":"Moodkoala &#8211; An intelligent Social Media application","author":"Daniel Bruckner","date":"31. August 2017","format":false,"excerpt":"Welcome to our blog post 'Moodkoala - An intelligent Social Media application'. The following provides an overview of our contents. Contents Introduction \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - The idea behind Moodkoala \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Technologies overview Technologies \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Frontend and Backend \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Bluemix Services \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Liberty for Java \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Natural\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/08\/image_0-160x300.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":12117,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2020\/09\/30\/generating-audio-from-an-article-with-amazon-polly\/","url_meta":{"origin":29480,"position":3},"title":"Generating audio from an article with Amazon Polly","author":"sk295","date":"30. September 2020","format":false,"excerpt":"Author: Silas Krause (sk295) Project Reading multiple and detailed articles can become a little bit tiring. Listening to the same content, on the other hand, is more comfortable, can be done while driving, and is less straining for the eyes.Therefore I decided to use this lecture to create a service\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/09\/technical-architecture-b2a.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/09\/technical-architecture-b2a.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/09\/technical-architecture-b2a.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2020\/09\/technical-architecture-b2a.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":2120,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2017\/03\/31\/livestreaming-with-libav_-tutorial-part-1\/","url_meta":{"origin":29480,"position":4},"title":"Livestreaming with libav* &#8211; Tutorial (Part 1)","author":"Benjamin Binder","date":"31. March 2017","format":false,"excerpt":"Lifestreaming is the real deal of video today, however\u00a0there aren't that many content creation tools to choose from.\u00a0YouTube, Facebook and Twitter are pushing hard to enable their users to stream vlogging-style content live from their phones with proprietary Apps, and OBS is used for Let's Plays and Twitch streams. But\u2026","rel":"","context":"In &quot;Interactive Media&quot;","block_context":{"text":"Interactive Media","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/interactive-media\/"},"img":{"alt_text":"Green screen live streaming production at Mediehuset K\u00f8benhavn. Author: Rehak","src":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/a\/af\/Green_screen_live_streaming_production_at_Mediehuset_K%C3%B8benhavn.jpg","width":350,"height":200,"srcset":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/a\/af\/Green_screen_live_streaming_production_at_Mediehuset_K%C3%B8benhavn.jpg 1x, https:\/\/upload.wikimedia.org\/wikipedia\/commons\/a\/af\/Green_screen_live_streaming_production_at_Mediehuset_K%C3%B8benhavn.jpg 1.5x, https:\/\/upload.wikimedia.org\/wikipedia\/commons\/a\/af\/Green_screen_live_streaming_production_at_Mediehuset_K%C3%B8benhavn.jpg 2x, https:\/\/upload.wikimedia.org\/wikipedia\/commons\/a\/af\/Green_screen_live_streaming_production_at_Mediehuset_K%C3%B8benhavn.jpg 3x, https:\/\/upload.wikimedia.org\/wikipedia\/commons\/a\/af\/Green_screen_live_streaming_production_at_Mediehuset_K%C3%B8benhavn.jpg 4x"},"classes":[]},{"id":1758,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2017\/01\/12\/snakes-exploring-pipelines-a-system-engineering-and-management-project-5\/","url_meta":{"origin":29480,"position":5},"title":"Snakes exploring Pipelines &#8211; A \u201cSystem Engineering and Management\u201d Project","author":"Yann Loic Philippczyk","date":"12. January 2017","format":false,"excerpt":"Part 4: Jenkins and Wrap Up This series of blog entries describes a student project focused on developing an application by using methods like pair programming, test driven development and deployment pipelines. Our first blog entry for this year will at the same time be the final one for this\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/01\/jenkins_code-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/01\/jenkins_code-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2017\/01\/jenkins_code-1.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]}],"jetpack_sharing_enabled":true,"authors":[{"term_id":1273,"user_id":1340,"is_guest":0,"slug":"luis_kronenbitter","display_name":"Luis Kronenbitter","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/5d593c1a30f87f863d6b3d9714060ca182656048a6d3080df877ffc6ead7a4fc?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Kronenbitter","first_name":"Luis","job_title":"","description":""}],"jetpack_featured_media_url":"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/09\/meg6nawssnb01.jpg","_links":{"self":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/29480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/users\/1340"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/comments?post=29480"}],"version-history":[{"count":8,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/29480\/revisions"}],"predecessor-version":[{"id":29533,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/29480\/revisions\/29533"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/media\/29492"}],"wp:attachment":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/media?parent=29480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/categories?post=29480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/tags?post=29480"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/ppma_author?post=29480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}