ANLEITUNG

Google Sheets vertonen: jede Zeile als MP3

Eine Tabelle ist ein natürlicher Ort für viele kurze Texte: Produktnamen, Vokabeln, Ansagen, Zeilen für ein Spiel oder einen Kurs. Google Sheets kann sie nicht selbst vorlesen, aber Apps Script, die in jede Google-Tabelle eingebaute Skriptsprache, kann eine Text-to-Speech-API aufrufen und das Audio in Google Drive speichern.

Dieser Leitfaden zeigt, wie das mit der Sprach-API von SuperClonica geht: ein kurzes Skript vertont die ausgewählte Zeile, speichert eine MP3 und schreibt den Link neben den Text.

Was Sie brauchen

Ein Google-Konto und einen API-Schlüssel von SuperClonica. Melden Sie sich mit Google oder GitHub bei SuperClonica an und erstellen Sie den Schlüssel im API-Bereich Ihres Arbeitsbereichs; der kostenlose Tarif gibt eine Minute Audio pro Tag, genug für einige Testzeilen.

  • Spalte A enthält die Texte, in Spalte B schreibt das Skript die Links zu den Audiodateien.
  • Öffnen Sie in der Tabelle Erweiterungen → Apps Script.
  • Fügen Sie unter Projekteinstellungen → Skripteigenschaften SUPERCLONICA_KEY mit Ihrem Schlüssel hinzu, damit der Schlüssel nie im Code steht.

Das Skript

Fügen Sie diese Funktion in den Apps-Script-Editor ein und speichern Sie. Sie liest den Text der ausgewählten Zeile, sendet ihn an die API, speichert die MP3 in Ihrem Drive und setzt den Dateilink in Spalte B:

function voiceRow() { const sheet = SpreadsheetApp.getActiveSheet(); const row = sheet.getActiveCell().getRow(); const text = sheet.getRange(row, 1).getValue(); const key = PropertiesService.getScriptProperties().getProperty("SUPERCLONICA_KEY"); const answer = UrlFetchApp.fetch("https://superclonica.com/api/v1/speech", { method: "post", contentType: "application/json", headers: { Authorization: "Bearer " + key, "Idempotency-Key": "row-" + row }, payload: JSON.stringify({ text: text, voice: "F1", language: "de", format: "mp3" }), muteHttpExceptions: true }); if (answer.getResponseCode() !== 200) throw new Error(answer.getContentText()); const file = DriveApp.createFile(answer.getBlob().setName("row-" + row + ".mp3")); sheet.getRange(row, 2).setValue(file.getUrl()); }

Führen Sie sie einmal im Editor aus, um Zugriff auf Tabelle, Drive und externe Anfragen zu erlauben; danach wählen Sie eine Zeile und starten voiceRow. Der Idempotency-Key sorgt dafür, dass ein erneuter Lauf für dieselbe Zeile auf dasselbe Audio wartet, statt es doppelt zu vertonen.

Viele Zeilen auf einmal

Um eine ganze Spalte zu vertonen, gehen Sie die Zeilen in einer Schleife durch und überspringen die mit Link. Ein Apps-Script-Lauf hat ein Zeitlimit, vertonen Sie also einige Dutzend Zeilen pro Lauf und starten Sie dann erneut. Antwortet die API mit 429, ist das 10-Minuten-Fenster Ihres Tarifs aufgebraucht: Der Header Retry-After sagt, nach wie vielen Sekunden es weitergeht. Wählen Sie die Stimme im Katalog von SuperClonica: Im bezahlten Tarif funktioniert jede Katalogstimme über ihre ID, die auf der Seite der Stimme unter „Über die API“ steht.

Kosten und Datenschutz

Der kostenlose Tarif gibt eine Minute Audio pro Tag; der Tarif Start für 5 $ gibt 3 Minuten alle 10 Minuten, bei pausenloser Nutzung bis zu 216 Stunden im Monat. Über die API geht der Text an die Server von SuperClonica und das Audio in Ihr Google Drive. Für Texte, die auf Ihrem Rechner bleiben müssen, betreiben Sie die kostenlose Engine von SuperClonica lokal.