osutipe/pptx/presentation.md

2.5 KiB
Raw Blame History

title topic author theme
Construction automatique de niveaux pour le jeu de rythme osu! à partir de fichiers audio osu Aboujaib Alexandre Copenhagen

Presentation du problème

Le jeu osu!

  • Jeu de rythme pour PC
  • Sorti le 16 septembre 2007, adapté d'un jeu pour DS
  • Environ 500 000 joueurs actifs
  • Se joue avec une souris/tablette et clavier logo{ width=50% } tablet{ width=40% }

Les beatmaps (niveaux)

::: columns :::: column Définition d'une beatmap{ width=110% } Beatmap en jeu :::: :::: column Liste de nouvelles beatmaps{ width=110% } ::::

:::

Exemples de cercles

Exemples de sliders

{ width=50% } { width=50% }

Formulation du problème

Nous nous proposons de créer deux programmes permettant au mieux, à partir dun fichier audio donné, de construire un niveau pour osu!.

Partie I : Analyse de musique

Approche en deux temps

Spécifications

Entrée : un fichier audio (avec un format quelconque)

Sortie : des données relatives à la musique permettant le placement des notes

Processus retenu ici

Filtres physiques & Transformée de Fourier

::: columns :::: column { width=80% } :::: :::: column :::: :::

Résultats

{ width=60% }

Résultats

Résultats

Complexité

{ width=95% }

Limites et saturation

Limites, saturation et améliorations

Partie II : placement spatial

Annexes : code Python

parse music : extraction de la liste des amplitudes et du "sample rate"

::: columns :::: column { width=80% } :::: :::: column :::: :::

cleaning : retirer les fréquences trop basses et hautes

{ width=60% }

get amp distribution : usage de files de priorité pour extraire les maxima

{ width=50% }

get frequency distribution : fréquence maximale pour chaque point

{ width=60% }

get sliders : fusionner les notes trop proches en des 'sliders'

{ width=75% }

draw : afficher les résultats

{ width=60% }