Login: Pass:
Mythyzyn
Modérateur


Inscrit le: 22 Mai 2005
Messages: 416
Localisation: Lyncya
Message Posté le: 7/01/2009 15:37 Sujet du message: NwN2, Sons & UI
Bonjour,

Nous avons déjà pu voir différentes idées concernant la musique et les UIs, aujourd'hui c'est l'équipe de Lyncya qui vous présente son joujou.

Basé sur les idées du système de musique d'erethil et du système d'UI avec les touches du clavier, nous avons crée un petit système permettant de jouer des sons à partir des touches du clavier et cela depuis une UI.

Pour ça, nous utilisons un hak pack disponible sur le vault que l'on a modifié pour notre sauce.

Ce petit projet est issu d'un travail d'équipe dont je remercie les participants Wink

- Joh187 (mon cousin Wink) -> Enregistrement des sons
- Vicayne Vrae -> .XML et .TGA
- Fets et Sylvain9610 -> Soutien moral et test Wink

Voici une petite vidéo de démonstration de la version pré-alpha expérimentale Laughing Le système est donc encore en cours de création et il sera peut être mis à disponibilité de tous lors de sa version final. Nous travaillons notamment sur l'enregistrement des notes et leurs moyens de diffusion dans le jeu afin d'avoir le meilleur rendu possible en jouant. Bien entendu, d'autres instruments sont prévus Wink

http://www.lyncya.fr/divers/videos/lyncya_flute.wmv

Je pense que le plus dur fut d'encoder les sons .wav pour les rendre compatible avec NwN2. Quelques outils sont disponibles pour transformer des .mp3 en .bmu comme MP3toBMU ou celui ci mais après avoir essayé les 2 solutions. Le jeu ne semblait toujours pas vouloir lancer les sons avec la fonction PlaySound.

Du coup, j'ai du farfouiller sur le net et j'ai trouvé un post D'obsidian par hasard ou ils indiquaient la procédure qu'ils exécutaient pour encoder leurs sons.

Code:
lame -S --quiet -t %1.wav %1.mp3
echo BMU V1.0 > "\WavFolder\%1.wav"
type %1.mp3 >> \DifferentWaveFolder\%1.wav"
del /f /q %1.mp3


Bien entendu, fidèle à eux même, Obsidian a communiqué un code qui ne fonctionne évidement pas.

Après analyse, voici le principe pour que ça fonctionne :

1. - encoder un .wav en .mp3
2. - recoder le .mp3 pour fixer son bitrate
3. - créer un nouveau .wav et lui mettre les informations du format BMU V1.0 en header
4. - ajouter le fichier .mp3 dans et la suite du nouveau .wav

Et voici ce que fait le code d'Obsidian :

1. - encoder le .wav en .mp3 (il fixe pas le bitrate donc déjà la c'est grillé)
2. - ajout des informations du format BMU V1.0 en header dans un fichier .wav d'un dossier WavFolder
3. - ajout du fichier .mp3 encodé dans un fichier .wav dans un dossier DifferentWavFolder

Au final, on se retrouve avec 2 fichiers .wav (chacun dans un dossier différent -_-') et aucuns des deux ne fonctionnent. L'un est le header BMU et l'autre le .mp3. Désolé de souligner ça mais bon ils pourraient faire un effort minimum dans ce qu'ils distribuent...

Après un moment de dépit, j'ai donc crée un petit outil de conversion nommé WAV4NWN2 qui convertit des .wav en .wav compatible avec NwN2. Une fois les .wav convertis, il vous suffit de les mettre dans Override ou un Hak afin de les jouer depuis la fonction PlaySound. (Ne pas oublier de retirer l'extension au fichier et de mettre le AssignCommand ^^)

Nom du fichier : test.wav
Code:
AssignCommand(oPlayer, PlaySound("test"));


L'outil est très simple, il est composé de LAME, un encodeur open source et d'un BATCH fait maison.

il vous suffit de mettre le dossier WAV4NWN2 dans c:\

De mettre vos .wav dans c:\WAV4NWN2 et de lancer le wav4nwn2.bat

Attention les .wav ne doivent pas avoir d'espace dans leurs noms.

Le script vous créera un dossier ayant pour nom la date d'exécution du .bat et y mettra les .wav converti avec le même nom que ceux donnés à convertir.

Voici le code du .bat pour les curieux :

Code:
@echo off
echo ###
echo ### ---
echo ### WAV4NwN2
echo ### ---
echo ### EXE by LAME©
echo ### http://lame.sourceforge.net/
echo ### ---
echo ### BATCH by Mythyzyn
echo ### http://www.lyncya.fr
echo ### ---
echo ###
pause
echo ### ---
set hh=%time:~0,2%

if "%time:~0,1%"==" " set hh=0%hh:~1,1%
set yymmdd_hhmmss=%date:~6,4%_%date:~3,2%_%date:~0,2%_%hh%_%time:~3,2%_%time:~6,2%

mkdir %yymmdd_hhmmss%

dir %cd%\dir /w /b %cd% > temp_list.txt

for /f "delims=" %%i in ('type "temp_list.txt" ^|findstr /i /r ".wav"') do echo %%i >> wav_list.txt

for /f %%a in (%cd%\wav_list.txt) do (
echo ###
echo ### Traitement du fichier : %%a
echo ###
lame.exe --quiet %%a %%a.mp3
lame.exe -b 64 --quiet -a -t %%a.mp3
del %%a.mp3
echo BMU V1.0 > %yymmdd_hhmmss%\%%a
type %%a.mp3.mp3 >> %yymmdd_hhmmss%\%%a
del %%a.mp3.mp3
echo ###
echo ### %%a converti.
echo ###
echo ### ---
)
del temp_list.txt
del wav_list.txt
echo ###
echo ###
echo ### Fini.
echo ###
echo ###
pause


Et le lien pour télécharger le package :

WAV4NWN2.zip
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Laban
Modérateur


Inscrit le: 03 Juin 2007
Messages: 103
Message Posté le: 7/01/2009 22:18 Sujet du message:
Super cool ça. Faut que je le teste.
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Mythyzyn
Modérateur


Inscrit le: 22 Mai 2005
Messages: 416
Localisation: Lyncya
Message Posté le: 8/01/2009 0:53 Sujet du message:
Je t'en prie, n'hésites pas à me faire un retour pour d'éventuelles corrections/améliorations Wink
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Montrer les messages depuis:   

Page 1 sur 1
Sauter vers:  

 

Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum

Traduction par : phpBB-fr.com
Powered by phpBB © 2001, 2007 phpBB Group