Comment j'ai construit un pipeline synthétique de cris de chèvre (et les outils en cours de route)

DEV - 19/02
Chèvres? J'avais besoin de cris de chèvre. Des centaines d'entre eux. Haute qualité. Étiqueté avec une comédie musicale...

Chèvres?

J'avais besoin de cris de chèvre. Des centaines d'entre eux. Haute qualité. Étiqueté avec des notes de musique.

C'est l'histoire des outils que j'ai construits pour y arriver.

L'origine : construire quelque chose d'assez bizarre pour être expédié

Je voulais apprendre le développement d'API. Pas une autre application de tâches. Quelque chose d'assez amusant pour me garder motivé.

Dans une chasse aux API idiotes, je suis tombé sur l'API Owen Wilson Whoa, et cela m'a inspiré. Vraiment. Je me suis souvenu de l’ère des mèmes de cri de chèvre sur YouTube. Ces compilations virales de chèvres hurlant comme des humains. Parfait.

Phase 1 : grattage YouTube

Première tentative : trouvez des vidéos, téléchargez-les et les agents coupent les cris.

C'était lent. Et les résultats ont été approximatifs :

  • Musique de fond (les remixes de Taylor Swift Goat, ça vous tente ?)
  • Les gens rient des cris
  • Des coupures dans des endroits bizarres
  • Cris en double dans les vidéos

J'avais besoin d'automatisation.

Outil n°1 : L'Extract-o-matic

J'ai créé une application Streamlit qui :

  1. Prend une liste d'URL YouTube
  2. Télécharge l'audio
  3. Détecte les modèles audio qui correspondent aux cris de chèvre (pics d'amplitude, plages de fréquences)
  4. Les clipse automatiquement dans des MP3 individuels
  5. Génère des métadonnées de base (vidéo source, horodatage, durée)

`python

Logique de détection simplifiée

def detector_screams(audio_path): y, sr = librosa.load(audio_path) # Recherchez des pics d'amplitude soudains dans la plage de fréquences de chèvre onset_frames = l...
[Courte citation de 8% de l'article original]

Loading...