Potrzebna pomoc w integracji z text to speech - speech to text
Привет, вот ТЗ, там где на месте исполнителя стоят ??? значит это возможно вы.
Жду предложений
1. Настройка Asterisk FreePBX
Исполнитель: Владимир
Задачи:
- Настроить транки для маршрутизации входящих звонков:
Убедись, что все транки настроены правильно для обработки входящих вызовов через SIP-провайдера.
```bash
nano /etc/asterisk/sip.conf
```
Пример конфигурации транка:
```ini
[my-trunk]
type=peer
host=sip.provider.com
username=my_user
secret=my_secret
fromuser=my_user
context=from-trunk
insecure=invite,port
disallow=all
allow=ulaw
```
- Настроить IVR-меню:
IVR будет перенаправлять звонки на внешний сервис или API для последующей обработки. Настрой IVR-меню через FreePBX GUI, указав правильные внешние маршруты для передачи звонков.
Пример конфигурации:
```ini
[ivr-menu]
exten => s,1,Answer()
exten => s,n,Background(custom/welcome_message)
exten => s,n,WaitExten()
exten => 1,1,Dial(SIP/customer_service,20)
exten => 2,1,Goto(api-processing,s,1)
```
- Проверить правильность передачи звонков через IVR.
---
2. Интеграция Google TTS (Text-to-Speech)
Исполнитель: ???
Задачи:
- Настроить API для связи с Google TTS. Используй официальную библиотеку Google Cloud для TTS на Python:
```bash
pip install google-cloud-texttospeech
```
Пример Python-кода для передачи текста и получения аудио:
```python
from google.cloud import texttospeech
client = texttospeech.TextToSpeechClient()
synthesis_input = texttospeech.SynthesisInput(text="Your response text")
voice = texttospeech.VoiceSelectionParams(
language_code="en-US",
ssml_gender=texttospeech.SsmlVoiceGender.NEUTRAL)
audio_config = texttospeech.AudioConfig(audio_encoding=texttospeech.AudioEncoding.MP3)
response = client.synthesize_speech(
input=synthesis_input, voice=voice, audio_config=audio_config)
# Save the audio output
with open("output.mp3", "wb") as out:
out.write(response.audio_content)
```
- Обеспечить передачу аудиофайла обратно в Asterisk.
Используй команду AGI для воспроизведения аудиофайлов в Asterisk:
```bash
exten => s,n,AGI(google_tts.py,"Your text here")
```
---
3. Интеграция Binom AI
Исполнитель: ???
Задачи:
- Интегрировать с API для передачи аудио запроса клиента в Binom AI.
Вот пример API:
POST https://prod-api.binomai.com/api/public/chats
Request schema: ChatRequest
Response schema: Chat
Instructions:
Inactive chat lifetime should be no longer than 3 days to protect context from growing and increase resource costs. Please implement chat rotation logic on your side to always create a new chat when an old chat has no activity for the last 3 days.
Example:
curl https://prod-api.binomai.com/api/public/chats \
-u RLCacg7CTz2FlTlzdeoD9w==: \
-d chat_id="chat_id_on_your_side"
POST https://prod-api.binomai.com/api/public/chats/{chat_id}/messages
Request schema: MessageRequest
Response schema: Message
Example:
curl https://prod-api.binomai.com/api/public/chats/{chat_id}/messages \
-u RLCacg7CTz2FlTlzdeoD9w==: \
-d chat_id="chat_id_on_your_side" \
-d "file_urls[]=https://example.com/path/to/file1.mp3"
GET https://prod-api.binomai.com/api/public/chats/{chat_id}/messages
Response schema: MessageList
Instructions:
MessageList response will return a run_in_progress parameter. When it's true, we are preparing a response from AI. Please pull the list not often than every 5000 milliseconds (5 seconds) and stop pulling when run_in_progress returns a false value.
Example:
curl https://prod-api.binomai.com/api/public/chats/{chat_id}/messages \
-u RLCacg7CTz2FlTlzdeoD9w==:
ChatRequest: {
type: :object,
required: [],
properties: {
integration_chat_id: { type: :string }
}
}
Chat: {
type: :object,
required: [:id, :form, :created_at],
properties: {
id: { type: :string, format: :uuid },
form: { type: :string, enum: [:public_chat, :widget, :helpcrunch, :api] },
integration_chat_id: { type: :string },
created_at: { type: :string, format: 'date-time' }
}
}
MessageRequest: {
type: :object,
required: [:content],
properties: {
content: { type: :string },
file_urls: { type: :array, items: {
type: :string
} }
}
}
Message: {
type: :object,
required: [:id, :content, :role, :created_at],
properties: {
id: { type: :string, format: :uuid },
content: { type: :string },
role: { type: :string, enum: [:user, :assistant, :system, :operator] },
files: { type: :array, items: {
type: :object,
required: [:id, :signed_id, :content_type, :url],
properties: {
id: { type: :string },
name: { type: :string },
signed_id: { type: :string },
content_type: { type: :string },
url: { type: :string },
thumb: { type: :string },
transcription: { type: :string }
}
} },
message_feedback: {
type: :object,
required: [:id, :state, :comment, :created_at],
properties: {
id: { type: :string },
state: { type: :string, enum: [:like, :dislike] },
comment: { type: :string },
created_at: { type: :string, format: 'date-time' }
}
},
created_at: { type: :string, format: 'date-time' }
}
}
4. Интеграция Google STT (Speech-to-Text)
Исполнитель: ???
Задачи:
- Настроить API для передачи аудиозапросов в Google STT. Используй официальную библиотеку Google Cloud для STT:
```bash
pip install google-cloud-speech
```
Пример Python-кода для преобразования аудио в текст:
```python
from google.cloud import speech
client = speech.SpeechClient()
def transcribe_audio(audio_file):
with open(audio_file, "rb") as audio:
audio_content = audio.read()
audio = speech.RecognitionAudio(content=audio_content)
config = speech.RecognitionConfig(
encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
sample_rate_hertz=16000,
language_code="en-US",
)
response = client.recognize(config=config, audio=audio)
return response.results[0].alternatives[0].transcript
```
- Передать полученный текст в Binom AI через API.
---
5. Возвращение данных в Asterisk и воспроизведение аудио клиенту
Исполнитель: Владимир
Задачи:
- Проверить корректную передачу аудиофайлов из Google TTS обратно в Asterisk. Аудио должно воспроизводиться через AGI-скрипт или встроенную команду `Playback`:
```bash
exten => s,n,Playback(/path/to/output.mp3)
```
- Убедиться, что клиент получает ответ в аудиоформате без задержек и с корректной качественной обработкой.
___
Дополнительные моменты:
- Логирование: Все этапы должны логироваться для отслеживания ошибок. Логи должны включать обработку запросов в Google TTS, STT, и Binom AI.
- Мониторинг: Добавь систему мониторинга для проверки состояния всех сервисов.
-
11 dni5087 PLN
8788 60 0 1 11 dni5087 PLNDzień dobry!
Jestem gotów zrealizować integracje Google STT (Speech-to-Text), Binom AI, Google TTS (Text-to-Speech)
Mam doświadczenie w realizacji podobnych projektów. Mogę przedstawić przypadek w wiadomości prywatnej.
Portfolio:Freelancehunt
Będę zadowolony, aby omówić projekt!
Aktualne zlecenia dla freelancerów w kategorii Programowanie stron internetowych
Wsparcie i rozwój strony internetowej firmy sprzątającej
75 PLN
Szukam programisty / webmastera do długoterminowego wsparcia i rozwoju strony internetowej firmy sprzątającej. Strona: https://donely.ca O projekcie DoneLy Home Services — firma świadcząca usługi sprzątania w Kanadzie, która aktywnie się rozwija i rozszerza zasięg działalności.… Javascript & Typescript, Programowanie stron internetowych ∙ 55 minut temu ∙ 22 oferty |
Poprawić CLSTrzeba poprawić Cumulative Layout Shift przez kod PageSpeed nie widzi tego problemu, ale przez Google Chrome widać, że jest przesunięcie układu dla wersji komputerowej strony W odpowiedzi Google Search pojawił się błąd dotyczący szybkości wersji komputerowej Trzeba… PHP, Programowanie stron internetowych ∙ 1 godzina 11 minut temu ∙ 12 ofert |
Stworzyć na stronie goodop: (dużo) poradników, szablonów produktów, kategorii ...
82 PLN
Tworzony jest nowy sklep internetowy z ponad 10000 produktami. Należy stworzyć na stronie na platformie goodshop: Wykazy - 1200 sztuk Wartości wykazów - 20000 sztuk Szablony produktów - 400 sztuk Kategorie produktów - 400 sztuk Wprowadzić wszystkie SEO w kategoriach produktów… Programowanie stron internetowych, Kompleksowe prace nad stroną internetową ∙ 16 godzin 21 minut temu ∙ 24 oferty |
Integracja GoPosWitaj, czy ktoś robił integrację GoPos z niestandardową stroną dla restauracji w Polsce? Potrzebuję pomocy, mają bardzo ubogą dokumentację, jest tylko swagger i to bez opisów https://app.gopos.io/doc/swagger-ui/index.html Sytuacja jest taka, używaliśmy od nich strony do zamówień… PHP, Programowanie stron internetowych ∙ 19 godzin 58 minut temu ∙ 21 ofert |
Opracowanie nowoczesnej strony internetowej dla Teatru
817 PLN
Szukamy webdevelopera do stworzenia oficjalnej strony nowoczesnej platformy kulturalnej. Projekt łączy teatralne, artystyczne, edukacyjne i kulturalne inicjatywy. Należy stworzyć nowoczesną, responsywną stronę, która będzie jednocześnie pełniła funkcję wizerunkową, prezentowała… Content Management Systems, Programowanie stron internetowych ∙ 20 godzin 34 minuty temu ∙ 93 oferty |