נפתר הגדרה בקו כשהשרת מחזיר id_list_message
-
@soris1989 כתב בהגדרה בקו כשהשרת מחזיר id_list_message:
אני מבין אותך גם אני רגיל לטלפון מקשים. בשביל לתמלל טקסטים אני משלב API צד ג' (כמו open ai), והוא מתמלל ממש בזול: $0.006 דולר לדקת תמלול... ו-0.36$ לשעת תמלול...זה ממש זול (לעומת 0.4 יחידות לתמלול בודד בימות המשיח).
אני גם מנסה לעבוד על זה, אבל יקח קצת זמן.
@soris1989 כתב בהגדרה בקו כשהשרת מחזיר id_list_message:
לגבי המערכת, התקשרתי והקלדתי שס, וזה זרק אותי חזרה לתפריט של בחירת הוצאת ספרים.
זה רק ב2/1 ב2/2 זה מחזיר תגובה.
הנה עכשיו עובד גם ב2/1
-
@עידו שמעתי את זה. תשים פסיקים בין הודעה להודעה. ככה:
t=הודעה 1, הודעה 2, הודעה 3
ואתה יודע מה, לא נראה לי שאתה צריך לשים .t (נקודה t) עבור כל הודעה, פשוט תשרשר את זה ותפריד עם פסיק בין הודעה להודעה.
-
@soris1989 כתב בהגדרה בקו כשהשרת מחזיר id_list_message:
@עידו שמעתי את זה. תשים פסיקים בין הודעה להודעה. ככה:
t=הודעה 1, הודעה 2, הודעה 3
ואתה יודע מה, לא נראה לי שאתה צריך לשים .t (נקודה t) עבור כל הודעה, פשוט תשרשר את זה ותפריד עם פסיק בין הודעה להודעה.
מה ששמעת זה עם פסיקים וכמה רווחים. לא כ"כ עוזר...
-
@עידו אז תשנה את מהירות ההקראה:
https://f2.freeivr.co.il/topic/5646/הסבר-כיצד-ניתן-להקריא-בקול-הרובוט-לשנות-את-קול-הרובוט-ולשנות-את-מהירות-ההקראה-tts?_=1741298640507למשל:
rate=-10 -
@soris1989 כתב בהגדרה בקו כשהשרת מחזיר id_list_message:
@עידו אז תשנה את מהירות ההקראה:
https://f2.freeivr.co.il/topic/5646/הסבר-כיצד-ניתן-להקריא-בקול-הרובוט-לשנות-את-קול-הרובוט-ולשנות-את-מהירות-ההקראה-tts?_=1741298640507למשל:
rate=-10ניסיתי, אז הוא נשמע עוד יותר גרוע, יש איזו התקדמות, עשיתי כמה שינויים, הוא כבר מפריד בין כל t ל t וזה נשמע יותר טוב.
אני בודק למה עדיין יש שגיאה.תודה רבה!
-
@soris1989 שיניתי כמה דברים, מתברר שאסור להיות מקף בתשובה מהשרת ושהפרמטר שמשרשרים צריך להיות צמוד לנקודה, אחרת הוא יוצר שגיאה.
הוספתי substr כמו שאמרת
$output = substr($output,0,-1);
ועכשיו, זה לא מושלם, אבל נשמע הרבה יותר טוב.
-
@soris1989 כתב בהגדרה בקו כשהשרת מחזיר id_list_message:
אני מבין אותך גם אני רגיל לטלפון מקשים. בשביל לתמלל טקסטים אני משלב API צד ג' (כמו open ai)
איך אפשר להשתמש בהם? הרי המערכת לא שולחת את ההקלטה בבקשה?
-
@עידו באמצעות שלוחת API באופן הבא:
- משתמשים ב- read, ומגדירים שזה יהיה הקלטה (record) שזה בחינם, לעומת voice שעולה 0.4 יחידות.
- ההקלטה נשמרת על השרת של ימות המשיח.
- אני מוריד את ההקלטה ל-API שלי (שולח בקשה ל-API של ימות המשיח עבור מתודת קצה DownloadFile)
- לאחר שהקובץ יורד לשרת שלי, אני שולח את הקובץ לתמלול ב-API צד ג' (open-api, או google api וכו'), זה נקרא transcription.
- ה-API צד ג' מחזיר לי את התמלול לשרת שלי.
- ומכאן ממשיכים הלאה ב-flow של הקוד.
-
@soris1989 כתב בהגדרה בקו כשהשרת מחזיר id_list_message:
@עידו באמצעות שלוחת API באופן הבא:
- משתמשים ב- read, ומגדירים שזה יהיה הקלטה (record) שזה בחינם, לעומת voice שעולה 0.4 יחידות.
- ההקלטה נשמרת על השרת של ימות המשיח.
- אני מוריד את ההקלטה ל-API שלי (שולח בקשה ל-API של ימות המשיח עבור מתודת קצה DownloadFile)
- לאחר שהקובץ יורד לשרת שלי, אני שולח את הקובץ לתמלול ב-API צד ג' (open-api, או google api וכו'), זה נקרא transcription.
- ה-API צד ג' מחזיר לי את התמלול לשרת שלי.
- ומכאן ממשיכים הלאה ב-flow של הקוד.
כן זה ברור לי, אבל איך אני יודע מה שם ההקלטה? ואם השם הוא קבוע מראש מה יקרה אם 2 יקליטו?
אגב מעבר לתשלום של 0.4 יחידות יש גם תשלום לפי דקה.
אגב, יש את זה בחינם כמדומני
-
@עידו כשאני משתמש ב-read עם פרמטר record, אז מה שמוחזר בבקשה העוקבת זה הניתוב לקובץ שהוקלט.
ועם הניתוב הזה אתה עושה DownloadFile.שם ההקלטה הוא לא קבוע מראש, אלא כחלק מהפרמטרים שאתה מזין ב-read (עבור record), כלומר שם התיקיה ושם הקובץ שבהם אתה שומר את ההקלטה בימות המשיח, וזה שרירותי, כלומר אתה בוחר את הפרמטרים הללו.
לדוגמא: (קוד להמחשה שבניתי)
if (!$_GET["target_path_of_name"]) { readRecord("t-אנא הקליטו את שמכם בקול ברור, לסיום הקישו סולמית", "target_path_of_name", "", "/6/1", time() . "_caller_name_record"); exit; } $target_path_of_name= $_GET["target_path_of_name"]; $audio_stream = post({ url: 'https://www.call2all.co.il/ym/api/DownloadFile', token: 'username:password', path: "ivr2:$target_path_of_name" }) $destPath = __DIR__ . '/./audio/' . time() . 'bla.wav'; file_put_contents($destPath, $audio_stream); function readRecord( $prompt, $param_name, $get_new_value = '', $api_dir = '', $file_name = '', $play_menu = '', $save_on_hangup = '', $file_exists_record_append = '', $min_record_time = '', $max_record_time = '' ) { echo "read=$prompt=$param_name,$get_new_value,record,$api_dir,$file_name,$play_menu,$save_on_hangup,$file_exists_record_append,$min_record_time,$max_record_time"; }
-
-