Skip to content

Commit f0e0592

Browse files
committed
Updated the requirements.txt file
1 parent a04e827 commit f0e0592

File tree

2 files changed

+108
-0
lines changed

2 files changed

+108
-0
lines changed

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
librosa==0.10.2.post1
22
numpy==2.0.2
33
scikit-learn==1.5.2
4+
matplotlib==3.9.2

test_main.py

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
import os
2+
from src.speaker_enrollment import SpeakerEnrollment
3+
from src.file_management.bst import BinarySearchTree
4+
from src.file_management.file_management import FileManagementInterface
5+
6+
def setup_environment(base_directory):
7+
# Ensure the base directory for models and metadata exists
8+
if not os.path.exists(os.path.join(base_directory, "models")):
9+
os.makedirs(os.path.join(base_directory, "models"))
10+
if not os.path.exists(os.path.join(base_directory, "audio_files")):
11+
os.makedirs(os.path.join(base_directory, "audio_files"))
12+
if not os.path.exists(os.path.join(base_directory, "metadata")):
13+
os.makedirs(os.path.join(base_directory, "metadata"))
14+
print(f"Test environment set up at {base_directory}")
15+
16+
def test_speaker_enrollment():
17+
base_directory = "./test_environment"
18+
bst = BinarySearchTree()
19+
20+
# Initialize the SpeakerEnrollment system
21+
speaker_enrollment = SpeakerEnrollment(
22+
bst=bst,
23+
base_directory=base_directory
24+
)
25+
26+
# Step 1: Set up environment
27+
setup_environment(base_directory)
28+
29+
# Step 2: Test speaker enrollment
30+
#test_wav_file = os.path.join(base_directory, "audio_files", "sample_speaker.wav")
31+
test_wav_file ="/home/gena/PROJECTS/voice-recognition-engine/audio_files/gena.wav"
32+
33+
# Simulate the existence of a wav file for testing
34+
#if not os.path.exists(test_wav_file):
35+
# with open(test_wav_file, "w") as f:
36+
# f.write("Simulated audio content")
37+
38+
#Speaker 1
39+
speaker_name = "gena_speaker"
40+
enrollment_success = speaker_enrollment.enroll_speaker(speaker_name, test_wav_file)
41+
42+
if enrollment_success:
43+
print("Speaker enrollment test passed.")
44+
else:
45+
print("Speaker enrollment test failed.")
46+
47+
#Speaker 2
48+
test_wav_file ="/home/gena/PROJECTS/voice-recognition-engine/audio_files/women.wav"
49+
speaker_name = "women_speaker"
50+
enrollment_success = speaker_enrollment.enroll_speaker(speaker_name, test_wav_file)
51+
52+
if enrollment_success:
53+
print("Speaker enrollment test passed.")
54+
else:
55+
print("Speaker enrollment test failed.")
56+
57+
#Speaker 3
58+
test_wav_file ="/home/gena/PROJECTS/voice-recognition-engine/audio_files/man.wav"
59+
speaker_name = "men_speaker"
60+
enrollment_success = speaker_enrollment.enroll_speaker(speaker_name, test_wav_file)
61+
62+
if enrollment_success:
63+
print("Speaker enrollment test passed.")
64+
else:
65+
print("Speaker enrollment test failed.")
66+
67+
#Speaker 4
68+
test_wav_file ="/home/gena/PROJECTS/voice-recognition-engine/audio_files/leah.wav"
69+
speaker_name = "leah_speaker"
70+
enrollment_success = speaker_enrollment.enroll_speaker(speaker_name, test_wav_file)
71+
72+
if enrollment_success:
73+
print("Speaker enrollment test passed.")
74+
else:
75+
print("Speaker enrollment test failed.")
76+
77+
#Speaker 5
78+
test_wav_file ="/home/gena/PROJECTS/voice-recognition-engine/audio_files/maria.wav"
79+
speaker_name = "maria_speaker"
80+
enrollment_success = speaker_enrollment.enroll_speaker(speaker_name, test_wav_file)
81+
82+
if enrollment_success:
83+
print("Speaker enrollment test passed.")
84+
else:
85+
print("Speaker enrollment test failed.")
86+
87+
# Step 3: Verify file management system
88+
file_manager = speaker_enrollment.file_manager
89+
90+
# List all stored files
91+
all_files = file_manager.list_all_files()
92+
print("\nStored Files Metadata:")
93+
for file_metadata in all_files:
94+
print(file_metadata)
95+
96+
# Step 4: Test speaker recognition
97+
test_wav_file ="/home/gena/PROJECTS/voice-recognition-engine/audio_files/maria_recognize.wav"
98+
speaker_name = "maria_speaker"
99+
recognized_speaker = speaker_enrollment.recognize_speaker(test_wav_file)
100+
101+
if recognized_speaker == speaker_name:
102+
print("Speaker recognition test passed.")
103+
else:
104+
print(f"Speaker recognition test failed. Expected: {speaker_name}, but got: {recognized_speaker}")
105+
106+
if __name__ == "__main__":
107+
test_speaker_enrollment()

0 commit comments

Comments
 (0)