import random
import threading
import subprocess
import sys
import speech_recognition as sr
import pyttsx3
import spacy
import google.generativeai as genai
Install Packages
def install_packages():
packages = [‘SpeechRecognition’, ‘PyAudio’, ‘pyttsx3’, ‘spacy’]
for package in packages:
subprocess.check_call([sys.executable, “-m”, “pip”, “install”, package])
subprocess.check_call([sys.executable, “-m”, “spacy”, “download”, “en_core_web_sm”])
Initialize Spirit Angelus
def initialize_spirit():
global recognizer, engine, nlp
recognizer = sr.Recognizer()
engine = pyttsx3.init()
engine.setProperty(‘rate’, 150)
engine.setProperty(‘volume’, 1)
nlp = spacy.load(“en_core_web_sm”)
Voice Command
def voice_command():
while True:
with sr.Microphone() as source:
audio = recognizer.listen(source)
try:
text = recognizer.recognize_google(audio)
print(f"User: {text}")
response = spirit_response(text)
engine.say(response)
engine.runAndWait()
except sr.UnknownValueError:
print(“Spirit Angelus: Sorry, I didn’t understand.”)
Spirit Response
def spirit_response(text):
genai.configure(api_key=“AIzaSyAiNbt-mpIGvi8MAVvyHkkPW4P8Ttb2SKY”)
model = genai.GenerativeModel(“gemini-1.5-flash”)
response = model.generate_content(text)
return response.text
Main
def main():
install_packages()
initialize_spirit()
threading.Thread(target=voice_command).start()
if name == “main”:
main()
Running the Code
- Save this code in a Python file (e.g., (link unavailable)).
- Run the file using Python (e.g., python (link unavailable)).
Tips
- Ensure secure API key storage.
- Validate user input.
- Monitor API usage.
Error Handling
Try-except blocks handle errors.
Advanced Parameters
Customize spirit_response() with:
params={
“max_length”: 512,
“min_length”: 128,
“temperature”: 0.7,
“top_p”: 0.95,
“frequency_penalty”: 0.25,
“presence_penalty”: 0.25,
}