Spaces:
Sleeping
Sleeping
File size: 2,003 Bytes
afe4a62 9c931f4 e0a6679 afe4a62 e0a6679 afe4a62 e0a6679 afe4a62 9c931f4 e0a6679 afe4a62 9c931f4 e0a6679 afe4a62 9c931f4 e0a6679 adfe413 9c931f4 afe4a62 9c931f4 afe4a62 9c931f4 e0a6679 9c931f4 e0a6679 9c931f4 e0a6679 9c931f4 e0a6679 9c931f4 e0a6679 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
import streamlit as st
from audio_recorder_streamlit import audio_recorder
import openai # Corrected import
API_KEY = 'enter-openai-api-key-here'
# Set the API key
openai.api_key = API_KEY
def transcribe_text_to_voice(audio_location):
# Transcribe audio to text using Whisper API
with open(audio_location, "rb") as audio_file:
transcript = openai.Audio.transcriptions.create(
model="whisper-1", file=audio_file
)
return transcript['text']
def chat_completion_call(text):
# Send the text to GPT-3.5 for chat completion
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo-1106",
messages=[{"role": "user", "content": text}]
)
return response['choices'][0]['message']['content']
def text_to_speech_ai(speech_file_path, api_response):
# Convert the text to speech using OpenAI's TTS API
response = openai.Audio.speech.create(
model="text-to-speech-1", # TTS model name may differ
voice="nova", # Specify a voice (choose one that is available)
input=api_response
)
# Save the speech response to a file
with open(speech_file_path, "wb") as f:
f.write(response['audio'])
st.title("π§βπ» Skolo Online π¬ Talking Assistant")
"""
Hiπ€ just click on the voice recorder and let me know how I can help you today?
"""
audio_bytes = audio_recorder()
if audio_bytes:
# Save the Recorded Audio File
audio_location = "audio_file.wav"
with open(audio_location, "wb") as f:
f.write(audio_bytes)
# Transcribe the saved file to text
text = transcribe_text_to_voice(audio_location)
st.write(text)
# Get AI response from GPT-3.5
api_response = chat_completion_call(text)
st.write(api_response)
# Convert the response to speech and save it as a file
speech_file_path = 'audio_response.mp3'
text_to_speech_ai(speech_file_path, api_response)
# Play the audio response in the app
st.audio(speech_file_path)
|