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
|