[Tutorial]Maxmod, las librerías de audio de la NDS
Página 1 de 1. • Compartir •
[Tutorial]Maxmod, las librerías de audio de la NDS
Bienvenidos a este "paréntesis" de mis tutoriales de NFlib.Os pregutaréis por qué y para qué hago un tutorial aparte.La respuesta es bien sencilla, noto que la NFlib no es lo suficientemente completa en lo que al audio se refiere.
Maxmod qué es y para qué sirve.
Maxmod es una librería que nos permitirá controlar abiertamente el sonido de nuestras Nintendo DS.Se utiliza como cualquier otra, como la misma NFlib, se declara al principio y añade funciones propias que nos ayudarán y mucho, a la hora de dar más vida a nuestro homebrew.
Preparación
Esto es lo más difícil de hacer, así que estad atentos:
1-¿Necesitamos canciones no?Coged la canción que queráis y convertidla l formato .wav con el switch sound file coverter ( buscar en google);

*Nota: Poned las opciones tal como están en la imagen.
2-Con eso nos bastará con los pequeños sonidos, pero para la música necesitaremos algo más, el OpenMPT.Tras instalar el programa haremos lo siguiente:
2.1-Abrimos nuestro archivo .wav pulsando sobre File/Open.

*Nota: Debemos especificar que es en formato .wav( como se muestra en la imagen).
2.2-Exportamos nuestra canción ya cargada a .it pulsando sobre File/Compatibility Export

*Nota: ¡¡Por favor!!Dejad el nombre tal cual os lo pone.
3-Ahora deberemos convertir nuestros sonidos y música(sí, otra vez xD) a un fichero .bin y a otro .h.Para ello crearemos un documento de .txt nuevo y escribir lo siguiente:
Vayamos por partes; lo primero es la ruta donde hayamos instalado el devkitpro( ver el primer tutorial).Lo segundo son 2 comandos para convertir el sonido a los ficheros .h y .bin.Lo tercero ya es los nombres de las canciones y sonidos que queramos convertir( podemos convertir todos los que queramos del tirón) con la extensión que tienen(.wav .it .mod o .xm).
Cuando lo hayamos escrito, le damos a Archivo/Guardar como... y ponemos en nombre convert.bat y de tipo todos los archivos.

Ya está, ahora colocamos el convert.bat donde tengamos nuestros archivos de música y damos doble click sobre él.Nos saldrán dos archivos.
En el código
Una vez tengamos convertidos los sonidos, creamos un nuevo proyecto y ponemos el soundbank.h en la carpeta source y el soundbank.bin en una carpeta dentro de nitrofiles( Ejemplo: nitrofiles/audio).
Una vez hecho esto, abrimos el archivo makefile que está en la raíz de nuestro proyecto con un editor de texto y modificamos las siguientes líneas.
*Nota: Lo que hay que modificar lo he puesto en negrita.
Una vez hecho esto, solo queda declarar la librería y el soundbank.h en el main.c, de la siguiente manera:

Reproduciendo sonidos
3 cosas:
mmInitDefault("audio/soundbank.bin");
//Cargamos el archivo de sonido
mmLoadEffect (SFX_3KU);
//Cargamos el sonido 3KU.wav, que se representa en el archivo .h como "SFX_NOMBRE( siempre en mayúsculas).
mmEffect (SFX_3KU);
//Lo reproducimos
Siguiendo esto más lo que ya sabíamos sería así:
Reproduciendo música
Es casi lo mismo que el sonido:
mmInitDefault("audio/soundbank.bin");
//Cargamos el archivo de sonido
mmLoad (MOD_3KU);
//Cargamos el sonido 3KU.it, que se representa en el archivo .h como "MOD_NOMBRE( siempre en mayúsculas).
mmStart (MOD_3KU, MM_PLAY_LOOP);
//Lo reproducimos
*Nota: existen dos tipos de reproducciones, MM_PLAY_LOOP que repetirá la canción cuando termine y MM_PLAY_ONCE que la parará.
Ejemplo:
Desechos
mmUnload( MOD_NOMBRE );
//Descargamos de la RAM una canción
mmUnloadEffect( SFX_NOMBRE );
//Descargamos de la RAM un sonido
Aquí concluye mi tutorial, pero si aún os quedáis con hambre, podéis leer algo más( en inglés) en la página oficial de maxmod.
Otros tutoriales nflib
1-Conceptos previos e instalación.
2-Textos;usarlos y mostrarlos.
3-Gráficos simples fondos & sprites.Utilizar los splashes.
4-Teclas,música & cmaps.
Maxmod qué es y para qué sirve.
Maxmod es una librería que nos permitirá controlar abiertamente el sonido de nuestras Nintendo DS.Se utiliza como cualquier otra, como la misma NFlib, se declara al principio y añade funciones propias que nos ayudarán y mucho, a la hora de dar más vida a nuestro homebrew.
Preparación
Esto es lo más difícil de hacer, así que estad atentos:
1-¿Necesitamos canciones no?Coged la canción que queráis y convertidla l formato .wav con el switch sound file coverter ( buscar en google);

