Add voice-rt
This commit is contained in:
parent
3ef9ab49df
commit
98521cbc22
@ -67,3 +67,11 @@ You'll need to install the following dependencies:
|
||||
Then download the script from the Google TTS repository and place it in the appropriate directory:
|
||||
|
||||
https://github.com/zaf/asterisk-googletts
|
||||
|
||||
## Voice-rt
|
||||
|
||||
Asterisk VoiceBot Realtime is a Node.js application that utilizes Asterisk for real-time audio transmission and processing. This application leverages Google Cloud Speech-to-Text, Google Cloud Text-to-Speech, and OpenAI for transcription, speech synthesis, and intelligent response generation.
|
||||
|
||||
Asterisk VoiceBot Realtime connects to a TCP server and handles audio data packets sent by Asterisk through the AudioSocket module. Upon receiving audio data, the application transcribes it using Google Cloud Speech-to-Text, sends the transcription to OpenAI for generating a response, and finally synthesizes the response into audio using Google Cloud Text-to-Speech. The generated audio is then sent back to the client through the socket.
|
||||
|
||||
https://hub.docker.com/r/gcareri/asterisk-voicebot-rt
|
||||
|
@ -5,18 +5,14 @@ writeprotect=no
|
||||
[from-trunk]
|
||||
; (888)88-MOENY
|
||||
exten => 18888866369,1,Answer()
|
||||
same => n,Wait(0.5)
|
||||
same => n,agi(googletts.agi,"Thank you for calling Moeny! No AI is available to speak right now. I'm just a Google Goog-let. But call back soon and you'll be chatting with AI so good you think it's a real person! Bye for now!",en)
|
||||
same => n,agi(googletts.agi,"Thank you for calling Moeny! How may I help you?",en)
|
||||
same => n,AudioSocket(66b7feb0-8938-11ee-abd7-0242ac151234,172.18.0.2:5001)
|
||||
same => n,Hangup()
|
||||
|
||||
; (559)TALK-2-AI
|
||||
exten => 15598255224,1,Goto(s,1)
|
||||
|
||||
exten => s,1,Answer()
|
||||
same => n,Wait(0.5)
|
||||
same => n,Playback(hello-world&and&goodbye)
|
||||
same => n,Wait(0.5)
|
||||
;same => n,Dial(PJSIP/101)
|
||||
exten => 15598255224,1,Answer()
|
||||
same => n,agi(googletts.agi,"Thank you for calling Moeny! How may I help you?",en)
|
||||
same => n,AudioSocket(66b7feb0-8938-11ee-abd7-0242ac151234,172.18.0.2:5001)
|
||||
same => n,Hangup()
|
||||
|
||||
[from-internal]
|
||||
|
2
voicebot-rt/.gitignore
vendored
Normal file
2
voicebot-rt/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
.env
|
||||
*.env
|
28
voicebot-rt/docker-compose.yaml
Normal file
28
voicebot-rt/docker-compose.yaml
Normal file
@ -0,0 +1,28 @@
|
||||
services:
|
||||
asterisk-voicebot-rt:
|
||||
image: gcareri/asterisk-voicebot-rt
|
||||
container_name: asterisk-voicebot-rt
|
||||
expose:
|
||||
- "5001"
|
||||
networks:
|
||||
internal_net: {}
|
||||
external_net:
|
||||
aliases:
|
||||
- voicebot
|
||||
environment:
|
||||
- GOOGLE_APPLICATION_CREDENTIALS=/usr/src/app/service-account-key.json
|
||||
- OPENAI_API_KEY=${OPEN_API_KEY}
|
||||
- OPENAI_MODEL=gpt-3.5-turbo
|
||||
- SYSTEM_PROMPT="You are a helpful assistant - to talk about Moeny. what? On 10/24/2024, we attended a ConnectHV Networking Event in Hudson, NY, and were inspired by the incredible "mixture of experts" in the room. That experience ignited a clear and impactful idea to bring top talent together and make AI accessible to all. From there, we set out to build moeny. Inspired by the bold direction of tinycorp, and George Hotz's approach to building products and teams, we're creating a team of AI pros who value performance, sovereignty, and no unnecessary frills. As we grow, we're open to building moeny as a community-driven organization, potentially using a DAO model to directly involve contributors in decision-making. For now, our focus is clear AI that's lean, efficient, sovereign, and built to solve real-world problems. jobs? We're bootstrapping, and using a lot of AI, so we're not hiring full-time engineers just yet. However, we'll be posting bounties soon and are open to ambitious interns who share our vision of no-frills, high-performance AI. Interested? Keep an eye out for our upcoming bounty page. Completing bounties will allow you to earn while getting a feel for our work and culture. Note Once we begin hiring, only applicants who have completed at least one bounty with moeny will be considered. huh? How can I get the moeny team involved in my ML project? We're excited to collaborate with those tackling real-world challenges through machine learning. If you're looking for a team to help simplify complex AI processes, optimize performance, or bring fresh insights to your ML project, we're interested in connecting. Where's moeny development happening? On our self-hosted Gitea and RocketChat - jump in if you want to see what we're working on. We look at and pet the servers everyday. How can moeny work for me? If you're interested in a custom AI solution or partnership, reach out to us on RocketChat. How can I work for moeny? Refer to jobs above. Contributions on Gitea will be a great first step. Stay tuned for more information. Can I invest in moeny.ai? We (possibly) are interested in angel investment at this time. Your contributions and PRs are also another great way to invest. What's the goal of moeny.ai? It's still very early in our journey and our goals are still taking shape."
|
||||
- SPEECH_RECOGNITION_LANGUAGE=en-US
|
||||
- TEXT_TO_SPEECH_LANGUAGE=en-US
|
||||
- TEXT_TO_SPEECH_GENDER=FEMALE
|
||||
- TEXT_TO_SPEECH_NAME=en-US-Journey-F
|
||||
volumes:
|
||||
- ./service-account-key.json:/usr/src/app/service-account-key.json
|
||||
|
||||
networks:
|
||||
internal_net:
|
||||
driver: bridge
|
||||
external_net:
|
||||
driver: bridge
|
Loading…
Reference in New Issue
Block a user