{"id":20346,"date":"2026-09-24T11:12:56","date_gmt":"2026-09-24T09:12:56","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/werkzeuge\/tempo-converter-time-stretch-factor-length-pitch\/"},"modified":"2026-09-24T11:12:56","modified_gmt":"2026-09-24T09:12:56","slug":"tempo-converter-time-stretch-factor-length-pitch","status":"publish","type":"page","link":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/tempo-converter-time-stretch-factor-length-pitch\/","title":{"rendered":"Tempo-Umrechner f\u00fcr Timestretching: Tempo-Faktor, neue L\u00e4nge und Tonh\u00f6he"},"content":{"rendered":"<div class=\"lw-tu\" id=\"tu-wurzel\" style=\"background: var(--bg-panel, #1e1e24); padding: 25px; border-radius: 8px; border: 1px solid var(--border, #2a2a35);\">\n<style>\n.lw-tu { --tu-warn: #e8a33d; }\n:root[data-theme=\"light\"] .lw-tu { --tu-warn: #8f5300; }\n.lw-tu .tu-felder { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }\n.lw-tu label { display: block; font-size: 0.8rem; color: var(--text-secondary, #a0a0b0); margin-bottom: 4px; }\n.lw-tu input, .lw-tu select { width: 100%; box-sizing: border-box; background: var(--bg-body, #14141a); color: var(--text-primary, #e8e8ee); border: 1px solid var(--border, #2a2a35); border-radius: 6px; padding: 9px 10px; font-family: monospace; font-size: 1rem; }\n.lw-tu input.tu-falsch { border-color: var(--fehler, #f0857a); }\n.lw-tu .tu-kacheln { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 18px 0 4px; }\n.lw-tu .tu-kachel { background: var(--bg-body, #14141a); border: 1px solid var(--border, #2a2a35); border-radius: 8px; padding: 11px 14px; min-width: 0; }\n.lw-tu .tu-kachel-name { font-size: 0.74rem; color: var(--text-secondary, #a0a0b0); text-transform: uppercase; letter-spacing: 0.4px; }\n.lw-tu .tu-kachel-wert { font-family: monospace; font-size: 1.4rem; font-weight: 700; color: var(--text-primary, #e8e8ee); line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.lw-tu .tu-hinweis { border-radius: 8px; padding: 10px 14px; margin-top: 12px; border: 1px solid var(--border, #2a2a35); background: var(--bg-body, #14141a); font-size: 0.86rem; color: var(--text-secondary, #a0a0b0); line-height: 1.55; }\n.lw-tu .tu-hinweis strong { color: var(--tu-warn); }\n.lw-tu .tu-tabelle { overflow-x: auto; margin-top: 6px; }\n.lw-tu table { border-collapse: collapse; width: 100%; font-size: 0.86rem; }\n.lw-tu th, .lw-tu td { text-align: left; padding: 6px 10px; border-bottom: 1px solid var(--border, #2a2a35); vertical-align: top; }\n.lw-tu th { color: var(--text-primary, #e8e8ee); }\n.lw-tu td { color: var(--text-primary, #e8e8ee); }\n.lw-tu td.tu-wert { font-family: monospace; color: var(--text-secondary, #a0a0b0); white-space: nowrap; }\n.lw-tu .tu-befehl-name { font-weight: 700; color: var(--text-primary, #e8e8ee); font-size: 0.88rem; margin: 14px 0 4px; }\n.lw-tu .tu-befehl { font-family: monospace; font-size: 0.84rem; background: var(--bg-body, #14141a); border: 1px solid var(--border, #2a2a35); border-radius: 6px; padding: 10px 12px; overflow-wrap: anywhere; color: var(--text-primary, #e8e8ee); }\n.lw-tu .tu-h { font-weight: 700; color: var(--text-primary, #e8e8ee); font-size: 0.95rem; margin: 24px 0 8px; }\n.lw-tu .tu-klein { font-size: 0.84rem; color: var(--text-secondary, #a0a0b0); line-height: 1.55; }\n.lw-tu .tu-knopf { background: transparent; color: var(--text-secondary, #a0a0b0); border: 1px solid var(--border, #2a2a35); padding: 9px 14px; border-radius: 6px; cursor: pointer; font-size: 0.9rem; margin-top: 12px; }\n.lw-tu .tu-fehler { color: var(--fehler, #f0857a); font-size: 0.88rem; margin-top: 12px; }\n.lw-tu a { color: var(--accent, #2ba6df); }\n@media (max-width: 600px) {\n    .lw-tu .tu-kacheln { grid-template-columns: 1fr 1fr; gap: 8px; }\n    .lw-tu .tu-kachel-wert { font-size: 1.15rem; }\n    .lw-tu table.tu-karten thead { display: none; }\n    .lw-tu table.tu-karten tr { display: block; padding: 8px 0; border-bottom: 1px solid var(--border, #2a2a35); }\n    .lw-tu table.tu-karten td { display: block; border: none; padding: 1px 0; }\n    .lw-tu table.tu-karten td:first-child { font-weight: 700; }\n    .lw-tu table.tu-karten td.tu-wert { white-space: normal; }\n    .lw-tu table.tu-karten td[data-name]::before { content: attr(data-name) \": \"; color: var(--text-secondary, #a0a0b0); font-family: inherit; }\n}\n<\/style>\n<p style=\"color: var(--text-secondary, #a0a0b0); margin-bottom: 18px;\">Rechnet ein Tempo f\u00fcr das Timestretching in ein anderes um: den Tempo-Faktor f\u00fcr atempo und rubberband, die neue L\u00e4nge einer Datei in Zeit und Abtastwerten, Schlag- und Taktl\u00e4ngen und die Tonh\u00f6hen\u00e4nderung, die eine Geschwindigkeits\u00e4nderung ohne Timestretching (Varispeed) mit sich br\u00e4chte. Die ffmpeg-Befehle folgen der Messung im Artikel \u00fcber Timestretching.<\/p>\n<div class=\"tu-felder\">\n<div><label for=\"tu-von\">Ausgangstempo (BPM)<\/label><input id=\"tu-von\" type=\"text\" inputmode=\"decimal\" value=\"128\" autocomplete=\"off\" data-mp-mask><\/div>\n<div><label for=\"tu-nach\">Zieltempo (BPM)<\/label><input id=\"tu-nach\" type=\"text\" inputmode=\"decimal\" value=\"124\" autocomplete=\"off\" data-mp-mask><\/div>\n<div><label for=\"tu-prozent\">Tempo\u00e4nderung (%)<\/label><input id=\"tu-prozent\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" data-mp-mask><\/div>\n<div><label for=\"tu-halbtoene\">Halbt\u00f6ne (Varispeed)<\/label><input id=\"tu-halbtoene\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" data-mp-mask><\/div>\n<\/p><\/div>\n<div class=\"tu-felder\" style=\"margin-top: 12px;\">\n<div><label for=\"tu-dauer\">L\u00e4nge der Datei (optional)<\/label><input id=\"tu-dauer\" type=\"text\" inputmode=\"decimal\" placeholder=\"3:30\" autocomplete=\"off\" data-mp-mask><\/div>\n<div><label for=\"tu-rate\">Abtastrate<\/label><select id=\"tu-rate\"><option value=\"44100\">44100 Hz<\/option><option value=\"48000\">48000 Hz<\/option><option value=\"88200\">88200 Hz<\/option><option value=\"96000\">96000 Hz<\/option><\/select><\/div>\n<div><label for=\"tu-schlaege\">Schl\u00e4ge je Takt<\/label><input id=\"tu-schlaege\" type=\"text\" inputmode=\"numeric\" value=\"4\" autocomplete=\"off\" data-mp-mask><\/div>\n<\/p><\/div>\n<p class=\"tu-klein\" style=\"margin: 10px 0 0;\">Zieltempo, Prozent und Halbt\u00f6ne h\u00e4ngen zusammen: Das zuletzt bearbeitete Feld bestimmt das Zieltempo. L\u00e4nge in Sekunden, m:ss oder h:mm:ss.<\/p>\n<div id=\"tu-fehler\" class=\"tu-fehler\" data-mp-mask hidden><\/div>\n<div id=\"tu-ausgabe\" data-mp-mask aria-live=\"polite\">\n<div id=\"tu-kacheln\" class=\"tu-kacheln\"><\/div>\n<div id=\"tu-hinweise\"><\/div>\n<div class=\"tu-h\">L\u00e4ngen<\/div>\n<div class=\"tu-tabelle\">\n<table class=\"tu-karten\">\n<thead>\n<tr>\n<th>Was<\/th>\n<th>Ausgangstempo<\/th>\n<th>Zieltempo<\/th>\n<th>Abtastwerte im Zieltempo<\/th>\n<\/tr>\n<\/thead>\n<tbody id=\"tu-laengen\"><\/tbody>\n<\/table><\/div>\n<div class=\"tu-h\">ffmpeg-Befehle<\/div>\n<div id=\"tu-befehle\"><\/div>\n<p>        <button id=\"tu-kopieren\" type=\"button\" class=\"tu-knopf\">Ergebnis kopieren<\/button><br \/>\n        <span id=\"tu-kopiert\" class=\"tu-klein\" style=\"margin-left: 10px;\"><\/span>\n    <\/div>\n<div class=\"tu-h\">Wie gerechnet wird<\/div>\n<p class=\"tu-klein\" style=\"margin: 0 0 6px;\">Der Tempo-Faktor ist das Zieltempo geteilt durch das Ausgangstempo: 120 auf 132 BPM ist Tempo 1,1, 128 auf 124 BPM ist 0,96875. Die Datei wird um den Kehrwert l\u00e4nger. Die Befehle \u00fcbergeben den Faktor als exakten Bruch wie 124\/128; ffmpeg rechnet ihn als Ausdruck aus. atempo nimmt 0,5 bis 100, \u00fcberspringt laut Dokumentation aber ab 2 einzelne Werte, deshalb teilt das Werkzeug gr\u00f6\u00dfere und kleinere Faktoren in eine Kette auf.<\/p>\n<p class=\"tu-klein\" style=\"margin: 0 0 6px;\">Die Wahl des Verfahrens folgt der Messung bei Tempo 0,9 bis 1,1: Mit channels=together hielt rubberband jeden Schlag innerhalb von 0,48\u00a0ms an seinem Platz und das Stereobild bei einer Korrelation von 0,92, um den Preis einer Rampe vor jedem Schlag und von Einbr\u00fcchen an gleichm\u00e4\u00dfigen T\u00f6nen. transients=smooth lie\u00df reine T\u00f6ne fast unver\u00e4ndert, machte den Mix aber 2,6 bis 3,0\u00a0dB leiser. atempo erhielt Klang und Pegel am besten, verschob aber einzelne Schl\u00e4ge um bis zu 10,84\u00a0ms und besch\u00e4digte einen Ton von 55\u00a0Hz.<\/p>\n<p class=\"tu-klein\" style=\"margin: 0 0 6px;\">Gepr\u00fcft mit ffmpeg 7.1.5 an 10\u00a0s Testsignal bei Faktoren von 0,4 bis 2,5: Beide rubberband-Befehle trafen die berechnete L\u00e4nge in allen sieben F\u00e4llen auf den Abtastwert genau, Varispeed auf h\u00f6chstens einen Wert und die berechnete Tonh\u00f6he auf 0,01 Halbt\u00f6ne. atempo wich um \u221230,4 bis +8,0\u00a0ms ab, im gemessenen Bereich von 0,9 bis 1,1 um h\u00f6chstens 4,6\u00a0ms; bei 128 auf 124 BPM fehlten 4,58\u00a0ms.<\/p>\n<p class=\"tu-klein\" style=\"margin: 0 0 6px;\">Das ISRC-Handbuch (4. Auflage 2021, A.10.2) unterscheidet: \u00c4ndert eine Aufnahme ihre L\u00e4nge nur durch Tempo oder Fade-out, ist ein neuer ISRC ab 10\u00a0Sekunden Unterschied f\u00e4llig; darunter beh\u00e4lt sie ihren Code.<\/p>\n<div class=\"tu-h\">Artikel dazu<\/div>\n<p class=\"tu-klein\" style=\"margin: 0 0 6px;\">Wie atempo und rubberband bei \u00b15 und \u00b110\u00a0% mit Timing, Transienten, reinen und obertonreichen T\u00f6nen und dem Stereobild umgehen, misst der Artikel \u201e<span class=\"lw-artikel-geplant\">Timestretching um 10 Prozent mit atempo und rubberband<\/span>\u201c.<\/p>\n<p class=\"tu-klein\" style=\"margin: 0 0 6px;\">Wann eine neue Fassung einen eigenen ISRC braucht, samt der 10-Sekunden-Regel f\u00fcr Tempo\u00e4nderungen, zeigt die Anleitung \u201e<a href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/music-production-de\/tutorials-de-music-production-de\/release-metadaten-isrc-upc-iswc-vergeben-einbetten-pruefen-schritt-fuer-schritt\/\">Release-Metadaten 2026<\/a>\u201c.<\/p>\n<p class=\"tu-klein\" style=\"margin: 0 0 6px;\">Wie die DAWs 2026 Audio auf das Projekttempo dehnen, mit dem Warping von Ableton Live als Ma\u00dfstab, vergleicht der Artikel \u201e<a href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/music-production-de\/top-5-daws-2026-fl-studio-ableton-logic-cubase-bitwig-vergleich\/\">Die 5 besten DAWs 2026<\/a>\u201c.<\/p>\n<p class=\"tu-klein\" style=\"margin: 20px 0 0;\">Quellen:<br \/>\n        <a href=\"https:\/\/ffmpeg.org\/ffmpeg-filters.html#atempo\" rel=\"noopener\">ffmpeg Filters Documentation (atempo, rubberband, asetrate)<\/a> \u00b7<br \/>\n        <a href=\"https:\/\/breakfastquay.com\/rubberband\/\" rel=\"noopener\">Rubber Band Library<\/a> \u00b7<br \/>\n        <a href=\"https:\/\/isrc.ifpi.org\/images\/downloads\/ISRC_Handbook.pdf\" rel=\"noopener\">ISRC Handbook, 4th Edition 2021, A.10.2 (IFPI)<\/a>\n    <\/p>\n<p class=\"tu-klein\" style=\"font-size: 0.8rem; margin: 14px 0 0;\">Gerechnet wird mit gleichbleibendem Tempo; Tempowechsel innerhalb einer Datei und Swing bleiben au\u00dfen vor. asetrate nimmt nur ganze Hertz, deshalb weicht Varispeed um h\u00f6chstens 0,5\u00a0Hz von der exakten Rate ab, das sind h\u00f6chstens 0,02 Cent. Welches Verfahren besser klingt, hat die Messung nicht per H\u00f6rtest entschieden.<\/p>\n<\/div>\n<p><script>\n(function () {\n    'use strict';\n    const T = {\"dezimal\":\",\",\"tausender\":\".\",\"einleitung\":\"Rechnet ein Tempo f\u00fcr das Timestretching in ein anderes um: den Tempo-Faktor f\u00fcr atempo und rubberband, die neue L\u00e4nge einer Datei in Zeit und Abtastwerten, Schlag- und Taktl\u00e4ngen und die Tonh\u00f6hen\u00e4nderung, die eine Geschwindigkeits\u00e4nderung ohne Timestretching (Varispeed) mit sich br\u00e4chte. Die ffmpeg-Befehle folgen der Messung im Artikel \u00fcber Timestretching.\",\"f_von\":\"Ausgangstempo (BPM)\",\"f_nach\":\"Zieltempo (BPM)\",\"f_prozent\":\"Tempo\u00e4nderung (%)\",\"f_halbtoene\":\"Halbt\u00f6ne (Varispeed)\",\"f_dauer\":\"L\u00e4nge der Datei (optional)\",\"f_rate\":\"Abtastrate\",\"f_schlaege\":\"Schl\u00e4ge je Takt\",\"felder_hinweis\":\"Zieltempo, Prozent und Halbt\u00f6ne h\u00e4ngen zusammen: Das zuletzt bearbeitete Feld bestimmt das Zieltempo. L\u00e4nge in Sekunden, m:ss oder h:mm:ss.\",\"k_faktor\":\"Tempo-Faktor\",\"k_laenge\":\"L\u00e4nge \u00e4ndert sich um\",\"k_tonhoehe\":\"Tonh\u00f6he bei Varispeed\",\"k_dauer\":\"Neue L\u00e4nge\",\"st\":\"HT\",\"achtung\":\"Hinweis:\",\"hinweis_gleich\":\"Beide Tempi sind gleich; zu dehnen gibt es nichts.\",\"hinweis_ausserhalb\":\"Eine \u00c4nderung um {p} liegt au\u00dferhalb des im Artikel gemessenen Bereichs (\u00b110\u00a0%); die Angaben zu den Verfahren unten st\u00fctzen sich auf diesen Bereich.\",\"hinweis_isrc_neu\":\"Die L\u00e4nge \u00e4ndert sich um {d}. Laut ISRC-Handbuch verlangt eine Tempo\u00e4nderung ab 10\u00a0s Unterschied einen neuen ISRC.\",\"hinweis_isrc_bleibt\":\"Die L\u00e4nge \u00e4ndert sich um {d}. Laut ISRC-Handbuch beh\u00e4lt eine Tempo\u00e4nderung unter 10\u00a0s Unterschied den ISRC, sofern sonst nichts ge\u00e4ndert wird.\",\"hinweis_varispeed\":\"Varispeed, die Geschwindigkeits\u00e4nderung ohne Timestretching wie am Plattenspieler, versch\u00f6be die Tonh\u00f6he um {st} Halbt\u00f6ne ({ct} Cent). Timestretching h\u00e4lt die Tonh\u00f6he.\",\"h_laengen\":\"L\u00e4ngen\",\"sp_was\":\"Was\",\"sp_alt\":\"Ausgangstempo\",\"sp_neu\":\"Zieltempo\",\"sp_werte\":\"Abtastwerte im Zieltempo\",\"z_schlag\":\"Ein Schlag\",\"z_takt\":\"Ein Takt ({n} Schl\u00e4ge)\",\"z_vier\":\"Vier Takte\",\"z_datei\":\"Datei\",\"h_befehle\":\"ffmpeg-Befehle\",\"werte\":\"Werte\",\"b_schlag\":\"Schlagzeug und ganze Mixe (das Timing z\u00e4hlt)\",\"b_flaeche\":\"Fl\u00e4chen, Gesang und gehaltene T\u00f6ne\",\"b_atempo\":\"atempo (ohne feste Schl\u00e4ge und ohne tiefe T\u00f6ne)\",\"b_atempo_kette\":\"atempo als Kette (ohne feste Schl\u00e4ge und ohne tiefe T\u00f6ne)\",\"b_varispeed\":\"Varispeed: Tempo und Tonh\u00f6he zusammen\",\"keine_befehle\":\"Bei Faktor 1 ist kein Befehl n\u00f6tig.\",\"knopf_kopieren\":\"Ergebnis kopieren\",\"kopiert\":\"kopiert\",\"kopieren_fehler\":\"Kopieren nicht m\u00f6glich\",\"bericht_kopf\":\"Tempo-Umrechnung\",\"fehler_bpm\":\"Beide Tempi m\u00fcssen zwischen 1 und 999 BPM liegen.\",\"fehler_dauer\":\"Die L\u00e4nge ist nicht lesbar; g\u00fcltig sind Sekunden, m:ss oder h:mm:ss, etwa 3:30 oder 210,5.\",\"fehler_schlaege\":\"Schl\u00e4ge je Takt: eine ganze Zahl von 1 bis 32.\",\"h_erklaerung\":\"Wie gerechnet wird\",\"erkl_faktor\":\"Der Tempo-Faktor ist das Zieltempo geteilt durch das Ausgangstempo: 120 auf 132 BPM ist Tempo 1,1, 128 auf 124 BPM ist 0,96875. Die Datei wird um den Kehrwert l\u00e4nger. Die Befehle \u00fcbergeben den Faktor als exakten Bruch wie 124\\\/128; ffmpeg rechnet ihn als Ausdruck aus. atempo nimmt 0,5 bis 100, \u00fcberspringt laut Dokumentation aber ab 2 einzelne Werte, deshalb teilt das Werkzeug gr\u00f6\u00dfere und kleinere Faktoren in eine Kette auf.\",\"erkl_verfahren\":\"Die Wahl des Verfahrens folgt der Messung bei Tempo 0,9 bis 1,1: Mit channels=together hielt rubberband jeden Schlag innerhalb von 0,48\u00a0ms an seinem Platz und das Stereobild bei einer Korrelation von 0,92, um den Preis einer Rampe vor jedem Schlag und von Einbr\u00fcchen an gleichm\u00e4\u00dfigen T\u00f6nen. transients=smooth lie\u00df reine T\u00f6ne fast unver\u00e4ndert, machte den Mix aber 2,6 bis 3,0\u00a0dB leiser. atempo erhielt Klang und Pegel am besten, verschob aber einzelne Schl\u00e4ge um bis zu 10,84\u00a0ms und besch\u00e4digte einen Ton von 55\u00a0Hz.\",\"erkl_laenge\":\"Gepr\u00fcft mit ffmpeg 7.1.5 an 10\u00a0s Testsignal bei Faktoren von 0,4 bis 2,5: Beide rubberband-Befehle trafen die berechnete L\u00e4nge in allen sieben F\u00e4llen auf den Abtastwert genau, Varispeed auf h\u00f6chstens einen Wert und die berechnete Tonh\u00f6he auf 0,01 Halbt\u00f6ne. atempo wich um \u221230,4 bis +8,0\u00a0ms ab, im gemessenen Bereich von 0,9 bis 1,1 um h\u00f6chstens 4,6\u00a0ms; bei 128 auf 124 BPM fehlten 4,58\u00a0ms.\",\"erkl_isrc\":\"Das ISRC-Handbuch (4. Auflage 2021, A.10.2) unterscheidet: \u00c4ndert eine Aufnahme ihre L\u00e4nge nur durch Tempo oder Fade-out, ist ein neuer ISRC ab 10\u00a0Sekunden Unterschied f\u00e4llig; darunter beh\u00e4lt sie ihren Code.\",\"h_artikel\":\"Artikel dazu\",\"art_ts_vor\":\"Wie atempo und rubberband bei \u00b15 und \u00b110\u00a0% mit Timing, Transienten, reinen und obertonreichen T\u00f6nen und dem Stereobild umgehen, misst der Artikel \u201e\",\"art_ts_titel\":\"Timestretching um 10 Prozent mit atempo und rubberband\",\"art_ts_nach\":\"\u201c.\",\"art_isrc_vor\":\"Wann eine neue Fassung einen eigenen ISRC braucht, samt der 10-Sekunden-Regel f\u00fcr Tempo\u00e4nderungen, zeigt die Anleitung \u201e\",\"art_isrc_titel\":\"Release-Metadaten 2026\",\"art_isrc_nach\":\"\u201c.\",\"art_daw_vor\":\"Wie die DAWs 2026 Audio auf das Projekttempo dehnen, mit dem Warping von Ableton Live als Ma\u00dfstab, vergleicht der Artikel \u201e\",\"art_daw_titel\":\"Die 5 besten DAWs 2026\",\"art_daw_nach\":\"\u201c.\",\"quellen_titel\":\"Quellen\",\"grenze\":\"Gerechnet wird mit gleichbleibendem Tempo; Tempowechsel innerhalb einer Datei und Swing bleiben au\u00dfen vor. asetrate nimmt nur ganze Hertz, deshalb weicht Varispeed um h\u00f6chstens 0,5\u00a0Hz von der exakten Rate ab, das sind h\u00f6chstens 0,02 Cent. Welches Verfahren besser klingt, hat die Messung nicht per H\u00f6rtest entschieden.\"};<\/p>\n<p>    \/\/ KERN-ANFANG ------------------------------------------------------------\n    \/\/ Tempo-Umrechner: Tempo-Faktor, neue Laenge, Tonhoehe bei Varispeed und die ffmpeg-Befehle.\n    var GEMESSEN = 0.1;            \/\/ im Timestretching-Artikel gemessen: Tempo 0,9 bis 1,1\n    var ISRC_S = 10;               \/\/ ISRC-Handbuch, 4. Auflage 2021, A.10.2: ab 10 s Laengenunterschied neue ISRC\n    var MIN_BPM = 1, MAX_BPM = 999;<\/p>\n<p>    function halbtoene(f) { return 12 * Math.log(f) \/ Math.LN2; }\n    function ausHalbtoenen(st) { return Math.pow(2, st \/ 12); }<\/p>\n<p>    \/\/ Dauer als Sekunden, m:ss, h:mm:ss, jeweils mit Punkt oder Komma als Dezimaltrenner\n    function dauerLesen(s) {\n        s = String(s === undefined || s === null ? '' : s).trim().replace(',', '.');\n        if (s === '') { return null; }\n        if (!\/^\\d+(:\\d{1,2}){0,2}(\\.\\d+)?$\/.test(s)) { return NaN; }\n        var teile = s.split(':'), sek = 0, i;\n        for (i = 0; i < teile.length; i++) {\n            var v = parseFloat(teile[i]);\n            if (i > 0 && v >= 60) { return NaN; }\n            sek = sek * 60 + v;\n        }\n        return sek;\n    }\n    function zahlLesen(s) {\n        s = String(s === undefined || s === null ? '' : s).trim().replace(',', '.').replace('\u2212', '-');\n        if (s === '' || !\/^[-+]?\\d*\\.?\\d+$\/.test(s)) { return NaN; }\n        return parseFloat(s);\n    }<\/p>\n<p>    \/\/ Kurzform einer Zahl fuer Befehle: hoechstens zehn Nachkommastellen, ohne Nullen am Ende\n    function kurz(v) { return Number(v.toFixed(10)).toString(); }<\/p>\n<p>    \/\/ Tempo-Faktor als Ausdruck: exakt als Bruch, wenn beide Tempi ganze Zahlen oder kurze Dezimalzahlen sind\n    function bruch(nach, von) { return von === nach ? '1' : kurz(nach) + '\/' + kurz(von); }<\/p>\n<p>    \/\/ atempo nimmt 0,5 bis 100; ueber 2 ueberspringt es laut Dokumentation Werte, deshalb ab 2 als Kette\n    function atempoKette(f) {\n        var teile = [], rest = f;\n        while (rest > 2) { teile.push(2); rest \/= 2; }\n        while (rest < 0.5) { teile.push(0.5); rest \/= 0.5; }\n        return { teile: teile, rest: rest };\n    }\n\n    function rechnen(e) {\n        var von = e.von, nach = e.nach, schlaege = e.schlaege === undefined ? 4 : e.schlaege, rate = e.rate || 44100;\n        if (!(von >= MIN_BPM && von <= MAX_BPM) || !(nach >= MIN_BPM && nach <= MAX_BPM)) { return { fehler: 'bpm' }; }\n        if (!(schlaege >= 1 && schlaege <= 32 &#038;&#038; Math.round(schlaege) === schlaege)) { return { fehler: 'schlaege' }; }\n        var f = nach \/ von, lf = von \/ nach, r = {\n            von: von, nach: nach, faktor: f, laenge: lf, tempo_prozent: (f - 1) * 100, laenge_prozent: (lf - 1) * 100,\n            halbtoene: halbtoene(f), rate: rate, schlaege: schlaege,\n            schlag_alt_ms: 60000 \/ von, schlag_neu_ms: 60000 \/ nach,\n            takt_alt_ms: schlaege * 60000 \/ von, takt_neu_ms: schlaege * 60000 \/ nach,\n            ausserhalb: Math.abs(f - 1) > GEMESSEN + 1e-9, gleich: Math.abs(f - 1) < 1e-12\n        };\n        \/\/ vier Takte im neuen Tempo in Abtastwerten: ganzzahlig oder nicht (Schleifen)\n        r.vier_takte_werte = 4 * schlaege * 60 \/ nach * rate;\n        r.vier_takte_ganz = Math.abs(r.vier_takte_werte - Math.round(r.vier_takte_werte)) < 1e-6;\n        if (e.dauer_s !== null &#038;&#038; e.dauer_s !== undefined) {\n            if (!(e.dauer_s > 0 && e.dauer_s < 86400)) { return { fehler: 'dauer' }; }\n            r.dauer_alt_s = e.dauer_s;\n            r.dauer_neu_s = e.dauer_s * lf;\n            r.dauer_diff_s = r.dauer_neu_s - e.dauer_s;\n            r.werte_alt = Math.round(e.dauer_s * rate);\n            r.werte_neu = Math.round(r.werte_alt * lf);\n            r.isrc_neu = Math.abs(r.dauer_diff_s) >= ISRC_S;\n        }\n        \/\/ Varispeed: asetrate nimmt eine ganze Zahl, damit weicht der Faktor minimal ab\n        r.asetrate = Math.round(rate * f);\n        r.varispeed_faktor = r.asetrate \/ rate;\n        return r;\n    }<\/p>\n<p>    function befehle(r) {\n        if (!r || r.fehler || r.gleich) { return null; }\n        var t = bruch(r.nach, r.von), k = atempoKette(r.faktor), at;\n        if (!k.teile.length) { at = 'atempo=' + t; }\n        else { at = k.teile.map(function (x) { return 'atempo=' + x; }).concat(['atempo=' + kurz(k.rest)]).join(','); }\n        function ff(filter) { return 'ffmpeg -i ein.wav -af \"' + filter + '\" aus.wav'; }\n        return {\n            schlag: ff('rubberband=tempo=' + t + ':channels=together'),\n            flaeche: ff('rubberband=tempo=' + t + ':transients=smooth:channels=together'),\n            atempo: ff(at),\n            varispeed: ff('asetrate=' + r.asetrate + ',aresample=' + r.rate),\n            kette: k.teile.length > 0\n        };\n    }\n    \/\/ KERN-ENDE --------------------------------------------------------------<\/p>\n<p>    function el(id) { return document.getElementById(id); }\n    var NB = ' ';\n    function satz(k, w) { return (T[k] || '').replace(\/\\{(\\w+)\\}\/g, function (_, x) { return w && w[x] !== undefined ? w[x] : ''; }); }\n    function zahl(v, st) {\n        if (v === null || v === undefined || !isFinite(v)) { return '\u2013'; }\n        var s = Number(v).toFixed(st === undefined ? 2 : st);\n        if (\/^-0(\\.0+)?$\/.test(s)) { s = s.slice(1); }\n        s = s.replace('-', '\u2212');\n        return T.dezimal === ',' ? s.replace('.', ',') : s;\n    }\n    function vorz(v, st) { var s = zahl(v, st); return isFinite(v) && Number(Number(v).toFixed(st)) > 0 ? '+' + s : s; }\n    function tausend(n) { return String(n).replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, T.tausender); }\n    function dauer(s) {\n        var h = Math.floor(s \/ 3600), m = Math.floor((s - 3600 * h) \/ 60), r = s - 3600 * h - 60 * m;\n        var rs = zahl(r, 3); if (r < 10) { rs = '0' + rs; }\n        return (h ? h + ':' + (m < 10 ? '0' : '') : '') + m + ':' + rs;\n    }\n    function ms(v) { return zahl(v, v >= 1000 ? 1 : 2) + NB + 'ms'; }<\/p>\n<p>    \/\/ gekoppelte Felder: das zuletzt bearbeitete von Zieltempo, Prozent und Halbtoenen bestimmt das Zieltempo\n    var fuehrt = 'nach', letztes = null;\n    function eingaben() {\n        var von = zahlLesen(el('tu-von').value), nach;\n        if (fuehrt === 'prozent') { nach = von * (1 + zahlLesen(el('tu-prozent').value) \/ 100); }\n        else if (fuehrt === 'halbtoene') { nach = von * ausHalbtoenen(zahlLesen(el('tu-halbtoene').value)); }\n        else { nach = zahlLesen(el('tu-nach').value); }\n        return { von: von, nach: nach, dauer_s: dauerLesen(el('tu-dauer').value), rate: parseInt(el('tu-rate').value, 10),\n            schlaege: zahlLesen(el('tu-schlaege').value) };\n    }<\/p>\n<p>    function zeile(t, werte) {\n        var tr = document.createElement('tr'), namen = [T.sp_was, T.sp_alt, T.sp_neu, T.sp_werte];\n        werte.forEach(function (w, i) {\n            var td = document.createElement('td');\n            if (i > 0) { td.className = 'tu-wert'; td.setAttribute('data-name', namen[i]); }\n            td.textContent = w; tr.appendChild(td);\n        });\n        t.appendChild(tr);\n    }\n    function kachel(name, wert) {\n        var d = document.createElement('div'); d.className = 'tu-kachel';\n        var a = document.createElement('div'); a.className = 'tu-kachel-name'; a.textContent = name;\n        var b = document.createElement('div'); b.className = 'tu-kachel-wert'; b.textContent = wert;\n        d.appendChild(a); d.appendChild(b);\n        return d;\n    }\n    function hinweis(text, warn) {\n        var d = document.createElement('div'); d.className = 'tu-hinweis';\n        if (warn) { var s = document.createElement('strong'); s.textContent = warn + ' '; d.appendChild(s); }\n        d.appendChild(document.createTextNode(text));\n        el('tu-hinweise').appendChild(d);\n    }<\/p>\n<p>    function darstellen(r, e) {\n        var f = el('tu-fehler'), aus = el('tu-ausgabe');\n        ['tu-von', 'tu-nach', 'tu-prozent', 'tu-halbtoene', 'tu-dauer', 'tu-schlaege'].forEach(function (id) { el(id).classList.remove('tu-falsch'); });\n        if (r.fehler) {\n            f.textContent = T['fehler_' + r.fehler]; f.hidden = false; aus.hidden = true;\n            el({ bpm: fuehrt === 'nach' ? 'tu-nach' : 'tu-' + fuehrt, dauer: 'tu-dauer', schlaege: 'tu-schlaege' }[r.fehler]).classList.add('tu-falsch');\n            if (r.fehler === 'bpm' && !(e.von >= MIN_BPM && e.von <= MAX_BPM)) { el('tu-von').classList.add('tu-falsch'); }\n            letztes = null;\n            return r;\n        }\n        f.hidden = true; aus.hidden = false;\n        \/\/ die nicht fuehrenden Felder nachziehen\n        if (fuehrt !== 'nach') { el('tu-nach').value = zahl(r.nach, 3).replace(\/[.,]?0+$\/, ''); }\n        if (fuehrt !== 'prozent') { el('tu-prozent').value = zahl(r.tempo_prozent, 3).replace(\/[.,]?0+$\/, '').replace('\u2212', '-'); }\n        if (fuehrt !== 'halbtoene') { el('tu-halbtoene').value = zahl(r.halbtoene, 3).replace(\/[.,]?0+$\/, '').replace('\u2212', '-'); }\n        var k = el('tu-kacheln');\n        k.textContent = '';\n        k.appendChild(kachel(T.k_faktor, zahl(r.faktor, 5)));\n        k.appendChild(kachel(T.k_laenge, vorz(r.laenge_prozent, 2) + NB + '%'));\n        k.appendChild(kachel(T.k_tonhoehe, vorz(r.halbtoene, 2) + NB + T.st));\n        k.appendChild(kachel(T.k_dauer, r.dauer_neu_s !== undefined ? dauer(r.dauer_neu_s) : '\u2013'));\n        el('tu-hinweise').textContent = '';\n        if (r.gleich) { hinweis(T.hinweis_gleich); }\n        if (r.ausserhalb) { hinweis(satz('hinweis_ausserhalb', { p: vorz(r.tempo_prozent, 1) + NB + '%' }), T.achtung); }\n        if (r.dauer_neu_s !== undefined) {\n            hinweis(satz(r.isrc_neu ? 'hinweis_isrc_neu' : 'hinweis_isrc_bleibt', { d: vorz(r.dauer_diff_s, 2) + NB + 's' }), r.isrc_neu ? T.achtung : '');\n        }\n        hinweis(satz('hinweis_varispeed', { st: vorz(r.halbtoene, 2), ct: vorz(r.halbtoene * 100, 0) }));\n        var t = el('tu-laengen');\n        t.textContent = '';\n        zeile(t, [T.z_schlag, ms(r.schlag_alt_ms), ms(r.schlag_neu_ms), tausend(Math.round(r.schlag_neu_ms * r.rate \/ 1000))]);\n        zeile(t, [satz('z_takt', { n: r.schlaege }), ms(r.takt_alt_ms), ms(r.takt_neu_ms), tausend(Math.round(r.takt_neu_ms * r.rate \/ 1000))]);\n        zeile(t, [T.z_vier, ms(4 * r.takt_alt_ms), ms(4 * r.takt_neu_ms),\n            (r.vier_takte_ganz ? '' : '\u2248 ') + tausend(Math.round(r.vier_takte_werte))]);\n        if (r.dauer_neu_s !== undefined) { zeile(t, [T.z_datei, dauer(r.dauer_alt_s), dauer(r.dauer_neu_s), tausend(r.werte_neu)]); }\n        var b = befehle(r), bb = el('tu-befehle');\n        bb.textContent = '';\n        if (b) {\n            [['b_schlag', b.schlag], ['b_flaeche', b.flaeche], [b.kette ? 'b_atempo_kette' : 'b_atempo', b.atempo], ['b_varispeed', b.varispeed]].forEach(function (x) {\n                var n = document.createElement('div'); n.className = 'tu-befehl-name'; n.textContent = T[x[0]];\n                var c = document.createElement('div'); c.className = 'tu-befehl'; c.textContent = x[1];\n                bb.appendChild(n); bb.appendChild(c);\n            });\n        } else {\n            var p = document.createElement('p'); p.className = 'tu-klein'; p.textContent = T.keine_befehle; bb.appendChild(p);\n        }\n        letztes = r;\n        return r;\n    }\n\n    function aktualisieren() { var e = eingaben(); return darstellen(rechnen(e), e); }\n\n    function bericht(r) {\n        if (!r) { return ''; }\n        var z = [T.bericht_kopf + ': ' + zahl(r.von, 3).replace(\/[.,]?0+$\/, '') + ' \u2192 ' + zahl(r.nach, 3).replace(\/[.,]?0+$\/, '') + ' BPM'];\n        z.push(T.k_faktor + ': ' + zahl(r.faktor, 6) + ' | ' + T.k_laenge + ': ' + vorz(r.laenge_prozent, 3) + ' % | ' + T.k_tonhoehe + ': ' + vorz(r.halbtoene, 3) + ' ' + T.st);\n        if (r.dauer_neu_s !== undefined) { z.push(T.z_datei + ': ' + dauer(r.dauer_alt_s) + ' \u2192 ' + dauer(r.dauer_neu_s) + ' (' + r.werte_neu + ' ' + T.werte + ')'); }\n        var b = befehle(r);\n        if (b) { z.push(b.schlag, b.flaeche, b.atempo, b.varispeed); }\n        return z.join('\\n');\n    }\n\n    window.LW_TEST = window.LW_TEST || {};\n    window.LW_TEST.TU = { T: T, rechnen: rechnen, befehle: befehle, dauerLesen: dauerLesen, zahlLesen: zahlLesen, atempoKette: atempoKette,\n        aktualisieren: aktualisieren, bericht: bericht, fuehren: function (x) { fuehrt = x; }, letztes: function () { return letztes; } };\n\n    if (!el('tu-von')) { return; }\n    el('tu-nach').addEventListener('input', function () { fuehrt = 'nach'; aktualisieren(); });\n    el('tu-prozent').addEventListener('input', function () { fuehrt = 'prozent'; aktualisieren(); });\n    el('tu-halbtoene').addEventListener('input', function () { fuehrt = 'halbtoene'; aktualisieren(); });\n    ['tu-von', 'tu-dauer', 'tu-schlaege'].forEach(function (id) { el(id).addEventListener('input', aktualisieren); });\n    el('tu-rate').addEventListener('change', aktualisieren);\n    var kop = el('tu-kopieren'), kopiert = el('tu-kopiert');\n    kop.addEventListener('click', function () {\n        var t = bericht(letztes);\n        if (!t) { return; }\n        if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n            navigator.clipboard.writeText(t).then(function () { kopiert.textContent = T.kopiert; }, function () { kopiert.textContent = T.kopieren_fehler; });\n        } else { kopiert.textContent = T.kopieren_fehler; }\n    });\n    aktualisieren();\n})();\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rechnet ein Ausgangstempo f\u00fcr das Timestretching in ein Zieltempo um: Tempo-Faktor f\u00fcr atempo und rubberband, neue L\u00e4nge in Zeit und Abtastwerten, Schlag- und Taktl\u00e4ngen, die Tonh\u00f6he bei Varispeed und die ISRC-Regel f\u00fcr L\u00e4ngen\u00e4nderungen, mit ffmpeg-Befehlen aus einer Messung.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":9283,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-tool-base.php","meta":{"footnotes":""},"tags":[92903],"class_list":["post-20346","page","type-page","status-publish","hentry","tag-music-production-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tempo-Umrechner f\u00fcr Timestretching: Tempo-Faktor, neue L\u00e4nge und Tonh\u00f6he - Lukas Wojcik - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/tempo-converter-time-stretch-factor-length-pitch\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tempo-Umrechner f\u00fcr Timestretching: Tempo-Faktor, neue L\u00e4nge und Tonh\u00f6he - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Rechnet ein Ausgangstempo f\u00fcr das Timestretching in ein Zieltempo um: Tempo-Faktor f\u00fcr atempo und rubberband, neue L\u00e4nge in Zeit und Abtastwerten, Schlag- und Taktl\u00e4ngen, die Tonh\u00f6he bei Varispeed und die ISRC-Regel f\u00fcr L\u00e4ngen\u00e4nderungen, mit ffmpeg-Befehlen aus einer Messung.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/tempo-converter-time-stretch-factor-length-pitch\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/og-default.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/werkzeuge\\\/tempo-converter-time-stretch-factor-length-pitch\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/werkzeuge\\\/tempo-converter-time-stretch-factor-length-pitch\\\/\",\"name\":\"Tempo-Umrechner f\u00fcr Timestretching: Tempo-Faktor, neue L\u00e4nge und Tonh\u00f6he - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-09-24T09:12:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/werkzeuge\\\/tempo-converter-time-stretch-factor-length-pitch\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/werkzeuge\\\/tempo-converter-time-stretch-factor-length-pitch\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/werkzeuge\\\/tempo-converter-time-stretch-factor-length-pitch\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Toolbox\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/toolbox-2\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Tempo-Umrechner f\u00fcr Timestretching: Tempo-Faktor, neue L\u00e4nge und Tonh\u00f6he\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tempo-Umrechner f\u00fcr Timestretching: Tempo-Faktor, neue L\u00e4nge und Tonh\u00f6he - Lukas Wojcik - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/tempo-converter-time-stretch-factor-length-pitch\/","og_locale":"en_US","og_type":"article","og_title":"Tempo-Umrechner f\u00fcr Timestretching: Tempo-Faktor, neue L\u00e4nge und Tonh\u00f6he - Lukas Wojcik - Blog","og_description":"Rechnet ein Ausgangstempo f\u00fcr das Timestretching in ein Zieltempo um: Tempo-Faktor f\u00fcr atempo und rubberband, neue L\u00e4nge in Zeit und Abtastwerten, Schlag- und Taktl\u00e4ngen, die Tonh\u00f6he bei Varispeed und die ISRC-Regel f\u00fcr L\u00e4ngen\u00e4nderungen, mit ffmpeg-Befehlen aus einer Messung.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/tempo-converter-time-stretch-factor-length-pitch\/","og_site_name":"Lukas Wojcik - Blog","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/og-default.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/tempo-converter-time-stretch-factor-length-pitch\/","url":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/tempo-converter-time-stretch-factor-length-pitch\/","name":"Tempo-Umrechner f\u00fcr Timestretching: Tempo-Faktor, neue L\u00e4nge und Tonh\u00f6he - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"datePublished":"2026-09-24T09:12:56+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/tempo-converter-time-stretch-factor-length-pitch\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/tempo-converter-time-stretch-factor-length-pitch\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/werkzeuge\/tempo-converter-time-stretch-factor-length-pitch\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Toolbox","item":"https:\/\/www.lukaswojcik.com\/blog\/toolbox-2\/"},{"@type":"ListItem","position":3,"name":"Tempo-Umrechner f\u00fcr Timestretching: Tempo-Faktor, neue L\u00e4nge und Tonh\u00f6he"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/20346","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=20346"}],"version-history":[{"count":0,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/20346\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/9283"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=20346"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=20346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}