*Nota: Poned las opciones tal como están en la imagen.
2-Con eso nos bastará con los pequeños sonidos, pero para la música necesitaremos algo más, el OpenMPT.Tras instalar el programa haremos lo siguiente:
2.1-Abrimos nuestro archivo .wav pulsando sobre File/Open.

*Nota: Debemos especificar que es en formato .wav( como se muestra en la imagen).
2.2-Exportamos nuestra canción ya cargada a .it pulsando sobre File/Compatibility Export

*Nota: ¡¡Por favor!!Dejad el nombre tal cual os lo pone.
3-Ahora deberemos convertir nuestros sonidos y música(sí, otra vez xD) a un fichero .bin y a otro .h.Para ello crearemos un documento de .txt nuevo y escribir lo siguiente:
- Spoiler:
C:\nds\devkitPro\devkitARM\bin\mmutil -osoundbank.bin -hsoundbank.h -d 3KU.wav 3KU.compat.it
pause
Vayamos por partes; lo primero es la ruta donde hayamos instalado el devkitpro( ver el primer tutorial).Lo segundo son 2 comandos para convertir el sonido a los ficheros .h y .bin.Lo tercero ya es los nombres de las canciones y sonidos que queramos convertir( podemos convertir todos los que queramos del tirón) con la extensión que tienen(.wav .it .mod o .xm).
Cuando lo hayamos escrito, le damos a Archivo/Guardar como... y ponemos en nombre convert.bat y de tipo todos los archivos.

Ya está, ahora colocamos el convert.bat donde tengamos nuestros archivos de música y damos doble click sobre él.Nos saldrán dos archivos.
En el código
Una vez tengamos convertidos los sonidos, creamos un nuevo proyecto y ponemos el soundbank.h en la carpeta source y el soundbank.bin en una carpeta dentro de nitrofiles( Ejemplo: nitrofiles/audio).
Una vez hecho esto, abrimos el archivo makefile que está en la raíz de nuestro proyecto con un editor de texto y modificamos las siguientes líneas.
- Spoiler:
TARGET := $(shell basename $(CURDIR))
BUILD := build
SOURCES := source
INCLUDES := include
DATA := data
GRAPHICS := gfx
NITRODATA := nitrofiles
Audio := Audio
- Spoiler:
#---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project
#---------------------------------------------------------------------------------
LIBS := -lnflib -lfilesystem -lfat -lnds9 -lmm9
*Nota: Lo que hay que modificar lo he puesto en negrita.
Una vez hecho esto, solo queda declarar la librería y el soundbank.h en el main.c, de la siguiente manera:

