tts של גוגל טרנסלייט
-
שני קודים שיצרתי עם קלוד, אשמח לשמוע אם תהיה למישהו תועלת מהם ואיך:
קוד PHP:<?php $lang = 'iw'; $text = 'שלום עולם'; $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => 'https://translate.google.com/_/TranslateWebserverUi/data/batchexecute', CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => http_build_query([ 'f.req' => json_encode([ [ [ 'jQ1olc', json_encode([ $text, $lang, null, json_encode(null), ]), null, 'generic', ] ] ]), ]), ]); $response = curl_exec($curl); curl_close($curl); if ($response && preg_match('#//OE[^\\\\]+#', $response, $matches)) { file_put_contents('test.mp3', base64_decode($matches[0])); } else { echo "error\n"; }קוד Node.js:
const fs = require('fs').promises; async function gtranslate_tts(text, lang) { let data = [[[ 'jQ1olc', JSON.stringify([ text, lang, null, "null", ]), null, 'generic', ]]]; let response = await fetch('https://translate.google.com/_/TranslateWebserverUi/data/batchexecute', { method: "POST", body: new URLSearchParams([["f.req", JSON.stringify(data)]]), }); if (!response.ok) { throw new Error(`Response status: ${response.status}`); } let resptext = await response.text(); let mp3b64 = resptext.match(/\/\/OE[^\\]+/); if (!mp3b64) { throw new Error("mp3 not found in response"); } return Buffer.from(mp3b64[0], 'base64'); } async function main() { let res = await gtranslate_tts("שלום עולם", "iw"); await fs.writeFile("test.mp3", res); } main();
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות