Spaces:
Paused
Paused
rick
commited on
add audio isolation feature
Browse files- core/audio_isolation.py +23 -0
- core/sound_generation.py +1 -0
core/audio_isolation.py
CHANGED
@@ -17,6 +17,7 @@ import json
|
|
17 |
import os
|
18 |
import tempfile
|
19 |
from io import BytesIO
|
|
|
20 |
|
21 |
from dotenv import load_dotenv
|
22 |
from elevenlabs import ElevenLabs
|
@@ -41,3 +42,25 @@ def isolate_audio(fichier_audio: str):
|
|
41 |
# with open("audio_isole.mp3", "wb") as output_file:
|
42 |
# output_file.write(buffer.read())
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
import os
|
18 |
import tempfile
|
19 |
from io import BytesIO
|
20 |
+
from pydub import AudioSegment
|
21 |
|
22 |
from dotenv import load_dotenv
|
23 |
from elevenlabs import ElevenLabs
|
|
|
42 |
# with open("audio_isole.mp3", "wb") as output_file:
|
43 |
# output_file.write(buffer.read())
|
44 |
|
45 |
+
def isolate_audio(audio: AudioSegment) -> AudioSegment:
|
46 |
+
"""
|
47 |
+
Isoler la voix dans un extrait audio.
|
48 |
+
|
49 |
+
Args:
|
50 |
+
audio (AudioSegment): L'audio original.
|
51 |
+
|
52 |
+
Returns:
|
53 |
+
AudioSegment: L'audio avec la voix isolée.
|
54 |
+
"""
|
55 |
+
# Implémentez ici votre algorithme d'isolation
|
56 |
+
# Par exemple, utiliser un filtre passe-bande pour conserver les fréquences vocales
|
57 |
+
# Ceci est un exemple simplifié
|
58 |
+
|
59 |
+
# Définir les fréquences de coupure pour la voix humaine
|
60 |
+
low_freq = 80 # Fréquence minimale en Hz
|
61 |
+
high_freq = 3000 # Fréquence maximale en Hz
|
62 |
+
|
63 |
+
# Appliquer le filtre passe-bande
|
64 |
+
isolated_audio = audio.low_pass_filter(high_freq).high_pass_filter(low_freq)
|
65 |
+
|
66 |
+
return isolated_audio
|
core/sound_generation.py
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
#coding: utf-8
|