@pcinfogmach
יש קובץ zim של ויקיטסט מסונן
יש קורא zim כתוסף לדפדפן
אולי פשוט כדאי להוסיף את הפונקציונאליות הזו ועל הדרך להרוויח גם את ויקימילון (אם יהיה לי זמן וזה יהיה רלוונטי - אני יכול להשתדל להכין קובץ zim של ויקימילון מסונן)
האדם החושב
-
המלצה | פרוייקט כלי קודש לוורד - ארגז כלים לעורך התורני -
שיתוף | קודש - שפת תכנות בת אלפי שנים...@א.מ.ד. כתב בשיתוף | קודש - שפת תכנות בת אלפי שנים...:
כל ספריית ג'אוה נתמכת.
אוקיי, ובכל זאת, כל הספריות החיצוניות יהיו באנגלית, מה שייצר לך מיקס של rtl ו ltr
@א.מ.ד. כתב בשיתוף | קודש - שפת תכנות בת אלפי שנים...:
לא צריך
ומה אתה עושה במקרה שיש לך שאלה?
-
שיתוף | קודש - שפת תכנות בת אלפי שנים...@א.מ.ד. נכון, אבל:
א. אין לך ספריות.
ב. אין לך תמיכה (לא אנושית ובקושי ai)
ג. הrtl יוציא אותך מדעתך.יש אלפי שפות תכנות, יש סיבה שכולם משתמשים ב10-20 המרכזיות.
-
שיתוף | קודש - שפת תכנות בת אלפי שנים...אף אחד לא התכוין להשתמש בשפה הזו, זה סה"כ גימיק, יש עוד מלא שפות כגון זו.
-
להורדה | תוכנת מבחני תיאוריה@עדלאידע הוספתי אותך.
-
להורדה | תוכנת מבחני תיאוריה@עדלאידע
זה תלויות...
לא יודע, כשאני מריץ אצלי זה נכשל.
מה הuser name שלך בgithub?, אני אתן לך הרשאת עריכה ותעלה את הקובץ לReleases. -
להורדה | תוכנת מבחני תיאוריה@עדלאידע
הצלחת?, בהרצת התוכנה אני מקבל את השגיאה הבאה:Traceback (most recent call last): File "main.py", line 1564, in <module> File "flet\app.py", line 96, in run File "asyncio\runners.py", line 204, in run File "asyncio\runners.py", line 127, in run File "asyncio\base_events.py", line 719, in run_until_complete File "flet\app.py", line 228, in run_async File "flet_desktop\__init__.py", line 54, in open_flet_view_async File "flet_desktop\__init__.py", line 108, in __locate_and_unpack_flet_view FileNotFoundError: Flet executable not found at C:\Users\User\AppData\Local\Temp\_MEI92642\flet_desktop\app -
להורדה | תוכנת מבחני תיאוריהhttps://github.com/zevisvei/therory
ניסיתי לקמפל אותה, ללא הצלחה.
-
מדריך | הקלטות תא קולי והתראת שיחות שלא נענו לקו טלפוני, מייל, וואטסאפ וטלגרם@t.k הקמת בוט? קשה לי לענות על שאלה כללית כזו.
-
בירור | תוכנת פריצה לסיסמאות VBA@מענין-לשמוע למיטב זכרוני אם פותחים את הקובץ דרך Libra office זה עוקף את הסיסמאות.
-
שיתוף | 'פלאפון מייל' - כולל קבלת ושליחת מיילים דרך הפלאפון, קריינות מקצועית, ועוד...@פלמנמוני כתב בשיתוף | 'פלאפון מייל' - הגירסא המשופרת של מייל לפלאפון, כולל קבלת ושליחת מיילים דרך הפלאפון, קריינות מקצועית, ועוד...:
בנתיים יש מעלות לזה ולזה, למשל: בג'מיני אפשר לעשות קולות שונים לכותרות, אבל בגוגל קלאוד אפשר לשלוט על מהירות ההקראה.
גם ב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צריך למצוא דרך להמיר את זה בגוגל סקריפט.
עריכה:
הצלחתי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-ttsgemini-2.5-pro-preview-tts הוא חינמי עד 15 בקשות ביום).
דרך גוגל קלאוד זה חינמי רק עד 3 חודשים ולדעתי הוא מביא תוצאות פחות טובות. -
בקשת מידע | שמיעת מיקום וזמן המנין הקרוב@במה כתב בבקשת מידע | שמיעת מיקום וזמן המנין הקרוב:
האם זה שנדרים פלוס שחררו את API שלהם יכול לעזור בענין?
היכן נמצא התיעוד?