მომავალი და გამავალი საუბარი (STT / TTS)
AiHummer კალმები მხრობა შესასვლელთან და საუბარი ყუთიდან გამოსვლისას — ხმოვანი სინთეზისთვის გადახდილი API საჭირო არაა. შემომავალი აუდიოკლიპი ტრანსკრიფცირდება (STT), ტექსტი მართავს აგენტის ჩვეულ პროცესს, და პასუხი ითხოვება ხმოვანი ფორმატში (TTS). ორივე ძრავი არის უფასო და ადგილობრივი და ჩართვა როგორც ბავშვთა ვაზნები: faster-whisper ტრანსკრიფციისთვის და edge-tts სინთეზისთვის.
როგორ მუშაობს ხმის პოვხრობა
ხმის ბრუნვა — ეს არის ჩვეულებრივი აგენტის ბრუნვა აუდიოთი ორივე ბოლოზე:
- გეითი აგზავნის შემომავალ აუდიოსიგნალს საიდქარი STT (
:8001, faster-whisper) და ისევ იღებს ტექსტს. - ეს ტექსტი იწვევს ფუნქციების აღსრულების ჩვეულებრივ მოთხოვნას — იგივე მარშრუტიზატორი, ორკესტრატორი, ინსტრუმენტები და მეხსიერება როგორც ტექსტური შეტყობინება.
- პასუხის ტექსტი იგზავნება TTS საიდკარი (
:8002, edge-tts) და ხმოვანი აუდიო აბრუნებს დამპირებას.
ეს წარმოდგენილია როგორც ერთი საბოლოო წერტილი, POST /v1/voice/turn, რათა არხი ან კლიენტი შეძლოს აუდიოს გადაცემა და მიღება დამოუკიდებლად პროცესების ორგანიზების საჭიროების გარეშე.
საბოლოო წერტილები
| მეთოდი | საბოლოო წერტილი | მიზანი |
|---|---|---|
POST |
/v1/voice/turn |
აუდიოს შემავალი → აგენტის ნაბიჯი → აუდიოს გამავალი |
GET |
/v1/voice/config |
მიმდინარე ხმის კონფიგურაცია (ძრავები, რეგულირების დაყვანები) |
POST /v1/voice/turn HTTP/1.1
Host: localhost:8780
Content-Type: application/json
{
"audio": "<base64-encoded clip>",
"format": "wav"
}
[!NOTE] ხმოვანი შესაძლებლობები ბირთვის ნაწილია და SIP-პლაგინზე მიბმული არ არის. SIP-არხი იყენებს იმავე STT/TTS ძრავებს თავისთვის
localძრავა, მაგრამ ხმა შესვლა/გამოსვლა მუშაობს ყველა კლიენტისთვის, რომელიც იძახებს/v1/voice/turn.
ხმოვანი საიდკარები
| პორტი | საიქარი | ძრავა | როლი | გაერთიანებული |
|---|---|---|---|---|
| 8001 | STT | სწრაფად-ჩურჩული | მოლაპარაკება → ტექსტი | AIHUMMER_STT_URL |
| 8002 | ტექსტიდან წაკითხვა | edge-tts | ტექსტი → თხზულება | AIHUMMER_TTS_URL |
ორივე ძრავა უფასოა და ადგილობრივი: არაფერი იგზავნება გადახდილ ხმოვან სერვისში. როგორც ყოველ გვერდით მანქანაში, გეიტვეი მათზე მიუწვდება URL-ის მიხედვით, რათა შეძლოთ მათი გაშვება გეითვეის გვერდით ან მითითება საერთო ინტანსაცაზე.
ელექტროსადენი
სერვერის მოწყობილობაზე დამონტაჟებელი თვითონ ადგენს STT-სა და TTS-ის URL-ებს. ისინი კატალოგის პარამეტრები — შეცვალოთ ისინი ადმინისტრატორის ინტერფეისიდან (მართვა → პარამეტრები) ან ს aihummer settings set; gateway.env მხოლოდ bootstrap-ისთვის და იგნორირდება შემდეგისთვის:
# Voice in/out (auto-configured by the installer)
aihummer settings set AIHUMMER_STT_URL http://127.0.0.1:8001
aihummer settings set AIHUMMER_TTS_URL http://127.0.0.1:8002
[!TIP] რადგან თითოეული საიდკარი უბრალოდ URL-ია, რამდენიმე გეითვეი შეიძლება ერთი STT/TTS გააზიაროს მაგალითი. ცენტრალიზება უფრო მძიმე ხმოვანი სერვისების ნაცვლად, რომ დაიწყოთ თითოეული ასლის გაშვების ჰოსტ.
აუდიომარშრუტის დაყენება
ხმის ხარისხის სახელური მდებარეობს მედია · ხმა პარამეტრების ჯგუფი და შესაძლებელია ადმინისტრატორის ვებინტერფეისის საშუალებით კონფიგურირება — განმეორებითი განთავსება არ არის საჭირო. ისინი მოიცავს აუდიოს რეალურ დროში გადაცემის გზას:
| პენ | რას აკონტროლებს ეს |
|---|---|
| დუპლექსი | პრული დუპლექსი (საუბრის დროს მოსმენა) წინააღმდეგ ნახევარგო დუპლექსი |
| AEC | აკუსტიკური ექოს კომპენსაცია |
| ხმაურის ჩახშობა | ფილტრავს ფონურ ხმას STT-ის წინ |
| AGC | ავტომატური გაძლიერების რეგულირება (საფეხურის ნორმალიზაცია) |
| VAD-ის ზღვარი | ხმოვანის აქტივობის გამოვლენადობის მგრძნობელობა |
| ჩარევა საუბარში | თვითმხილველს აცადეთ, რომ პასუხის შუაში გაწყვიტოს აგენტი |
GET /v1/voice/config ბრუნდება ეფექტური კონფიგურაცია, რათა კლაიენტმა შეძლოს აქტიური ძრავების და ამ პარამეტრების განსაზღვრა.
ავტომატური ხმოვანი პასუხები
როდის უნდა გახმოვანდეს მზა პასუხი, წყვეტს „Media · Voice“ ჯგუფის სამი პარამეტრი (ვებ-ინტერფეისი → მართვა → პარამეტრები):
| პარამეტრი | გასაღები | მნიშვნელობები |
|---|---|---|
| ავტომატური ხმოვანი პასუხები | AIHUMMER_TTS_AUTO_REPLY |
off — არასდროს; always — ყოველთვის; inbound (ნაგულისხმევი) — მხოლოდ შემომავალ აუდიოზე პასუხად; tagged — აგენტის მკაფიო ხმოვანი ნიშნით |
| წასაკითხი ტექსტის სიმბოლოების ზღვარი | AIHUMMER_TTS_MAX_CHARS |
0 (ნაგულისხმევი) — სრული პასუხის გახმოვანება; 100–10000 — გასახმოვანებელი ტექსტის ზღვარი |
| გრძელი ხმოვანი პასუხების შეჯამება | AIHUMMER_TTS_SUMMARIZE |
ნაგულისხმევად ჩართულია: გრძელ პასუხს მოდელი ამოკლებს ზღვრამდე; თუ მოდელი მიუწვდომელია, ისმის ტექსტის დასაწყისი |
პასუხის სრული ტექსტი ნებისმიერ რეჟიმში რჩება დიალოგის ისტორიაში. off
გამორთავს მხოლოდ ავტომატურ გახმოვანებას — სინთეზის მკაფიო მოთხოვნა
ხელსაწყო tts-ით ისევ მუშაობს.
ცალკეული დიალოგისთვის აგენტს შეუძლია თანამოსაუბრის თხოვნით გადაფაროს ეს
მნიშვნელობები ხელსაწყოებით voice_preferences (მოქმედის წაკითხვა) და
set_voice_preferences (auto, max_chars, summarize-ის დაყენება; ცარიელი
ობიექტი აბრუნებს ინსტანსის ნაგულისხმევ მნიშვნელობებს). ჩაწერა ხელმისაწვდომია
მხოლოდ დიალოგის მონაწილისთვის. ხმოვანი გამოსავალი იღებს კარიბჭის გაშვების
შემდეგ დაკავშირებულ პროვაიდერს და ითვალისწინებს კონკრეტული მომხმარებლის
პარამეტრებს.
სად შემდეგ?
- ტრანსპორტის მოდელი, რომელიც ამ სერვისების საფუძველია: გვერდის ეტლები.
- მოვლენების თხრობა და ვიდეოს გაგება: ლექციის და ვიდეოს თარგმანი.
- ხმა ტელეფონზე: SIP-ტელეფონია.