דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • 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.3k
נושאים
169
שיתופים
0
קבוצות
4
עוקבים
24
עוקב אחרי
2

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

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

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

    בנתיים יש מעלות לזה ולזה, למשל: בג'מיני אפשר לעשות קולות שונים לכותרות, אבל בגוגל קלאוד אפשר לשלוט על מהירות ההקראה.

    גם בgemini אפשר עם פרומפט, אם כי זה לא מדע מדוייק.

    רשתות

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

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

    רשתות

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

    @פלמנמוני

    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 וכך הסקריפט יהיה מהיר יותר.

    רשתות

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

    @פלמנמוני זאת ספרייה לpython, הבקשות מאחורי הקלעים.
    לכאו' זה הלינק הזה:

    https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-tts:generateContent?key=
    
    רשתות

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

    @פלמנמוני בpython זה נראה כך:

    import io
    import wave
    
    from google import genai
    from google.genai import types
    
    
    def tts_single_speaker(token: str, text: str, model: str = "gemini-2.5-flash-preview-tts", voice: str = "Zephyr") -> bytes | None:
        client = genai.Client(api_key=token)
        response = client.models.generate_content(
            model=model,
            contents=[types.Part.from_text(text=text)],
            config=types.GenerateContentConfig(
                response_modalities=["AUDIO"],
                speech_config=types.SpeechConfig(
                    voice_config=types.VoiceConfig(
                        prebuilt_voice_config=types.PrebuiltVoiceConfig(
                            voice_name=voice
                        )
                    )
                ),
            )
        )
        if response and response.candidates and response.candidates[0] and response.candidates[0].content and response.candidates[0].content.parts and response.candidates[0].content.parts[0].inline_data:
            return response.candidates[0].content.parts[0].inline_data.data
        return None
    
    
    def wave_file(pcm, channels=1, rate=24000, sample_width=2) -> bytes:
        buf = io.BytesIO()
        with wave.open(buf, "wb") as wf:
            wf.setnchannels(channels)
            wf.setsampwidth(sample_width)
            wf.setframerate(rate)
            wf.writeframes(pcm)
        return buf.getvalue()
    
    def main():
        text = "שלום, זהו מבחן של המערכת להמרת טקסט לדיבור."
        token = "YOUR_API_KEY_HERE"
        audio_pcm = tts_single_speaker(token, text)
        if audio_pcm:
            audio_bytes = wave_file(audio_pcm)
            with open("output.wav", "wb") as f:
                f.write(audio_bytes)
            print("Audio content written to output.wav")
        else:
            print("Failed to generate audio.")
    

    פעם ניסיתי לעשות את זה בgoogle script אבל לא הצלחתי לתרגם את החלק של המרת הpcm לwav.

    רשתות

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

    @פלמנמוני למה שלא תעשה tts דרך gemini?
    (מודל gemini-2.5-flash-preview-tts gemini-2.5-pro-preview-tts הוא חינמי עד 15 בקשות ביום).
    דרך גוגל קלאוד זה חינמי רק עד 3 חודשים ולדעתי הוא מביא תוצאות פחות טובות.

    רשתות

  • בקשת מידע | שמיעת מיקום וזמן המנין הקרוב
    האדם החושבה האדם החושב

    @במה כתב בבקשת מידע | שמיעת מיקום וזמן המנין הקרוב:

    האם זה שנדרים פלוס שחררו את API שלהם יכול לעזור בענין?

    היכן נמצא התיעוד?

    מערכות IVR - ימות המשיח

  • בקשת מידע | ספרים דיגיטליים
    האדם החושבה האדם החושב

    @cfopuser יש גם את המאגר הזה:
    https://github.com/zevisvei/sefaria_ebooks
    אתר:
    https://sefaria-ebooks.onrender.com/

    עזרה הדדית - מחשבים וטכנולוגיה

  • בקשה | פתרון יצירתי לסידור תפילה לנוקיה שלא תומכת בJAR
    האדם החושבה האדם החושב

    @הנני-העני
    https://mitmachim.top/topic/65076/שיתוף-סוג-של-תפילון-לנוקיה-225-ולכול-הנוקיות-החדשות
    https://mitmachim.top/topic/84760/להורדה-אפליקצית-תפילה-לנוקיה-225-215-2020?_=1761093772248

    עזרה הדדית - נוקיה

  • מדריך | הקלטות תא קולי והתראת שיחות שלא נענו לקו טלפוני, מייל, וואטסאפ וטלגרם
    האדם החושבה האדם החושב

    @חיים100 שוכר מתכנת שיכתוב לך את הקוד בשביל הדבר הזה...

    שונות וטיפים - סלולרי

  • מדריך | הקלטות תא קולי והתראת שיחות שלא נענו לקו טלפוני, מייל, וואטסאפ וטלגרם
    האדם החושבה האדם החושב

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

    אם זה כבר עובד אם ג'מיני אולי כדאי שג'מיני גם יענה במקומי
    בשלוחה אחת אני יסביר לו מי אני ואיך אני רוצה שהוא יענה לשיחות שלי....

    בשביל זה צריך live-api + שרת שיתווך בין gemini live api ל sip ולהפנות את השיחה לsip ההוא, קיצער, לא ישים בgoogle script בשביל זה צריך שרת אמיתי.

    שונות וטיפים - סלולרי

  • מדריך | הקלטות תא קולי והתראת שיחות שלא נענו לקו טלפוני, מייל, וואטסאפ וטלגרם
    האדם החושבה האדם החושב

    @kasnik נכון, אני מחכה שהמפח הקבוע יהיה בכל הapi.

    שונות וטיפים - סלולרי

  • מדריך | הקלטות תא קולי והתראת שיחות שלא נענו לקו טלפוני, מייל, וואטסאפ וטלגרם
    האדם החושבה האדם החושב

    @חיים100 זה הקוד שאמור להקפיץ את החלון לבקשת הטוקן.
    זה עובד רק אם פתחת את googlescript מתוך googlesheets.

    @kasnik כתב במדריך | הקלטות תא קולי והתראת שיחות שלא נענו לקו טלפוני, מייל, וואטסאפ וטלגרם:

    ב. זה לא באמת משנה כי עוד שניה זה כבר לא עובד בגלל שיטת האימות הדו''ש

    יהיה אפשר להכניס טוקן קבוע.

    שונות וטיפים - סלולרי

  • בירור | איך לקרוא קבצי EPUB עבריים במראה נורמלי
    האדם החושבה האדם החושב

    @זלדי איך אתה מפעיל את calibre?, לא יצא לי להיתקל בקובץ שלא נפתח כראוי בcalibre.

    עזרה הדדית - מחשבים וטכנולוגיה

  • בירור | איך לקרוא קבצי EPUB עבריים במראה נורמלי
    האדם החושבה האדם החושב

    @זלדי calibre קורא מצויין קבצי epub בעברית, אולי הבעיה היא בקובץ הספציפי שיש לך.

    עזרה הדדית - מחשבים וטכנולוגיה

  • שיתוף | תוסף לנוחות העבודה בימות המשיח (פוטר את הקודים והבלאגן...)
    האדם החושבה האדם החושב

    @צול-גאה
    https://f2.freeivr.co.il/topic/12969/להורדה-כל-ההגדרות-בקבצי-טקסט

    מערכות IVR - ימות המשיח

  • שיתוף | תוסף לנוחות העבודה בימות המשיח (פוטר את הקודים והבלאגן...)
    האדם החושבה האדם החושב

    @מים-אחרונים אני מציע מבנה json משהו בסגנון הזה:

    {
        "models": [
            {
                "type": "playfile",
                "description": "השמעת קבצים",
                "documentation": "https://f2.freeivr.co.il/topic/7010/%D7%94%D7%A9%D7%9E%D7%A2%D7%AA-%D7%A7%D7%91%D7%A6%D7%99%D7%9D?_=1758840422645",
                "system messages": [
                    
                ],
                "additionalCommands": [
                    {
                        "command": "folder_to_play",
                        "options": [
                            {
                                "option": "path without prefix",
                                "description": "נתיב ללא /"
                            },
                            {
                                "option": "tfr",
                                "description": "בחירה מאיזה שלוחה להשמיע את הקבצים",
                                "system messages": [
                                    {
                                        "message number": "M2801",
                                        "message text": "להפעלת השמעות אנא הקישו את השלוחה המבוקשת. להפעלת השמעות מתתי תיקיות הקישו את הכתובת המלאה, כאשר בין תיקייה לתיקייה הקישו כוכבית. בסיום הכתובת המלאה הקישו סולמית, להפעלת השלוחה הראשית הקישו סולמית, לחזרה לתפריט קודם הקישו כוכבית וסולמית",
                                        "replaceable": true
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        ]
    }
    

    תוכל להיעזר גם בgoogle sheets הזה:
    https://docs.google.com/spreadsheets/d/17kVm1LvQaJQFQBaHCgdE0rK6Oxr63xg9/edit?gid=1812319104#gid=1812319104

    אני רואה ש @אביי התחיל גם לעבוד על משהו כאן:
    https://github.com/abaye123/YemotSettings/blob/desk/data/AllSettingsYemot/menu.json

    מערכות IVR - ימות המשיח

  • מדריך | הקלטות תא קולי והתראת שיחות שלא נענו לקו טלפוני, מייל, וואטסאפ וטלגרם
    האדם החושבה האדם החושב

    @תלת-פאזי
    תפתח את google script עצמו ותריץ את פונקציית ההתקנה משם
    d91c3826-ea17-4978-894b-a39dc162d451-image.png

    שונות וטיפים - סלולרי
  • התחברות

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

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