|
from pydub import AudioSegment |
|
import feature_extraction |
|
import io |
|
def split_audio(uploaded_file): |
|
audio = AudioSegment.from_file(uploaded_file) |
|
|
|
segment_duration = 3 * 1000 |
|
audio_duration = len(audio) |
|
|
|
|
|
if audio_duration < 63 * 1000: |
|
|
|
segment = audio[:segment_duration] |
|
else: |
|
|
|
start_time = 60 * 1000 |
|
end_time = start_time + segment_duration |
|
segment = audio[start_time:end_time] |
|
|
|
output_stream = io.BytesIO() |
|
segment.export(output_stream, format="wav") |
|
output_stream.seek(0) |
|
|
|
|
|
features = feature_extraction.all_feature_extraction(output_stream) |
|
return features |