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

    🎙️🎯 זיהוי דיבור בעברית – חינם, איכותי, מדויק!!

    מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
    48 פוסטים 10 כותבים 1.9k צפיות 7 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • C מנותק
      CUBASE @לעזור לכולם
      נערך לאחרונה על ידי

      @לעזור-לכולם הורדת קובץ..

      ל תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • ל מנותק
        לעזור לכולם @CUBASE
        נערך לאחרונה על ידי

        @CUBASE
        אז זה תהליך קצת
        לקבל מימות המשיח את שם ההקלטה ואז להוריד ולשלוח לגוגל ואז לקבל חזרה

        Y תגובה 1 תגובה אחרונה תגובה ציטוט 0
        • Y מנותק
          y6714453 @לעזור לכולם
          נערך לאחרונה על ידי

          @לעזור-לכולם

          איך מקבלים את ההקלטה בקלות לשרת?

          שלוחת API עם הגדרות משהו כמו זה:

          type=api
          api_link=https://
          api_000=stockname,no,record,/9,,no,yes
          
          פ תגובה 1 תגובה אחרונה תגובה ציטוט 1
          • פ מנותק
            פלוס @y6714453
            נערך לאחרונה על ידי

            @y6714453
            אשמח ליצור איתך קשר בנושא!

            Y תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • Y מנותק
              y6714453 @פלוס
              נערך לאחרונה על ידי

              @פלוס כתב ב🎙️🎯 זיהוי דיבור בעברית – חינם, איכותי, מדויק!!:

              @y6714453
              אשמח ליצור איתך קשר בנושא!

              y6714453@gmail.com

              תגובה 1 תגובה אחרונה תגובה ציטוט 1
              • Y y6714453 התייחס לנושא זה
              • י מנותק
                יעקב 1
                נערך לאחרונה על ידי

                אשמח לעזרה. עשיתי את הקוד הזה ברנדר.
                מה אמור להיות מוגדר בשלוחה של הזיהוי דיבור? (זה קוד שאמור לשלוח אלי את המרת הדיבור של המאזין

                import os
                import tempfile
                import logging
                import requests
                from flask import Flask, request, jsonify
                from pydub import AudioSegment
                import speech_recognition as sr
                
                # ------------------ Logging ------------------
                logging.basicConfig(
                    level=logging.INFO,
                    format="%(asctime)s | %(levelname)s | %(message)s",
                    datefmt="%H:%M:%S"
                )
                
                app = Flask(__name__)
                
                # ------------------ Telegram Config ------------------
                
                TELEGRAM_BOT_TOKEN = "***"
                TELEGRAM_CHAT_ID = "***"
                
                # ------------------ Helper Functions ------------------
                
                def add_silence(input_path: str) -> AudioSegment:
                    audio = AudioSegment.from_file(input_path, format="wav")
                    silence = AudioSegment.silent(duration=1000)
                    return silence + audio + silence
                
                def recognize_speech(audio_segment: AudioSegment) -> str:
                    recognizer = sr.Recognizer()
                    try:
                        with tempfile.NamedTemporaryFile(suffix=".wav", delete=True) as temp_wav:
                            audio_segment.export(temp_wav.name, format="wav")
                            with sr.AudioFile(temp_wav.name) as source:
                                data = recognizer.record(source)
                            text = recognizer.recognize_google(data, language="he-IL")
                            logging.info(f"Recognized text: {text}")
                            return text
                    except sr.UnknownValueError:
                        return ""
                    except Exception as e:
                        logging.error(f"Speech recognition error: {e}")
                        return ""
                
                def send_to_telegram(text: str, file_url: str):
                    message = f"🎙️ הודעה חדשה מהמערכת:\n\n{text}\n\n🔗 קובץ ההקלטה:\n{file_url}"
                    url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage"
                    requests.post(url, data={"chat_id": TELEGRAM_CHAT_ID, "text": message})
                
                # ------------------ API Endpoint ------------------
                
                @app.route("/upload_audio", methods=["GET"])
                def upload_audio():
                    file_url = request.args.get("file_url")
                    if not file_url:
                        return jsonify({"error": "Missing 'file_url' parameter"}), 400
                
                    logging.info(f"Downloading audio from: {file_url}")
                    try:
                        response = requests.get(file_url, timeout=15)
                        if response.status_code != 200:
                            return jsonify({"error": "Failed to download audio file"}), 400
                
                        with tempfile.NamedTemporaryFile(suffix=".wav", delete=True) as temp_input:
                            temp_input.write(response.content)
                            temp_input.flush()
                
                            processed_audio = add_silence(temp_input.name)
                            recognized_text = recognize_speech(processed_audio)
                
                            if recognized_text:
                                send_to_telegram(recognized_text, file_url)
                                return jsonify({"recognized_text": recognized_text})
                            else:
                                send_to_telegram(" לא זוהה דיבור.", file_url)
                                return jsonify({"recognized_text": ""})
                
                    except Exception as e:
                        logging.error(f"Error: {e}")
                        return jsonify({"error": str(e)}), 500
                
                # ------------------ Run ------------------
                if __name__ == "__main__":
                    port = int(os.environ.get("PORT", 5000))
                    app.run(host="0.0.0.0", port=port)
                
                Y תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • Y מנותק
                  y6714453 @יעקב 1
                  נערך לאחרונה על ידי

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

                  type=api
                  api_link=שים את הלינק של השרת
                  
                  api_000=stockname,no,record,/9,,no,yes
                  
                  ביטול השליחה בניתוק (מומלץ)
                  api_hangup_send=no
                  
                  מעבר בסיום
                  api_end_goto=/שים את הנתיב למעבר
                  

                  ואל תשכח להעלות קובץ שמע בשם 000 לשלוחה שאומר משהו כמו "אנא הקלט את הודעתך, ובסיום הקש סולמית"

                  י תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • י מנותק
                    יעקב 1 @y6714453
                    נערך לאחרונה על ידי יעקב 1

                    @y6714453 תודה!

                    Y C 2 תגובות תגובה אחרונה תגובה ציטוט 0
                    • Y מנותק
                      y6714453 @יעקב 1
                      נערך לאחרונה על ידי y6714453

                      @יעקב-1
                      בשביל למנוע שגיאה - תחליף בהגדרות השלוחה במקום

                      api_000=stockname,no,record,/9,,no,yes
                      

                      את זה:

                      api_000=file_url,no,record,/9,,no,yes
                      

                      בגלל שבקוד - הוא מחפש פרמטר בשם file_url

                      לפי השורה הזאת בקוד

                          file_url = request.args.get("file_url")
                      

                      י תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • C מנותק
                        CUBASE @יעקב 1
                        נערך לאחרונה על ידי

                        @יעקב-1 הצלחת להתקין ffmpeg על Render בלי שהוא קרס בתהליך הבנייה??

                        י Y 2 תגובות תגובה אחרונה תגובה ציטוט 0
                        • י מנותק
                          יעקב 1 @CUBASE
                          נערך לאחרונה על ידי

                          @CUBASE כתב ב🎙️🎯 זיהוי דיבור בעברית – חינם, איכותי, מדויק!!:

                          ffmpeg

                          לא קרס

                          תגובה 1 תגובה אחרונה תגובה ציטוט 0
                          • י מנותק
                            יעקב 1 @y6714453
                            נערך לאחרונה על ידי

                            @y6714453 יש לי באמת שגיאות בגלל נתיב שגוי
                            מה זה ה9 בשורה הזאת?
                            api_000=file_url,no,record,/9,,no,yes

                            Y תגובה 1 תגובה אחרונה תגובה ציטוט 0
                            • Y מנותק
                              y6714453 @יעקב 1
                              נערך לאחרונה על ידי y6714453

                              @יעקב-1
                              איפה ההקלטה נשמרת
                              ציטוט מהאשכול של המודול:

                              הערך הרביעי (הקלטה)
                              בערך זה ניתן להגדיר היכן תישמר ההקלטה במערכת
                              ברירת מחדל זה נשמר בתיקייה שמוגדרת ב-api_dir
                              ניתן להגדיר מיקום שונה
                              לדוגמה
                              /8 (סלש שמונה)
                              במקרה כזה ההקלטה תישמר בשלוחה 8
                              הערה: חובה לשים / בהתחלה. אסור לשים / בסוף

                              י תגובה 1 תגובה אחרונה תגובה ציטוט 1
                              • Y מנותק
                                y6714453 @CUBASE
                                נערך לאחרונה על ידי

                                @CUBASE כתב ב🎙️🎯 זיהוי דיבור בעברית – חינם, איכותי, מדויק!!:

                                @יעקב-1 הצלחת להתקין ffmpeg על Render בלי שהוא קרס בתהליך הבנייה??

                                למה שיקרוס? זה נחשב ספריה כבדה, או לא נתמכת??

                                C תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                • י מנותק
                                  יעקב 1 @y6714453
                                  נערך לאחרונה על ידי

                                  @y6714453 אמורה להיות רשומה שם השלוחה שבה ההקלטה תישמר או שממנה יקח את ההקלטה להמרה? הוא כל הזמן מחזיר שגיאה שלא מוצא את הנתיב 6&file_url=/9/000.wav

                                  Y תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                  • Y מנותק
                                    y6714453 @יעקב 1
                                    נערך לאחרונה על ידי y6714453

                                    @יעקב-1 כתב ב🎙️🎯 זיהוי דיבור בעברית – חינם, איכותי, מדויק!!:

                                    @y6714453 אמורה להיות רשומה שם השלוחה שבה ההקלטה תישמר או שממנה יקח את ההקלטה להמרה? הוא כל הזמן מחזיר שגיאה שלא מוצא את הנתיב 6&file_url=/9/000.wav

                                    השלוחה שבה ההקלטה תישמר - בלי קשר למה שהשרת מקבל, (אתה יכול גם להשאיר את הערך ריק ואז ההקלטה תישמר בתיקייה api_dir).
                                    זה לא הסיבה לשגיאה.

                                    תעלה פה את השגיאה שאתה מקבל

                                    י תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                    • י מנותק
                                      יעקב 1 @y6714453
                                      נערך לאחרונה על ידי יעקב 1

                                      @y6714453
                                      -כתבתי בשלוחה במקום 9 - 9715, והוא לא מוצא נתיב
                                      11:18:22 | מידע | מוריד אודיו מ: https://www.call2all.co.il/ym/ivr2/9715/000.wav
                                      11:18:23 | שגיאה | הורדת הקובץ נכשלה , סטטוס: 404
                                      11:18:23 | מידע | 127.0.0.1 - - [21/אוקטובר/2025 11:18:23] " קבל /upload_audio?ApiCallId=41c5197c930a84efea2dd8376b949af8994aa0cc&ApiYFCallId=6e6431b4-32d1-4b97-931b-f908c52a096d&ApiDID=&ApiRealDID=&ApiPhone=&ApiExtension=9713&ApiTime=1761045496&file_url=/9715/000.wav HTTP/1.1 " 400 -
                                      .

                                      C תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                      • C מנותק
                                        CUBASE @יעקב 1
                                        נערך לאחרונה על ידי CUBASE

                                        @יעקב-1 הכתובת אינה נכונה, זה אמור להיות

                                        https://www.call2all.co.il/ym/api/DownloadFile?token=$token&path=ivr2:/9715/000.wav
                                        
                                        י תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                        • C מנותק
                                          CUBASE @y6714453
                                          נערך לאחרונה על ידי

                                          @y6714453 כתב ב🎙️🎯 זיהוי דיבור בעברית – חינם, איכותי, מדויק!!:

                                          @CUBASE כתב ב🎙️🎯 זיהוי דיבור בעברית – חינם, איכותי, מדויק!!:

                                          @יעקב-1 הצלחת להתקין ffmpeg על Render בלי שהוא קרס בתהליך הבנייה??

                                          למה שיקרוס? זה נחשב ספריה כבדה, או לא נתמכת??

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

                                          @y6714453 כתב ב🎙️🎯 זיהוי דיבור בעברית – חינם, איכותי, מדויק!!:

                                          ואז ההקלטה תישמר בתיקייה api_dir

                                          טעות, ההקלטה תישמר איפה שמוגדר ב-api_dir שזו הגדרה מאיפה ייקח את הקבצים בשביל ה-api, לדוג אם ב-api_dir מוגדר /1 אז כשתדפיס id_list_message=f-000 זה ישמיע את הקובץ /1/000.wav ולא את הקובץ 000 מהשלוחה הנוכחית

                                          י תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                          • י מנותק
                                            יעקב 1 @CUBASE
                                            נערך לאחרונה על ידי

                                            @CUBASE תודה ! עובד לי מעולה
                                            יש אפשרות להגדיר שאחרי ההמרה ישמיע למאזין את הטקסט שהומר והוא יבחר אם לאשר?
                                            או לכה"פ אפשרות שישמע את ההקלטה הרגילה שלו ויבחר אם לאשר, כי כרגע בסולמית זה מיד מאשר

                                            C 2 תגובות תגובה אחרונה תגובה ציטוט 0
                                            • פוסט ראשון
                                              פוסט אחרון