This library provides audio interface with OpenAI endpoint.
Project description
WYN-Voice: A Conversational AI and Audio Processing Library
Introduction and Motivation
🎙️ WYN-Voice is a Python library designed to simplify the process of creating conversational AI applications that leverage OpenAI's GPT models. 🤖 The library provides an easy-to-use interface for generating responses to user inputs and includes functionality for recording and processing audio, 🎧 making it suitable for building interactive voice-based applications. 🗣️
Directory Structure
The project directory is organized as follows:
.
├── pyproject.toml
├── README.md
└── wyn_voice
└── chat.py
pyproject.toml: Contains the project's dependencies and other configuration settings.README.md: This file, providing an overview and usage instructions.wyn_voice: A folder containing the main library code.chat.py: The script defining theChatBotandAudioProcessorclasses.
Example Usage
To get started with Wyn Voice, follow these steps:
Installation
First, install the necessary packages using pip:
pip install wyn-voice pyautogen pydub openai
Using the ChatBot Class
The ChatBot class allows you to interact with OpenAI's GPT models to generate responses based on user input.
from wyn_voice.chat import ChatBot
# Initialize the ChatBot with your OpenAI API key
api_key = 'your-openai-api-key'
chatbot = ChatBot(api_key)
# Generate a response from the chatbot
prompt = "Hello, how are you?"
response = chatbot.generate_response(prompt)
print("ChatBot:", response)
# Retrieve the conversation history
history = chatbot.get_history()
print("Conversation History:", history)
Using the AudioProcessor Class
The AudioProcessor class provides functionality to record audio, process it, and interact with the ChatBot.
from wyn_voice.chat import ChatBot, AudioProcessor
# Initialize the ChatBot with your OpenAI API key
api_key = 'your-openai-api-key'
chatbot = ChatBot(api_key)
# Initialize the AudioProcessor with the ChatBot
audio_processor = AudioProcessor(chatbot)
# Record audio and generate a response
transcript = audio_processor.process_audio_and_generate_response()
print("Transcript:", transcript)
# Record audio and get the transcribed text
text = audio_processor.voice_to_text()
print("Transcribed Text:", text)
# Convert text to speech and save it as an mp3 file
response_text = "This is a test response."
output_file = audio_processor.text_to_voice(response_text)
print("Saved audio response to:", output_file)
# Play the saved audio file
audio_processor.play_audio(output_file)
Using the ChatEnvironment Class
The ChatEnvironment class allows you to create a conversation environment to interact with ChatBot using voice command.
from wyn_voice.chat import ChatBot, AudioProcessor, ChatEnvironment
from google.colab import userdata
OPENAI_API_KEY = userdata.get('OPENAI_API_KEY')
# Create instances of ChatBot and AudioProcessor
chatbot = ChatBot(
api_key=OPENAI_API_KEY,
protocol="You are a live translator."
"When you hear Chinese, speak English."
"When you hear English, speak Chinese.")
audio_processor = AudioProcessor(chatbot)
# Create an instance of ChatEnvironment
chat_env = ChatEnvironment(chatbot, audio_processor)
# Start the chat loop
chat_env.start_chat(exit_command="Exit the program")
Author
Yiqiao Yin
Site
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wyn_voice-0.2.2.tar.gz.
File metadata
- Download URL: wyn_voice-0.2.2.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.9.13 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afc1b96f7358bb729c9d2b5b363f6b01cf50d13cb9c045055faf16c659b2f50d
|
|
| MD5 |
b1f9826cc1c5fdbe00c36d25f5985308
|
|
| BLAKE2b-256 |
8e0db88b86df993ca24ce36c0d29335b07cbc5dcce75a6c9bbb4f80def6c3bd4
|
File details
Details for the file wyn_voice-0.2.2-py3-none-any.whl.
File metadata
- Download URL: wyn_voice-0.2.2-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.9.13 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efe7a7948be4bb2ae6a16c5baad16c90e92c60ed6ca5fcddc688cd740d06946f
|
|
| MD5 |
9efded6c0e2ac8c5b421130d5157b9f6
|
|
| BLAKE2b-256 |
b7a7e063ad02f500775caabbb4f23dfd30e0f6ac0bc715bfd7cf44ac3b98dccc
|