דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. מחשבים וטכנולוגיה
  3. רשתות
  4. שיתוף | 'פלאפון מייל' - הגירסא המשופרת של מייל לפלאפון, כולל קבלת ושליחת מיילים דרך הפלאפון, קריינות מקצועית, ועוד...

שיתוף | 'פלאפון מייל' - הגירסא המשופרת של מייל לפלאפון, כולל קבלת ושליחת מיילים דרך הפלאפון, קריינות מקצועית, ועוד...

מתוזמן נעוץ נעול הועבר רשתות
47 פוסטים 13 כותבים 818 צפיות 20 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • פלמנמוניפ מנותק
    פלמנמוניפ מנותק
    פלמנמוני
    מדריכים עימוד
    כתב נערך לאחרונה על ידי
    #38

    גירסא 1.1

    מה נוסף?

    • גליון 'אנשי קשר'
    • שליטה במהירות ההקראה בקריינות גוגל קלאוד
    • תוקן באג שהיה במנוע זיהוי דיבור
    תגובה 1 תגובה אחרונה
    2
    • פלמנמוניפ פלמנמוני

      @האדם-החושב זהו, שקישור זה לא עבד לי.
      חוששני שצריך דרך גוגל קלאוד, ולכן לא נראה לי שזה כדאי את ההשקעה.
      איזה מפתח API הכנסת?

      האדם החושבה מנותק
      האדם החושבה מנותק
      האדם החושב
      מדריכים
      כתב נערך לאחרונה על ידי האדם החושב
      #39

      @פלמנמוני

      function tts(text){
        const model = "gemini-2.5-flash-preview-tts"
        const token = "gemini token"
        const url = `https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${token}`
        const payload = {
          contents: [{
            parts:[{
              text: text
            }]
          }],
          generationConfig: {
            responseModalities: ["AUDIO"],
            speechConfig: {
              voiceConfig: {
                prebuiltVoiceConfig: {
                  voiceName: "Kore"
                }
              }
            }
          },
          model: "gemini-2.5-flash-preview-tts",
        }
        const options = {
          method: 'post',
          contentType: 'application/json',
          payload: JSON.stringify(payload)
        }
        const response = JSON.parse(UrlFetchApp.fetch(url, options))
        console.log(response)
        return response.candidates[0].content.parts[0].inlineData.data
      }
      
      function test(){
        const text = "בדיקת tts gemini";
        const pcmBase64 = tts(text);
        const pcmBytes = Utilities.base64Decode(pcmBase64);
        const blob = Utilities.newBlob(pcmBytes, 'application/octet-stream', 'test.pcm');
        DriveApp.createFile(blob);
      }
      
      

      ואז הורדת הקובץ מהדרייב והמרה בעזרת ffmpeg

      ffmpeg -f s16le -ar 24000 -ac 1 -i test.pcm test.wav
      

      test.wav
      test.pcm

      צריך למצוא דרך להמיר את זה בגוגל סקריפט.

      עריכה:
      הצלחתי

      function tts(text){
        const model = "gemini-2.5-flash-preview-tts"
        const token = "gemini token"
        const url = `https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${token}`
        const payload = {
          contents: [{
            parts:[{
              text: text
            }]
          }],
          generationConfig: {
            responseModalities: ["AUDIO"],
            speechConfig: {
              voiceConfig: {
                prebuiltVoiceConfig: {
                  voiceName: "Kore"
                }
              }
            }
          },
          model: "gemini-2.5-flash-preview-tts",
        }
        const options = {
          method: 'post',
          contentType: 'application/json',
          payload: JSON.stringify(payload)
        }
        const response = JSON.parse(UrlFetchApp.fetch(url, options))
        return response.candidates[0].content.parts[0].inlineData.data
      }
      
      function createWavFromPcm(pcmBytes, sampleRate, numChannels, bitsPerSample) {
        const byteRate = sampleRate * numChannels * (bitsPerSample / 8);
        const blockAlign = numChannels * (bitsPerSample / 8);
        const dataSize = pcmBytes.length;
        const fileSize = 44 - 8 + dataSize;
      
        const header = [];
      
        function pushString(s) {
          for (let i = 0; i < s.length; i++) header.push(s.charCodeAt(i));
        }
      
        function pushUint32LE(val) {
          header.push(val & 0xFF,
            (val >> 8) & 0xFF,
            (val >> 16) & 0xFF,
            (val >> 24) & 0xFF);
        }
      
        function pushUint16LE(val) {
          header.push(val & 0xFF,
            (val >> 8) & 0xFF);
        }
      
        pushString("RIFF");
        pushUint32LE(fileSize);
        pushString("WAVE");
      
        pushString("fmt ");
        pushUint32LE(16);
        pushUint16LE(1);
        pushUint16LE(numChannels);
        pushUint32LE(sampleRate);
        pushUint32LE(byteRate);
        pushUint16LE(blockAlign);
        pushUint16LE(bitsPerSample);
      
        pushString("data");
        pushUint32LE(dataSize);
        const headerBytes = new Uint8Array(header);
        const out = new Uint8Array(headerBytes.length + pcmBytes.length);
        out.set(headerBytes, 0);
        out.set(pcmBytes, headerBytes.length);
      
        return out;
      }
      
      
      function test(){
        const text = "נשלחה אליך הודעת מייל חדשה בתאריך א כסליו תשפו";
        const pcmBase64 = tts(text);
        const pcmBytes = Utilities.base64Decode(pcmBase64);
        const pcmBlob = Utilities.newBlob(pcmBytes, 'application/octet-stream', 'test.pcm');
        DriveApp.createFile(pcmBlob);
      
        const sampleRate = 24000;
        const channels = 1;
        const bits = 16;
      
        const wavBytes = createWavFromPcm(pcmBytes, sampleRate, channels, bits);
        const wavBlob = Utilities.newBlob(wavBytes, 'audio/wav', 'test.wav');
        DriveApp.createFile(wavBlob);
      }
      
      

      אגב, לגבי שליחת מיילים אפשר לשלוח על ידי שלוחת api במקום לקרוא את הymgr בשלוחת קבלת נתונים (יצטרכו לעשות פריסה של הסקריפט ולהוסיף פונקציית doGet ולהשתיק את הודעת אין מענה משרת api.) כך הוא לא יצטרך בכל ריצה לבדוק את הymgr וכך הסקריפט יהיה מהיר יותר.

      ש ת פלמנמוניפ 3 תגובות תגובה אחרונה
      0
      • האדם החושבה האדם החושב

        @פלמנמוני

        function tts(text){
          const model = "gemini-2.5-flash-preview-tts"
          const token = "gemini token"
          const url = `https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${token}`
          const payload = {
            contents: [{
              parts:[{
                text: text
              }]
            }],
            generationConfig: {
              responseModalities: ["AUDIO"],
              speechConfig: {
                voiceConfig: {
                  prebuiltVoiceConfig: {
                    voiceName: "Kore"
                  }
                }
              }
            },
            model: "gemini-2.5-flash-preview-tts",
          }
          const options = {
            method: 'post',
            contentType: 'application/json',
            payload: JSON.stringify(payload)
          }
          const response = JSON.parse(UrlFetchApp.fetch(url, options))
          console.log(response)
          return response.candidates[0].content.parts[0].inlineData.data
        }
        
        function test(){
          const text = "בדיקת tts gemini";
          const pcmBase64 = tts(text);
          const pcmBytes = Utilities.base64Decode(pcmBase64);
          const blob = Utilities.newBlob(pcmBytes, 'application/octet-stream', 'test.pcm');
          DriveApp.createFile(blob);
        }
        
        

        ואז הורדת הקובץ מהדרייב והמרה בעזרת ffmpeg

        ffmpeg -f s16le -ar 24000 -ac 1 -i test.pcm test.wav
        

        test.wav
        test.pcm

        צריך למצוא דרך להמיר את זה בגוגל סקריפט.

        עריכה:
        הצלחתי

        function tts(text){
          const model = "gemini-2.5-flash-preview-tts"
          const token = "gemini token"
          const url = `https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${token}`
          const payload = {
            contents: [{
              parts:[{
                text: text
              }]
            }],
            generationConfig: {
              responseModalities: ["AUDIO"],
              speechConfig: {
                voiceConfig: {
                  prebuiltVoiceConfig: {
                    voiceName: "Kore"
                  }
                }
              }
            },
            model: "gemini-2.5-flash-preview-tts",
          }
          const options = {
            method: 'post',
            contentType: 'application/json',
            payload: JSON.stringify(payload)
          }
          const response = JSON.parse(UrlFetchApp.fetch(url, options))
          return response.candidates[0].content.parts[0].inlineData.data
        }
        
        function createWavFromPcm(pcmBytes, sampleRate, numChannels, bitsPerSample) {
          const byteRate = sampleRate * numChannels * (bitsPerSample / 8);
          const blockAlign = numChannels * (bitsPerSample / 8);
          const dataSize = pcmBytes.length;
          const fileSize = 44 - 8 + dataSize;
        
          const header = [];
        
          function pushString(s) {
            for (let i = 0; i < s.length; i++) header.push(s.charCodeAt(i));
          }
        
          function pushUint32LE(val) {
            header.push(val & 0xFF,
              (val >> 8) & 0xFF,
              (val >> 16) & 0xFF,
              (val >> 24) & 0xFF);
          }
        
          function pushUint16LE(val) {
            header.push(val & 0xFF,
              (val >> 8) & 0xFF);
          }
        
          pushString("RIFF");
          pushUint32LE(fileSize);
          pushString("WAVE");
        
          pushString("fmt ");
          pushUint32LE(16);
          pushUint16LE(1);
          pushUint16LE(numChannels);
          pushUint32LE(sampleRate);
          pushUint32LE(byteRate);
          pushUint16LE(blockAlign);
          pushUint16LE(bitsPerSample);
        
          pushString("data");
          pushUint32LE(dataSize);
          const headerBytes = new Uint8Array(header);
          const out = new Uint8Array(headerBytes.length + pcmBytes.length);
          out.set(headerBytes, 0);
          out.set(pcmBytes, headerBytes.length);
        
          return out;
        }
        
        
        function test(){
          const text = "נשלחה אליך הודעת מייל חדשה בתאריך א כסליו תשפו";
          const pcmBase64 = tts(text);
          const pcmBytes = Utilities.base64Decode(pcmBase64);
          const pcmBlob = Utilities.newBlob(pcmBytes, 'application/octet-stream', 'test.pcm');
          DriveApp.createFile(pcmBlob);
        
          const sampleRate = 24000;
          const channels = 1;
          const bits = 16;
        
          const wavBytes = createWavFromPcm(pcmBytes, sampleRate, channels, bits);
          const wavBlob = Utilities.newBlob(wavBytes, 'audio/wav', 'test.wav');
          DriveApp.createFile(wavBlob);
        }
        
        

        אגב, לגבי שליחת מיילים אפשר לשלוח על ידי שלוחת api במקום לקרוא את הymgr בשלוחת קבלת נתונים (יצטרכו לעשות פריסה של הסקריפט ולהוסיף פונקציית doGet ולהשתיק את הודעת אין מענה משרת api.) כך הוא לא יצטרך בכל ריצה לבדוק את הymgr וכך הסקריפט יהיה מהיר יותר.

        ש מנותק
        ש מנותק
        שקיעות בלימוד
        כתב נערך לאחרונה על ידי
        #40

        משהוא יודע למה זה קורה ?
        אולי בגלל הסינון שלי ?

        675ed095-0810-43fe-80b7-4f67385e86fa-image.png

        ח תגובה 1 תגובה אחרונה
        0
        • ש שקיעות בלימוד

          משהוא יודע למה זה קורה ?
          אולי בגלל הסינון שלי ?

          675ed095-0810-43fe-80b7-4f67385e86fa-image.png

          ח מנותק
          ח מנותק
          חסיד פשוט
          כתב נערך לאחרונה על ידי
          #41

          @שקיעות-בלימוד אכן זה בגלל נטפרי שצריך לשלוח פניה

          ש תגובה 1 תגובה אחרונה
          0
          • ח חסיד פשוט

            @שקיעות-בלימוד אכן זה בגלל נטפרי שצריך לשלוח פניה

            ש מנותק
            ש מנותק
            שקיעות בלימוד
            כתב נערך לאחרונה על ידי
            #42

            @חסיד-פשוט
            אין לי בעיה לשלוח רק מה אני צריך לבקש מהם לפתוח ?

            ח תגובה 1 תגובה אחרונה
            0
            • ש שקיעות בלימוד

              @חסיד-פשוט
              אין לי בעיה לשלוח רק מה אני צריך לבקש מהם לפתוח ?

              ח מנותק
              ח מנותק
              חסיד פשוט
              כתב נערך לאחרונה על ידי
              #43

              @שקיעות-בלימוד שלח להם הסרטות מסך מהקובץ הגדרות

              ש תגובה 1 תגובה אחרונה
              1
              • ח חסיד פשוט

                @שקיעות-בלימוד שלח להם הסרטות מסך מהקובץ הגדרות

                ש מנותק
                ש מנותק
                שקיעות בלימוד
                כתב נערך לאחרונה על ידי
                #44

                @חסיד-פשוט
                וזה ישחרר לכולם או רק לי ?

                האדם החושבה תגובה 1 תגובה אחרונה
                0
                • ש שקיעות בלימוד

                  @חסיד-פשוט
                  וזה ישחרר לכולם או רק לי ?

                  האדם החושבה מנותק
                  האדם החושבה מנותק
                  האדם החושב
                  מדריכים
                  כתב נערך לאחרונה על ידי
                  #45

                  @שקיעות-בלימוד רק לך.

                  תגובה 1 תגובה אחרונה
                  1
                  • האדם החושבה האדם החושב

                    @פלמנמוני

                    function tts(text){
                      const model = "gemini-2.5-flash-preview-tts"
                      const token = "gemini token"
                      const url = `https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${token}`
                      const payload = {
                        contents: [{
                          parts:[{
                            text: text
                          }]
                        }],
                        generationConfig: {
                          responseModalities: ["AUDIO"],
                          speechConfig: {
                            voiceConfig: {
                              prebuiltVoiceConfig: {
                                voiceName: "Kore"
                              }
                            }
                          }
                        },
                        model: "gemini-2.5-flash-preview-tts",
                      }
                      const options = {
                        method: 'post',
                        contentType: 'application/json',
                        payload: JSON.stringify(payload)
                      }
                      const response = JSON.parse(UrlFetchApp.fetch(url, options))
                      console.log(response)
                      return response.candidates[0].content.parts[0].inlineData.data
                    }
                    
                    function test(){
                      const text = "בדיקת tts gemini";
                      const pcmBase64 = tts(text);
                      const pcmBytes = Utilities.base64Decode(pcmBase64);
                      const blob = Utilities.newBlob(pcmBytes, 'application/octet-stream', 'test.pcm');
                      DriveApp.createFile(blob);
                    }
                    
                    

                    ואז הורדת הקובץ מהדרייב והמרה בעזרת ffmpeg

                    ffmpeg -f s16le -ar 24000 -ac 1 -i test.pcm test.wav
                    

                    test.wav
                    test.pcm

                    צריך למצוא דרך להמיר את זה בגוגל סקריפט.

                    עריכה:
                    הצלחתי

                    function tts(text){
                      const model = "gemini-2.5-flash-preview-tts"
                      const token = "gemini token"
                      const url = `https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${token}`
                      const payload = {
                        contents: [{
                          parts:[{
                            text: text
                          }]
                        }],
                        generationConfig: {
                          responseModalities: ["AUDIO"],
                          speechConfig: {
                            voiceConfig: {
                              prebuiltVoiceConfig: {
                                voiceName: "Kore"
                              }
                            }
                          }
                        },
                        model: "gemini-2.5-flash-preview-tts",
                      }
                      const options = {
                        method: 'post',
                        contentType: 'application/json',
                        payload: JSON.stringify(payload)
                      }
                      const response = JSON.parse(UrlFetchApp.fetch(url, options))
                      return response.candidates[0].content.parts[0].inlineData.data
                    }
                    
                    function createWavFromPcm(pcmBytes, sampleRate, numChannels, bitsPerSample) {
                      const byteRate = sampleRate * numChannels * (bitsPerSample / 8);
                      const blockAlign = numChannels * (bitsPerSample / 8);
                      const dataSize = pcmBytes.length;
                      const fileSize = 44 - 8 + dataSize;
                    
                      const header = [];
                    
                      function pushString(s) {
                        for (let i = 0; i < s.length; i++) header.push(s.charCodeAt(i));
                      }
                    
                      function pushUint32LE(val) {
                        header.push(val & 0xFF,
                          (val >> 8) & 0xFF,
                          (val >> 16) & 0xFF,
                          (val >> 24) & 0xFF);
                      }
                    
                      function pushUint16LE(val) {
                        header.push(val & 0xFF,
                          (val >> 8) & 0xFF);
                      }
                    
                      pushString("RIFF");
                      pushUint32LE(fileSize);
                      pushString("WAVE");
                    
                      pushString("fmt ");
                      pushUint32LE(16);
                      pushUint16LE(1);
                      pushUint16LE(numChannels);
                      pushUint32LE(sampleRate);
                      pushUint32LE(byteRate);
                      pushUint16LE(blockAlign);
                      pushUint16LE(bitsPerSample);
                    
                      pushString("data");
                      pushUint32LE(dataSize);
                      const headerBytes = new Uint8Array(header);
                      const out = new Uint8Array(headerBytes.length + pcmBytes.length);
                      out.set(headerBytes, 0);
                      out.set(pcmBytes, headerBytes.length);
                    
                      return out;
                    }
                    
                    
                    function test(){
                      const text = "נשלחה אליך הודעת מייל חדשה בתאריך א כסליו תשפו";
                      const pcmBase64 = tts(text);
                      const pcmBytes = Utilities.base64Decode(pcmBase64);
                      const pcmBlob = Utilities.newBlob(pcmBytes, 'application/octet-stream', 'test.pcm');
                      DriveApp.createFile(pcmBlob);
                    
                      const sampleRate = 24000;
                      const channels = 1;
                      const bits = 16;
                    
                      const wavBytes = createWavFromPcm(pcmBytes, sampleRate, channels, bits);
                      const wavBlob = Utilities.newBlob(wavBytes, 'audio/wav', 'test.wav');
                      DriveApp.createFile(wavBlob);
                    }
                    
                    

                    אגב, לגבי שליחת מיילים אפשר לשלוח על ידי שלוחת api במקום לקרוא את הymgr בשלוחת קבלת נתונים (יצטרכו לעשות פריסה של הסקריפט ולהוסיף פונקציית doGet ולהשתיק את הודעת אין מענה משרת api.) כך הוא לא יצטרך בכל ריצה לבדוק את הymgr וכך הסקריפט יהיה מהיר יותר.

                    ת מנותק
                    ת מנותק
                    תלמידהון
                    כתב נערך לאחרונה על ידי
                    #46

                    @האדם-החושב כתב בשיתוף | 'פלאפון מייל' - הגירסא המשופרת של מייל לפלאפון, כולל קבלת ושליחת מיילים דרך הפלאפון, קריינות מקצועית, ועוד...:

                    אגב, לגבי שליחת מיילים אפשר לשלוח על ידי שלוחת api במקום לקרוא את הymgr בשלוחת קבלת נתונים (יצטרכו לעשות פריסה של הסקריפט ולהוסיף פונקציית doGet ולהשתיק את הודעת אין מענה משרת api.) כך הוא לא יצטרך בכל ריצה לבדוק את הymgr וכך הסקריפט יהיה מהיר יותר.

                    זה מה שעשיתי לפני מספר שנים
                    לא רציתי לפרסם את זה כי לא הייתי בטוח שזה יהיה פשוט לכולם

                    תגובה 1 תגובה אחרונה
                    0
                    • האדם החושבה האדם החושב

                      @פלמנמוני

                      function tts(text){
                        const model = "gemini-2.5-flash-preview-tts"
                        const token = "gemini token"
                        const url = `https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${token}`
                        const payload = {
                          contents: [{
                            parts:[{
                              text: text
                            }]
                          }],
                          generationConfig: {
                            responseModalities: ["AUDIO"],
                            speechConfig: {
                              voiceConfig: {
                                prebuiltVoiceConfig: {
                                  voiceName: "Kore"
                                }
                              }
                            }
                          },
                          model: "gemini-2.5-flash-preview-tts",
                        }
                        const options = {
                          method: 'post',
                          contentType: 'application/json',
                          payload: JSON.stringify(payload)
                        }
                        const response = JSON.parse(UrlFetchApp.fetch(url, options))
                        console.log(response)
                        return response.candidates[0].content.parts[0].inlineData.data
                      }
                      
                      function test(){
                        const text = "בדיקת tts gemini";
                        const pcmBase64 = tts(text);
                        const pcmBytes = Utilities.base64Decode(pcmBase64);
                        const blob = Utilities.newBlob(pcmBytes, 'application/octet-stream', 'test.pcm');
                        DriveApp.createFile(blob);
                      }
                      
                      

                      ואז הורדת הקובץ מהדרייב והמרה בעזרת ffmpeg

                      ffmpeg -f s16le -ar 24000 -ac 1 -i test.pcm test.wav
                      

                      test.wav
                      test.pcm

                      צריך למצוא דרך להמיר את זה בגוגל סקריפט.

                      עריכה:
                      הצלחתי

                      function tts(text){
                        const model = "gemini-2.5-flash-preview-tts"
                        const token = "gemini token"
                        const url = `https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${token}`
                        const payload = {
                          contents: [{
                            parts:[{
                              text: text
                            }]
                          }],
                          generationConfig: {
                            responseModalities: ["AUDIO"],
                            speechConfig: {
                              voiceConfig: {
                                prebuiltVoiceConfig: {
                                  voiceName: "Kore"
                                }
                              }
                            }
                          },
                          model: "gemini-2.5-flash-preview-tts",
                        }
                        const options = {
                          method: 'post',
                          contentType: 'application/json',
                          payload: JSON.stringify(payload)
                        }
                        const response = JSON.parse(UrlFetchApp.fetch(url, options))
                        return response.candidates[0].content.parts[0].inlineData.data
                      }
                      
                      function createWavFromPcm(pcmBytes, sampleRate, numChannels, bitsPerSample) {
                        const byteRate = sampleRate * numChannels * (bitsPerSample / 8);
                        const blockAlign = numChannels * (bitsPerSample / 8);
                        const dataSize = pcmBytes.length;
                        const fileSize = 44 - 8 + dataSize;
                      
                        const header = [];
                      
                        function pushString(s) {
                          for (let i = 0; i < s.length; i++) header.push(s.charCodeAt(i));
                        }
                      
                        function pushUint32LE(val) {
                          header.push(val & 0xFF,
                            (val >> 8) & 0xFF,
                            (val >> 16) & 0xFF,
                            (val >> 24) & 0xFF);
                        }
                      
                        function pushUint16LE(val) {
                          header.push(val & 0xFF,
                            (val >> 8) & 0xFF);
                        }
                      
                        pushString("RIFF");
                        pushUint32LE(fileSize);
                        pushString("WAVE");
                      
                        pushString("fmt ");
                        pushUint32LE(16);
                        pushUint16LE(1);
                        pushUint16LE(numChannels);
                        pushUint32LE(sampleRate);
                        pushUint32LE(byteRate);
                        pushUint16LE(blockAlign);
                        pushUint16LE(bitsPerSample);
                      
                        pushString("data");
                        pushUint32LE(dataSize);
                        const headerBytes = new Uint8Array(header);
                        const out = new Uint8Array(headerBytes.length + pcmBytes.length);
                        out.set(headerBytes, 0);
                        out.set(pcmBytes, headerBytes.length);
                      
                        return out;
                      }
                      
                      
                      function test(){
                        const text = "נשלחה אליך הודעת מייל חדשה בתאריך א כסליו תשפו";
                        const pcmBase64 = tts(text);
                        const pcmBytes = Utilities.base64Decode(pcmBase64);
                        const pcmBlob = Utilities.newBlob(pcmBytes, 'application/octet-stream', 'test.pcm');
                        DriveApp.createFile(pcmBlob);
                      
                        const sampleRate = 24000;
                        const channels = 1;
                        const bits = 16;
                      
                        const wavBytes = createWavFromPcm(pcmBytes, sampleRate, channels, bits);
                        const wavBlob = Utilities.newBlob(wavBytes, 'audio/wav', 'test.wav');
                        DriveApp.createFile(wavBlob);
                      }
                      
                      

                      אגב, לגבי שליחת מיילים אפשר לשלוח על ידי שלוחת api במקום לקרוא את הymgr בשלוחת קבלת נתונים (יצטרכו לעשות פריסה של הסקריפט ולהוסיף פונקציית doGet ולהשתיק את הודעת אין מענה משרת api.) כך הוא לא יצטרך בכל ריצה לבדוק את הymgr וכך הסקריפט יהיה מהיר יותר.

                      פלמנמוניפ מנותק
                      פלמנמוניפ מנותק
                      פלמנמוני
                      מדריכים עימוד
                      כתב נערך לאחרונה על ידי פלמנמוני
                      #47

                      @האדם-החושב כתב בשיתוף | 'פלאפון מייל' - הגירסא המשופרת של מייל לפלאפון, כולל קבלת ושליחת מיילים דרך הפלאפון, קריינות מקצועית, ועוד...:

                      אגב, לגבי שליחת מיילים אפשר לשלוח על ידי שלוחת api במקום לקרוא את הymgr בשלוחת קבלת נתונים (יצטרכו לעשות פריסה של הסקריפט ולהוסיף פונקציית doGet ולהשתיק את הודעת אין מענה משרת api.) כך הוא לא יצטרך בכל ריצה לבדוק את הymgr וכך הסקריפט יהיה מהיר יותר.

                      ככה עשיתי בהתחלה, אבל זה כבר מסבך את המשתמש הפשוט לפרוס ולהכניס את הקישור, מה גם שיש משתמשים שחסום להם גוגל סקריפט, לכן עברתי לשיטה הזו

                      ואגב, לא הצלחתי לעשות שלוחת API שתעבוד טוב, כי משום מה אם יש @ בשליחה הוא נדפק

                      ואגב, זה לוקח לו כחצי שניה לבדוק שאין מייל חדש...

                      לגבי הTTS אבדוק בעז"ה
                      עריכה: בדקתי ועובד מצוין!
                      היום אין לי זמן, אולי במוצ"ש אעשה גירסא חדשה
                      כמדומה שכדאי שברירת מחדל זה יעבוד עם גוגל קלאוד (זה מהיר פי 10), ורק אם זה נכשל, כמו אם המפתח אינו של גוגל קלאוד זה יעבוד ככה, אשמח לחוות דעתך.
                      בנתיים יש מעלות לזה ולזה, למשל: בג'מיני אפשר לעשות קולות שונים לכותרות, אבל בגוגל קלאוד אפשר לשלוט על מהירות ההקראה.

                      תגובה 1 תגובה אחרונה
                      0

                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • חוקי הפורום
                      • פופולרי
                      • לא נפתר
                      • משתמשים
                      • חיפוש גוגל בפורום
                      • צור קשר