PDA

View Full Version : [Audio] Musica Dinamica


Jocchan
18-04-2006, 23:19
L'altra sera abbiamo improvvisato una mini-riunione su MSN, alla quale abbiamo partecipato io, Fek, Vicius, Ufo e Av4t4r. Riporto qui i minute della discussione, su una feature MOLTO interessante che vorremmo implementare: un sistema di musica dinamica.

Musica dinamica: idea di rendere dinamico il playback della colonna sonora, mixando i suoni dei vari eventi con la musica, e cambiandone il ritmo a seconda della situazione di gioco.

Sfruttando i BPM (costanti lungo l'intera canzone) e le varie battute, è possibile variare il ritmo e inserire elementi (suoni, pause, rullate) a tempo, come se la musica fosse eseguita dal vivo, ottenendo così un effetto nettamente più coinvolgente.

Dato che il ritmo cambia in base agli eventi, i singoli suoni funzioneranno da batteria, scandendone il tempo.

Per il mixing:
Caso 1. ritmo dinamico per la musica
Caso 2. mix con gli effetti seguendo il tempo

Caso 1: sfruttando un sistema di temporizzazione, analogo ai gameturn ma di durata modificabile dinamicamente e sincronizzato ai BPM, è possibile stretchare il tempo, accelerando o decelerando la musica (il gioco leggerà il campione a velocità superiori o inferiori).

Caso 2: per mixare le tracce, sempre grazie al sistema di temporizzazione e sfruttando tre canali audio, è possibile far partire un effetto audio di end (ad esempio un crash o un colpo di piatti) ad una certa battuta, fermare la musica, eseguire un refill (rullata di batteria) e farla ripartire senza perdere il tempo, agendo sui fade in e out (fade in -> da 0 a 100 in x millisecondi; fade out -> da 100 a 0 in y millisecondi).

Occorre uno spike per testare la fattibilità delle feature sopra elencate. Anche un'applicazione di prova che utilizzi l'engine audio di Diamonds e prototipizzi questi concetti andrebbe bene.

E' possibile ottimizzare il sistema inserendo refill di durata differente, in modo da poterli attivare durante qualsiasi battuta intermedia e conservando una coerenza con i tempi.

Lavorando con file compressi (mp3, ogg o similari) è possibile perdere sincronia, per cui - per annullare questo rischio - per i tick occorre sempre basarsi su quelli dell'ultimo file eseguito.

cdimauro
19-04-2006, 08:13
Molto dipenderà dalle API / possibilità che ci mettono a disposizione le librerie audio a cui ci affidiamo.

cisc
19-04-2006, 12:25
bellllllllllllooooooooooo

cover
19-04-2006, 18:09
Figata ;)

Vifani
21-04-2006, 23:35
Cose di questo genere si possono sicuramente fare con OpenAL visto che è usato in moltissimi videogames in cui effetti simili sono presenti.

Il come però mi è oscuro. Mai approfondito OpenAL oltre un certo livello.