Upload app.py with huggingface_hub
Browse files
app.py
CHANGED
|
@@ -112,16 +112,26 @@ def process_sample(sample, language, text_col="sentence"):
|
|
| 112 |
if audio is None:
|
| 113 |
return None, "No audio"
|
| 114 |
|
| 115 |
-
# Handle different audio formats
|
| 116 |
audio_array = None
|
| 117 |
sample_rate = 16000
|
| 118 |
|
| 119 |
if isinstance(audio, dict):
|
| 120 |
audio_array = audio.get("array")
|
| 121 |
sample_rate = audio.get("sampling_rate", 16000)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 122 |
elif hasattr(audio, '__getitem__'):
|
| 123 |
-
|
| 124 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 125 |
|
| 126 |
if audio_array is None or len(audio_array) == 0:
|
| 127 |
return None, "Empty audio"
|
|
|
|
| 112 |
if audio is None:
|
| 113 |
return None, "No audio"
|
| 114 |
|
| 115 |
+
# Handle different audio formats (dict, AudioDecoder, etc.)
|
| 116 |
audio_array = None
|
| 117 |
sample_rate = 16000
|
| 118 |
|
| 119 |
if isinstance(audio, dict):
|
| 120 |
audio_array = audio.get("array")
|
| 121 |
sample_rate = audio.get("sampling_rate", 16000)
|
| 122 |
+
elif hasattr(audio, 'array') and hasattr(audio, 'sampling_rate'):
|
| 123 |
+
# AudioDecoder or similar object with attributes
|
| 124 |
+
audio_array = audio.array
|
| 125 |
+
sample_rate = audio.sampling_rate
|
| 126 |
elif hasattr(audio, '__getitem__'):
|
| 127 |
+
# Dict-like access
|
| 128 |
+
try:
|
| 129 |
+
audio_array = audio["array"]
|
| 130 |
+
sample_rate = audio.get("sampling_rate", 16000) if hasattr(audio, 'get') else 16000
|
| 131 |
+
except (KeyError, TypeError):
|
| 132 |
+
return None, f"Cannot access audio array: {type(audio)}"
|
| 133 |
+
else:
|
| 134 |
+
return None, f"Unknown audio format: {type(audio)}"
|
| 135 |
|
| 136 |
if audio_array is None or len(audio_array) == 0:
|
| 137 |
return None, "Empty audio"
|