• דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    • הרשמה
    • התחברות

    tts של גוגל טרנסלייט

    מתוזמן נעוץ נעול הועבר פורום PHP
    1 פוסטים 1 כותבים 5 צפיות 1 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • י מנותק
      יעקב יצחק
      נערך לאחרונה על ידי יעקב יצחק

      שני קודים שיצרתי עם קלוד, אשמח לשמוע אם תהיה למישהו תועלת מהם ואיך:
      קוד 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();
      
      תגובה 1 תגובה אחרונה תגובה ציטוט 0

      שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

      נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

      בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

      הרשמה התחברות
      • פוסט ראשון
        פוסט אחרון