Skip to main content

WYN-Voice: A Conversational AI and Audio Processing Library

Thumbnail Image

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 the ChatBot and AudioProcessor classes.

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

https://www.y-yin.io/

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wyn_voice-0.2.3.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wyn_voice-0.2.3-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file wyn_voice-0.2.3.tar.gz.

File metadata

  • Download URL: wyn_voice-0.2.3.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

Hashes for wyn_voice-0.2.3.tar.gz
Algorithm Hash digest
SHA256 583705870c0263835080442141cc91b6ebab80faea64f501c7699689a0e3a972
MD5 d89a79b009fd47d1821f1b90dd8abb60
BLAKE2b-256 06658d414c55cabf08e885362fddf7a2c5c04a05eabf39bba49b16f19cb0bfca

See more details on using hashes here.

File details

Details for the file wyn_voice-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: wyn_voice-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.13 Windows/10

File hashes

Hashes for wyn_voice-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9cc2810d4962ac308a664798e3436f8e73f425c486c8952ba5d7dbef5961424b
MD5 48d2966e0e03ee226db30a7232cfaaad
BLAKE2b-256 ef7172d3d70c4e0dc303c33c7e34367b47fd8f9fac40fa5813a8061945f46cd2

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.12

2 files

0.1.11

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page