Przesyłanie wygenerowanego audio przez Twilio
Przesyłanie wygenerowanego audio przez Twilio
Dowiedz się, jak zintegrować wygenerowaną mowę z rozmowami telefonicznymi przez Twilio.
Poradnik · Zakłada, że masz za sobą szybki start ElevenAPI i konto Twilio.
Z tego poradnika dowiesz się, jak wysłać wiadomość wygenerowaną przez AI podczas rozmowy telefonicznej za pomocą Twilio i ElevenLabs. Dzięki temu możesz wysyłać wysokiej jakości wiadomości głosowe bezpośrednio do osób dzwoniących.
Załóż konta w Twilio i ngrok
W tym poradniku użyjemy Twilio i ngrok, więc załóż w nich konta.
Utwórz serwer w Express
Zainicjuj projekt
Utwórz nowy folder projektu
Zainstaluj zależności
Zainstaluj zależności deweloperskie
Utwórz pliki
Jak działa kod
Obsługa połączenia przychodzącego
Gdy dzwonisz na swój numer, Twilio wysyła żądanie POST do endpointu /call/incoming.
Następnie używamy twiml.connect, by poinformować Twilio, że chcemy obsłużyć połączenie przez nasz websocket, ustawiając adres URL endpointu /call/connection.
Tworzenie mowy z tekstu
Tutaj nasłuchujemy wiadomości, które Twilio wysyła do naszego endpointu websocket. Gdy otrzymamy zdarzenie wiadomości start, generujemy audio za pomocą SDK TypeScript ElevenLabs.
Wysyłanie wiadomości
Po otrzymaniu audio z ElevenLabs konwertujemy je do bufora tablicy i wysyłamy do Twilio przez websocket.
Skieruj ngrok do aplikacji
Twilio wymaga publicznie dostępnego adresu URL. Użyjemy ngrok, aby przekierować lokalny port aplikacji i udostępnić go pod publicznym adresem URL.
Uruchom w terminalu:
Skopiuj domenę ngrok (bez https://), aby użyć jej w zmiennych środowiskowych.
Zaktualizuj zmienne środowiskowe
Zaktualizuj plik .env, wpisując domenę ngrok i klucz API ElevenLabs.
Uruchom aplikację
Aby uruchomić aplikację, wykonaj polecenie:
Skonfiguruj Twilio
Postępuj zgodnie z poradnikami Twilio, aby utworzyć nowy numer. Gdy go utworzysz, przejdź do karty „Configure” w Phone Numbers -> Manage -> Active numbers.
W sekcji „A call comes in” wpisz pełny adres URL aplikacji (pamiętaj, aby dodać ścieżkę/call/incoming):
Np. https://***ngrok.app/call/incoming
Wykonaj połączenie telefoniczne
Zadzwoń na swój numer. Usłyszysz wiadomość głosem ElevenLabs.
Wskazówki dotyczące wdrożenia produkcyjnego
Uruchamiając aplikację na produkcji, ustaw zmienną środowiskową SERVER_DOMAIN na domenę swojego serwera. Pamiętaj też, aby zaktualizować adres URL w Twilio, tak aby wskazywał serwer produkcyjny.
Podsumowanie
Powinieneś już rozumieć podstawy integracji Twilio z głosami ElevenLabs. Jeśli masz pytania lub sugestie, jak ulepszyć ten wpis na blogu, wybierz poniżej przycisk „Suggest edits” lub „Raise issue”.