Reproduciendo sonidos
3 cosas:
mmInitDefault("audio/soundbank.bin");
//Cargamos el archivo de sonido
mmLoadEffect (SFX_3KU);
//Cargamos el sonido 3KU.wav, que se representa en el archivo .h como "SFX_NOMBRE( siempre en mayúsculas).
mmEffect (SFX_3KU);
//Lo reproducimos
Siguiendo esto más lo que ya sabíamos sería así:
- Spoiler:
- /*
-------------------------------------------------
Includes
-------------------------------------------------
*/
// Includes c/c++
#include
// Includes propietarios NDS
#include
// Includes librerias propias
#include
//Includes para manejar el audio
#include// Maxmod definitions for ARM9
#include "soundbank.h" // Soundbank definitions
/*
-------------------------------------------------
Main() - Bloque general del programa
-------------------------------------------------
*/
int main(int argc, char **argv) {
//Inicia el audio
soundEnable();
//Elige el sistema de archivos
NF_SetRootFolder("NITROFS");//Elegimos nitrofiles como carpeta inicial
//Carga el archivo de sonido
mmInitDefault("audio/soundbank.bin");
//Carga el sonido
mmLoadEffect (SFX_3KU);
//Lo reproduce
mmEffect (SFX_3KU);
// Bucle (repite para siempre)
while(1){
swiWaitForVBlank(); // Espera al sincronismo vertical
}
return 0;
}
Reproduciendo música
Es casi lo mismo que el sonido:
mmInitDefault("audio/soundbank.bin");
//Cargamos el archivo de sonido
mmLoad (MOD_3KU);
//Cargamos el sonido 3KU.it, que se representa en el archivo .h como "MOD_NOMBRE( siempre en mayúsculas).
mmStart (MOD_3KU, MM_PLAY_LOOP);
//Lo reproducimos
*Nota: existen dos tipos de reproducciones, MM_PLAY_LOOP que repetirá la canción cuando termine y MM_PLAY_ONCE que la parará.
Ejemplo:
- Spoiler:
/*
-------------------------------------------------
Includes
-------------------------------------------------
*/
// Includes c/c++
#include
// Includes propietarios NDS
#include
// Includes librerias propias
#include
//Includes para manejar el audio
#include// Maxmod definitions for ARM9
#include "soundbank.h" // Soundbank definitions
/*
-------------------------------------------------
Main() - Bloque general del programa
-------------------------------------------------
*/
int main(int argc, char **argv) {
//Inicia el audio
soundEnable();
//Elige el sistema de archivos
NF_SetRootFolder("NITROFS");//Elegimos nitrofiles como carpeta inicial
//Carga el archivo de sonido
mmInitDefault("audio/soundbank.bin");
//Carga el audio
mmLoad (MOD_3KU);
//Lo reproduce
mmStart (MOD_3KU, MM_PLAY_LOOP);
// Bucle (repite para siempre)
while(1){
swiWaitForVBlank(); // Espera al sincronismo vertical
}
return 0;
}
Desechos
mmUnload( MOD_NOMBRE );
//Descargamos de la RAM una canción
mmUnloadEffect( SFX_NOMBRE );
//Descargamos de la RAM un sonido
Aquí concluye mi tutorial, pero si aún os quedáis con hambre, podéis leer algo más( en inglés) en la página oficial de maxmod.
Otros tutoriales nflib
1-Conceptos previos e instalación.
2-Textos;usarlos y mostrarlos.
3-Gráficos simples fondos & sprites.Utilizar los splashes.
4-Teclas,música & cmaps.

Roberto258- NDS-Fan
-

Cantidad de envíos: 857
Localización: P'allá, p'allá, y luego to p'alante
Empleo/Ocio: Llevar el juego del asesino :P
Humor: Quarcástico
Opinión sobre NDS-Extra: Me Encanta
Reputación: 77
Puntos: 1081
Inscripción: 28/08/2010
Re: [Tutorial]Maxmod, las librerías de audio de la NDS
Lo probaré, pero segun lo he leido parece un poco dificil
pepenillo- NDS-Extrero
-

Cantidad de envíos: 1765
Opinión sobre NDS-Extra: Ninguna
Reputación: 176
Puntos: 2533
Inscripción: 12/08/2010
Re: [Tutorial]Maxmod, las librerías de audio de la NDS
pepenillo escribió:Lo probaré, pero segun lo he leido parece un poco dificil
Con decirte que comencé a intentar utilizarlas en diciembre del año pasado y hasta hace unas semanas seguía en un "punto muerto",Pero vamos, que para que no os pase lo mismo os lo he puesto a huevo, con imágenes, con ese programa que me costó la vida encontrar y totalmente en español, que dudo que encuentres tutoriales de esto en español.
Un saludo y recuerdo hacer cada paso con mucho cuidado.

Roberto258- NDS-Fan
-

Cantidad de envíos: 857
Localización: P'allá, p'allá, y luego to p'alante
Empleo/Ocio: Llevar el juego del asesino :P
Humor: Quarcástico
Opinión sobre NDS-Extra: Me Encanta
Reputación: 77
Puntos: 1081
Inscripción: 28/08/2010
Re: [Tutorial]Maxmod, las librerías de audio de la NDS
¡Al fin pude poner música en condiciones!
Muchas gracias por el tutorial =).
Muchas gracias por el tutorial =).
Rafael-animal- NDS-Junior
-

Cantidad de envíos: 84
Opinión sobre NDS-Extra: Tiene que mejorar
Reputación: 23
Puntos: 125
Inscripción: 13/01/2011
Temas similares» Full Metal Alchemist(audio latino)+ 2 peliculas+sound track
» [Emulador PS2] PCSX2 0.9.6 + Tutorial
» [Tutorial] Email Keylogger en vb.net
» Tutorial GHost One (Parte 2)
» Tutorial Para Editor de Mu Reg Beta 5
» [Emulador PS2] PCSX2 0.9.6 + Tutorial
» [Tutorial] Email Keylogger en vb.net
» Tutorial GHost One (Parte 2)
» Tutorial Para Editor de Mu Reg Beta 5
Página 1 de 1.
Permiso de este foro:
No puedes responder a temas en este foro.









