reab5555 commited on
Commit
6316512
·
verified ·
1 Parent(s): 33963f5

Update voice_analysis.py

Browse files
Files changed (1) hide show
  1. voice_analysis.py +7 -0
voice_analysis.py CHANGED
@@ -23,7 +23,13 @@ def extract_voice_features(audio_path, segment_duration=1000):
23
 
24
  return np.array(segments)
25
 
 
 
 
26
  def cluster_voices(features):
 
 
 
27
  if len(features) < 2:
28
  print("Not enough voice segments for clustering. Assigning all to one cluster.")
29
  return np.zeros(len(features), dtype=int)
@@ -43,6 +49,7 @@ def get_most_frequent_voice(features, clusters):
43
 
44
  def process_audio(audio_path, segment_duration=1000):
45
  features = extract_voice_features(audio_path, segment_duration)
 
46
  clusters = cluster_voices(features)
47
  most_frequent_voice = get_most_frequent_voice(features, clusters)
48
  return most_frequent_voice, features, clusters
 
23
 
24
  return np.array(segments)
25
 
26
+ def remove_nan_features(features):
27
+ return features[~np.isnan(features).any(axis=1)]
28
+
29
  def cluster_voices(features):
30
+ # Remove NaN values
31
+ features = remove_nan_features(features)
32
+
33
  if len(features) < 2:
34
  print("Not enough voice segments for clustering. Assigning all to one cluster.")
35
  return np.zeros(len(features), dtype=int)
 
49
 
50
  def process_audio(audio_path, segment_duration=1000):
51
  features = extract_voice_features(audio_path, segment_duration)
52
+ features = remove_nan_features(features)
53
  clusters = cluster_voices(features)
54
  most_frequent_voice = get_most_frequent_voice(features, clusters)
55
  return most_frequent_voice, features, clusters