Bien... yo no entendi mucho el tuto de vash porque es un desmadre y el usa unas cosas ya viejas, hay otras mejores, bueno, tratare de explicarlo todo detalladamente para que al terminar de leer esto ya puedas hacer ports. Bien, comencemos con los materiales.
Que necesitamos?
•
[Tienes que estar registrado y conectado para ver este vínculo] o
[Tienes que estar registrado y conectado para ver este vínculo]•
[Tienes que estar registrado y conectado para ver este vínculo]•
[Tienes que estar registrado y conectado para ver este vínculo]•
[Tienes que estar registrado y conectado para ver este vínculo]•
[Tienes que estar registrado y conectado para ver este vínculo]• Como en todos los tutos, paciencia, mucha paciencia.
Editando los midis
Una vez que tengan el midi a la mano, abranlo en el synthfont (o cualquier programa de edicion de midis, en este tuto se usara ese) para ver cuantos canales tiene, cada color es un canal diferente, aqui una imagen de ejemplo:
- Spoiler:
[Tienes que estar registrado y conectado para ver este vínculo]
Escuchen el midi si tiene mas de 8 canales para ver cual es el que casi no suena, siempre va a haber uno que suene muy poco y casi no se note si lo borras, te recomiendo borrar esos y tambien los de eco y delay, son canales iguales a unos para crear un efecto de eco que se puede hacer facilmente en el smw. Para eliminarlos has click derecho en un canal y luego has click en Delete Track:
[Tienes que estar registrado y conectado para ver esa imagen](ignoren que unas imagenes esten en spoiler y otras no, por alguna razon el foro corta las imagenes grandes y no las muestra completas...)
Luego de borrar los canales que quieran borrar (suponiendo que hay de mas y los estas borrando obviamente) ve a File→Save midi file:
[Tienes que estar registrado y conectado para ver esa imagen]Guarda los cambios con eso y con lo que esta encerrado.
Con eso ya tienes el midi listo para portear pero hay algo que quiero mencionar acerca de la percusion (si es que tiene). Algunos midis vienen con una percusion grande, con kicks, snares y cimbales (kick vendria siendo el @21 y snare el @29/@10 [el kick suena muy bajo, es el bombo de las baterias y el snare los tambores fuertes]), la mayoria de las veces los cimbales suenan al mismo tiempo que los kicks y snares, el smw no permite que dos notas con dos diferentes instrumentos en un mismo canal toquen al mismo tiempo y a la hora de convertir el midi en un mml solo se sacaran unas notas y no todas, la mayoria de las veces las que salen son las de mas arriba (usualmente esas notas son las de los cimbales) haciendo que desaparezcan los kicks o los snares. Ahora, como se arregla eso? muy sencillo, borrando las notas y escuchando solo ese canal en el pianoroll para saber cuales son los cimbales y demas instrumentos.
- Spoiler:
[Tienes que estar registrado y conectado para ver este vínculo]
Lo que deben hacer es borrar las notas de los cimbales (o las que estan mas arriba de los kicks y snares [esos SIEMPRE vendran de esa forma, los kicks abajo y un poquito mas arriba los snares]) con el borrador que esta a la izquierda del pianoroll y luego lo guardas.
Ahora si, comencemos a portear nuestros midis!
Porteando nuestros midis
Supongo que ya tendran el midi editado y listo para el smw con 8 canales de maximo, no?
Bueno, si ya los tienes, arrastra el midi hacia al TinyMM para que salga un archivo .mml con el mismo nombre del midi.
Luego, abre el MML Editing Tool y ve a File→Open, selecciona el .mml de donde lo tengas y abrelo:
[Tienes que estar registrado y conectado para ver esa imagen]Luego saldran un desmadre de letras y numeros, para verlo todo "normal" ve a Tools→Fix MML File
[Tienes que estar registrado y conectado para ver esa imagen]Saldra una ventana como esta:
[Tienes que estar registrado y conectado para ver esa imagen]Ahi debes poner el volumen maximo (en decimal) de el port, recomiendo poner 255 ahi, luego le das a aceptar y te saldra esta otra ventana:
[Tienes que estar registrado y conectado para ver esa imagen]Ese es el tempo o la velocidad de la musica, pero, como saber que numero poner ahi? muy sencillo gracias a Synthfont, ve a la parte donde salen los canales (4 Plug & Play), si te fijas en la parte superior izquierda hay algo que dice BPM y un numero, debes poner el numero que sale ahi en la ventana del MML Editing Tool cuando le des play al midi (porque a veces cuando no esta sonando sale otro numero)
[Tienes que estar registrado y conectado para ver esa imagen]Con eso saldra el tempo de smw en el texto que sale en el MML Editing Tool.
NOTA: A veces no saldra el tempo y eso es debido a que borraste uno de los primeros canales porque no hacia falta, lo que debes hacer es poner el numero de BPM que sale en Synthfont [Tienes que estar registrado y conectado para ver este vínculo] y te saldra el tempo de smw.Ya casi tienes tu port, ahora solo queda escoger los instrumentos para cada canal, para saber que instrmento le queda a cada canal escuchalos por separado en Synthfont, con doble click en un canal lo desactivas para escuchar solo uno (tambien se puede dandole click derecho al canal y escoger "Solo track"). Para comparar el sonido del canal del midi con los instrumentos del smw ve al MML Editing Tool y abre el Sample Player:
[Tienes que estar registrado y conectado para ver esa imagen]Ahi saldran todos los instrumentos del juego y si apretas los botones donde sale el nombre de cada uno, haran el sonido.
[Tienes que estar registrado y conectado para ver esa imagen]Cuando hayas elegido los instrumentos para cada canal ya deberia estar tu port pero aun faltan unas cosas que debo mencionar.
Como pueden ver, en cada canal viene algo como esto:
- Código:
-
#X @0 v255 y10
#X es el canal, donde X es el numero del canal (#0 = canal 1, #1 = canal 2 y asi...)
@0 es el instrumento (sale la flauta por default, debes cambiarlo por el instrumento que hayas escogido segun su sonido y el parecido)
v255 es el volumen del canal, 255 es el maximo.
y10 es la posicion del sonido, con y10 sonara en los dos audifonos, de 10 para abajo sonara en el audifono derecho mas que en el izquierdo y con 10 para arriba sonara mas en el izquierdo que en el derecho, el maximo para cada lado es 0 (sonara SOLO en el audifono derecho) y 20 (sonara SOLO en el izquierdo). No les recomiendo tocar esto a menos que hayan dos canales que suenan muy parecido, podras tener un buen efecto si en un lado del audifono suena mas que el otro.
Si te fijas, el canal #0 tienen unas cosas extra no? ya las explico.
- Código:
-
#0 @0 v255 y10 w255 t32
w255 es el volumen global del port (no confundir con el volumen de cada canal)
t32 es el tempo o la velocidad del port.
Algo opcional que puedes añadir en esa misma linea,
qXY donde X es el largo de las notas y Y vendria siendo algo como un volumen secundario, el primer numero no debe ser mayor a 7 y el segundo no puede ser mayor a F.
Por ejemplo si yo pongo...:
- Código:
-
q5e a1
La nota no durara lo mismo que una nota 1, sera como entre la nota 1 y la 2, tambien tendra un volumen un poco mas bajo del que pusiste al principio. Es algo complicado de usar asi que no lo recomiendo.
Paso extra:
Si por alguna razon los canales salen desordenados (#1, #2, #3, #5, #6, #0, #0, #0 es un ejemplo) debes cambiarlos poniendo un numero ascendente, osea, en el primer canal que sale ponle #0, al que sigue #1 y asi hasta que se lo hayas puesto a todos.
Ahora va algo que la mayoria de las veces te dara problemas si no editaste el midi...
[Tienes que estar registrado y conectado para ver este vínculo]La percusion puede variar mucho, puede ser muy muy facil de poner si editaste bien el midi, si no, entonces no sonara bien porque se reempalzaran unas notas con otras y quedara hecho un desmadre. Digamos que tu percusion solo tiene kicks y snares (puede ser cualquier nota), lo que hay que hacer es copiar el canal de la percusion y pegarlo en otra ventana del MML Tool, luego, ve a Tools→Drum Fixer
[Tienes que estar registrado y conectado para ver esa imagen]Luego que le des click te saldra una ventana como esta pidiendote un instrumento de percusion para una nota:
[Tienes que estar registrado y conectado para ver esa imagen]En mi caso, las notas a+ son usadas para los kicks asi que pondre un 21 ahi (si no sabes cuales instrumentos son para la percusion te recomiendo ver el Sample Player, mis recomendaciones para percusion son el @21, @10 y @29) y luego saldra la misma ventana pero esta vez te pide el instrumento para la otra nota
[Tienes que estar registrado y conectado para ver esa imagen]En mi caso, la nota c es para los snares (@29 o @10) asi que pondre un 29 ahi.
Con eso deberia estar ya tu percusion, supongo que no sabras cual nota es cual, cual es para cada instrumento, no te precupes, lo que debes hacer es reproducir solo el canal de la percusion en synthfont y fijarte cual nota toca primero, si el bombo (kick) o el tambor fuerte (snare), en mi caso toca primero el bombo y luego el tambor fuerte:
- Código:
-
@21a+8 @21a+8 @29c4^8 @21a+8
En la mayoria de los casos, habran mas kicks que snares asi que si eres valiente puedes adivinar que instrumento poner con solo ver cual es la nota que aparece mas veces en el canal o la que aparece menos.
Solucion de problemas
Si intentas insertar el port que acabas de hacer al rom, tienes una posiblidad muy alta de que te de errores como este:
[Tienes que estar registrado y conectado para ver esa imagen]Explicare que significa cada error.
Musical interval is too high: Este error te lo da cuando, por medio de subidas de octava (">") llegas a la octava maxima que puede tocar la nota o llegas a una octava invalida (o7).
Invalid octave: Esto es porque en alguna linea, la octava es o7 o mas alta, el smw solo permite octavas de o6 como maximo.
NOTA: En esta octava unas notas no podran tocar porque el pitch de cada una es muy elevado, estas notas son a+ y b asi que, si en el canal o la parte donde la octava es de o6 hay una a+ o una b tendras que bajarla a o5.Tambien hay otros errores que no salen en la imagen que tome, estos son...
Musical interval is too low: Este error sale cuando bajas de la octava o1 mediante el comando "<" (baja una octava), obviamente no existe el o0.
Octave is too high: Este error raramente lo da, la mayoria de las veces dice "Invalid octave", es basicamente lo mismo, una octava que se pasa del o6 (tambien cuando la pones justo antes de una nota a+ o b).
Octave is too low: Este tambien, raramente lo da, es porque tienes un o1 en cierta parte del canal, segun tengo entendido todas las notas pueden tocar a o1.
Pero... como arreglarlos? muy sencillo, ves que a la izquierda del error sale un numero?
[Tienes que estar registrado y conectado para ver esa imagen]Esa es la linea donde esta tu error, para saltar ahi debes desactivar el word wrap (o ajuste de linea) del notepad
[Tienes que estar registrado y conectado para ver esa imagen]Presiona Ctrl+T para que salga una ventana
[Tienes que estar registrado y conectado para ver esa imagen]Ahi pondras el numero de linea donde esta el error, ya saben,
[Tienes que estar registrado y conectado para ver este vínculo].
Ahora explicare como arreglar cada error.
Musical interval is too high: Podras ver una ">" en la linea donde te deja el notepad, NO la toques, simplemente comienza a ver una por una las lineas hacia arriba, debe haber una con una definicion de octava, seguramente es o5 o o6, una de las formas mas faciles de areglar esto es poniendo o4 en el inicio de cada canal (si el canal ya viene con una octava definida al principio, obviamente no pongas nada, debe ser al principio de todas las notas, si sale una definida despues de una nota ahi si ponla). Algo que debo mencionar es que debes contar todas las > y las <, si el canal inicia con o4 debes restarle 1 con cada < y sumarle 1 con cada > (en tu mente claro esta) y luego si ves que en la linea donde sale el error se sube a mas de o6 entonces restale 1 a la octava inicial, quedaria o3 y con eso se debe arreglar el error.
Musical interval is too low: Es basicamente lo mismo que lo anterior pero en vez de octava alta es una octava muy baja y los <.
Invalid octave: En la linea donde te deja el notepad podras ver una o7 (o incluso una mas alta), simplemente bajala a la maxima que vendria siendo o6.
NOTA: En estos casos lo recomendable es restarle 1 a TODAS las octavas del canal porque si no, no sonara igual a como en el midi.Octave is too high: En la linea veras la octava, restale 1 y lee la nota que puse anteriormente.
Octave is too low: Igual que el anterior pero en vez de eso veras una o1, sumale 1 a todas las octavas del canal.
NOTA: Si ya hay una octava maxima en una parte simplemente solo sumale 1 a la que dice y las demas dejalas intactas.Una vez que corrijas esos errores al fin tendras tu primer musica custom! Felicidades!
Sin embargo, el tutorial no termina aqui, aun quiero cubrir unos pasos que son completamente opcionales pero pueden hacer que tu port suene mucho mas profesional y mucho mas epico (
asi como los mios).
Extra 1: Hex Commands
Antes que nada, estos comandos SOLO sirven si tienes aplicado el MORE.asm, si no lo estas usando en tu rom (algo que dudo porque los addmusics nuevos necesitan el more para poder funacionar [el addmusicM y el 4.05]) te aconsejo ignorarlo.
Bueno, estos comandos, como el nombre lo dice, son con numeros HEX (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10 etc...), hay muchisimos pero solo explicare los mas utiles (en mi opinion).
ADSREl mitico comando ADSR... este es algo que añade diferentes efectos a los instrumentos originales, incluso puede llegar a hacerlo sonar como uno totalmente diferente, para activarlo debes poner algo como esto al principio del canal:
$ED $DA $SRVen las letras de color? Si cambias el lugar de las primeras dos te podras dar cuenta que forman ADSR, esas son siglas que significan lo siguiente:
A: Attack. Este es el tiempo que tardara el sonido en
subir al decrease. Valores permitidos para este numero: 0 ~ F.
Entre menor sea el numero (o letra, pero considerando que es hex, las letras tambien son numeros), mayor es el tiempo en el que subira el sonido. 0 dura bastante y F es instantaneo.
[Tienes que estar registrado y conectado para ver este vínculo].Al principio use F de attack, luego use 0. Con eso se pueden dar cuenta de como son ambos extremos.
D: Decrease. Este es el tiempo que tardara el sonido en
bajar al sustain desde el attack. Valores permitidos para este numero: 0 ~ 7.
Entre menor numero, menor sera la velocidad del decrease, excepto que este no es tan lento si se pone en 0.
[Tienes que estar registrado y conectado para ver este vínculo].Al principio es el decrease F y luego es el decrease 0.
Notese como baja la barra roja del spc player desde arriba a poco mas arriba del centro en el decrease 0.S: Sustain. Este es la parte donde llegara el sonido despues del attack y el decrease. Valores permitidos para este numero: 0, 2, 4, 6, 8, A, C, E.
Aqui, a segun el numero, el volumen se posicionara en cierto lugar, entre mas arriba mas fuerte suena y obviamente, entre mas abajo mas bajo. Es decir; entre menor numero, menor volumen que sostiene el canal.
[Tienes que estar registrado y conectado para ver este vínculo].Aqui si puse todos los valores posibles porque eran pocos. Estan en el mismo orden que puse en la explicacion.
R: Release. Este es el tiempo en el que dejara de sonar el canal despues de el sustain. Valores permitidos para este numero: 0 ~ F.
Quizas se pregunten por que en el sustain solo se podian poner numeros pares? Pues la respuesta esta aqui.
El release F no es muy rapido, digamos que quieres que el sonido se desvanezca mas rapido que el F, que haces? Muy sencillo, le sumas 1 al sustain para que se tome tambien como release. Por ejemplo, tengo $ed $4f $6f y quiero que desaparezca el sonido un poco mas rapido asi que le sumo 1 al sustain de 6 (y obviamente tambien al release), quedaria asi:
$ed $4f $
70
El sustain, a pesar de aparentar ser 7 (el cual no existe por cierto) es el 6, si se le suma 1 y queda en un numero impar se tomara como parte del release PERO el sustain no cambiara.
[Tienes que estar registrado y conectado para ver este vínculo].Ahi uso todos los numeros que no use en el ejemplo del sustain, podran notar que en vez de quedarse ahi, bajan un poco rapido.
Nota: El valor maximo del release es $ff, recomiendo no usar valores tan altos ya que solo se escuchara un click.Bueno... eso es muy complicado para alguien que apenas va empezando, no es necesario que tu mismo hagas los ADSR, yo tengo una lista muy grande con comandos para que tu instrumento suene de diferente manera y lo pondre aqui para que no estes haciendo ADSR a cada rato porque se que es dificil hacer uno decente.
[Tienes que estar registrado y conectado para ver este vínculo]La hice yo viendo comandos de un tema de la central, viendo comandos de juegos oficiales, haciendo ADSRs propios y de unos que fueron compartidos por gente de la central, les pido que ignoren lo que sale al principio, es solo las notas que las escribi para que no se me olvidaran y tambien ignoren que esta en ingles, la hice asi para pasarsela a un tipo de la central.
Bien, ese comando era el mas importante para mi, ahora explicare los demas.
EcoEsto es para... eh, añadir eco a un canal, le dara mas "poder" a un instrumento y dara un bonito efecto de cueva si lo pones en los canales #4, #6 y #7. Para activarlo debes poner esto debajo del canal #0 (debajo de #0 wXX vYY y10 tZZ).
- Código:
-
$EF $XX $YY $ZZ
$F1 $XX $YY $ZZ
En $EF, $XX son los canales donde esta activado el eco, en esto se usa binario de esta manera:
8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 |
La primera linea de numeros (que va del 8~1) son los canales y la segunda son los canales donde esta activado el eco, si lo quieres activado en un canal pon un 1 y si no lo quieres activado en otro pon 0, en mi caso quiero el eco activados en los canales 1, 3, 5 y 6 (#0, #2, #4 y #5) y el numero binario resultante es 00110111, ahora debes convertirlo a HEX en esta pagina que recomiendo bastante:
[Tienes que estar registrado y conectado para ver este vínculo]El numero en HEX resultante es $37 asi que eso debo poner, hasta ahora tenemos $EF $37 $YY $ZZ.
En $YY y $ZZ debes poner un numero como el del comando "y", es en $YY es cuanto eco suena en el audifono izquierdo y $ZZ es cuanto eco suena en el derecho, lo mas recomendable es dejar los dos numeros igual, puede poner un numero entre $01~$FF (eso si, no sean exagerados porque si no sonara mal!).
Ahora vamos con la segunda linea del comando para el eco.
$F1 $XX $YY $ZZ$XX es "Delay" o retraso, esto es que tanto duran las notas para doblarse, eso dara el efecto de eco (por ejemplo, las notas suenan primero y luego de un momento pequeño (o grande, segun lo que le pongas) suenen las mismas notas del canal con el eco pero menos fuerte).
$YY es el "Feedback" o realimentacion el eco, esto dara mucho mas poder al eco y mas efecto. Recomiendo no usar valores muy altos ya que puede destruir tu port por la excesiva realimentacion del eco, cuidado con eso.
$ZZ es el "Filtro FIR", esto es un filtro que da un cierto efecto al eco y es muy complicado de usar asi que dejalo en $00, con $01 lo activa, puedes dejarlo asi pero si quieres un diferente efecto hay que poner mas comandos y eso aumenta el insert size asi que mejor dejalo en $00, no hace mucha diferencia a decir verdad.
Ahora nuestro comando de eco queda asi:
- Código:
-
$EF $37 $50 $50
$F1 $02 $3C $00
Y con eso termina el comando de eco, estos son los mas importantes, los demas son para dar un efecto distinto a las notas, no son importantes asi que no los explicare ya que seria alargarme demasiado y tambien pueden llegar a confundir y ser muy molestos porque rara vez te da el efecto deseado a la primera.
Extra 2: Loop 1 (Reduccion de tamaño)
Esto tambien es algo opcional en la mayoria de los casos, pero a veces el midi es muy largo y por consiguiente el txt tambien lo es, el addmusic 4.05 no te lo insertara si es mayor a 18kb (segun recuerdo) asi que debes "loopearlo" para reducir su tamaño, en esta parte veremos las diferentes tecnicas de loopeo.
NOTA: El addmusicM NO tiene limites para el peso de los txt asi que si estas usando ese ignora este paso, eso si, entre mas grande mas espacio le quita al rom y si pones muchas y grandes el addmusic al final no te las querra insertar porque no queda espacio para ellas en el rom.Metodo 1: CorchetesLa primera, la mas basica de todas pero tambien la mejor a segun ciertas ocasiones es la de los "[]", esta es un tanto simple pero muy efectiva y mas si vienen muchas partes con las mismas notas, esto se usa asi:
Supongamos que en nuestro txt viene algo como esto
- Código:
-
e8e8e8e8e8
f8f8f8f8f8
e8e8e8e8e8
f8f8f8f8f8
e8e8e8e8e8
f8f8f8f8f8
e8e8e8e8e8
f8f8f8f8f8
e8e8e8e8e8
f8f8f8f8f8
Se puede loopear de dos formas, las dos vendrian siendo casi la misma cosa, veamos la primera.
- Código:
-
[e8]5
[f8]5
[e8]5
[f8]5
[e8]5
[f8]5
[e8]5
[f8]5
[e8]5
[f8]5
Lo que hice fue simple, puse entre "[]" la nota que se repite y puse un numero afuera, ese es el numero de veces que debe sonar, si vienen 5 notas de e8 pones [e8]5 y la nota se repetira 5 veces aunque no esten escritas las notas como al principio. Simple no? ahora veamos la segunda forma de loopear ese pedazo.
- Código:
-
[e8e8e8e8e8
f8f8f8f8f8]5
Tambien se pueden agarrar muchas notas como lo que acabo de hacer, esto dice que se repita e8e8e8e8e8 f8f8f8f8f8 5 veces.
Ahora, debes quedarte con una de las dos formas en que loopee ese pedazo del txt porque NO puedes loopear loops, y a que me refiero? pues a algo como esto:
- Código:
-
[[e8]5]5
[[f8]5]5
O algo como esto:
- Código:
-
[[e8]5
[f8]5]5
Aun no tengo claro porque no se puede hacer, supongo que es algo relacionado al codigo de la musica del smw, segun he oido es bastante malo y lleno de bugs, bueno, la cosa es que no puedes loopear loops a como lo hice, pero hay una excepcion, mas adelante dire cual es.
Metodo 2: Label LoopEste metodo es util para cuando quieres que una parte se repita en otra parte del txt, no podras hacerlo con los corchetes porque tienen que estar seguidas las notas parecidas, con esto, llamas a las notas con un comando (X), si, los parentesis cuentan, la X es un numero cualquiera. De una vez explicare como se usa.
Otra vez, supongamos en tenemos este pedazo de notas en un txt:
- Código:
-
f8e16e+2e+2e+2>b1>b1>a32<r32e16e16f4
<b4a4b4>c+4
e8^16^32r32d+4f+8^16g+8r16a8
f8e16e+2e+2e+2>b1>b1>a32<r32e16e16f4
Si prestas atencion podras notar que la parte que puse al principio se repite mas abajo y no puedes usar los corchetes porque en medio hay otras notas, aqui se usa el label loop.
- Código:
-
(1)[f8e16e+2e+2e+2>b1>b1>a32<r32e16e16f4]
<b4a4b4>c+4
e8^16^32r32d+4f+8^16g+8r16a8
(1)
Este metodo se usa asi, encierras la parte de notas donde se repite mas abajo y antes de los corchetes pones un (X) donde X es un numero como anteriormente habia dicho, lo mas recomendable es comenzar con 1 e ir sumando 1 al numero. Esa parte que puse esta diciendo que:
- Código:
-
f8e16e+2e+2e+2>b1>b1>a32<r32e16e16f4
Es igual a (1) por lo que, si pones (1) mas abajo, sonaran las notas que encerraste antes.
Al igual que con el loop de corchetes, no puedes loopear otro loop.
- Código:
-
(1)[[c1^2^8]10]
<f+2^4f+2^4f+2g+4^8b4^8>g+4f+2^4e4d+2^4d+2^4d+2
(1)
No lo puedes hacer de esa forma pero si se puede hacer algo que vendria siendo lo mismo y es esto:
- Código:
-
(1)[c1^2^8]
<f+2^4f+2^4f+2g+4^8b4^8>g+4f+2^4e4d+2^4d+2^4d+2
(1)10
Como con el loop de corchetes, aqui estaremos diciendo que (1) se repita 10 veces.
Metodo 2: "L" loop o comando LEste es el loop que mas le resta insert size (el txt seguira casi igual pero a la hora de insertarse es menor el tamaño), es igual de simple que los otros y con este SI puedes loopearlo con otro loop, quizas no se entienda bien con solo decirlo, vamos de una vez con el ejemplo.
Tenemos esto en una parte del txt:
- Código:
-
a1a1a1a1a1a1a1a
g1g1g1g1g1g1g1g1g
d1d1d1d1d1d1d1d1d
r1r1
f1f1f1
Ahora, a la hora lo loopearlo con el comando "L" quedaria asi:
- Código:
-
l1
aaaaaaaa
ggggggggg
ddddddddd
rr
ffff
Con el "poderoso" comando L podemos hacer que cada nota donde no dice el largo sea igual al numero que pusiste despues de la l
al principio del canal (solo ahi se puede poner), como yo puse "l1" le quite el largo todas las notas con duracion de 1 dejando solo letras, eso se puede loopear
aun mas.
- Código:
-
l1
[a]8
[g]9
[d]9
[r]2
[f]4
Lo ven? ahora se ve mucho mas pequeño que antes, eso seria todo con este loop.
NOTA: Esto solo afectara a las notas con esa duracion, si tienes notas de duracion 32 y pones l8 y cambias un e32 por e sera como un e8, un tanto obvio pero mejor lo digo por si las dudas.Metodo 3: Loop de asteriscoUn metodo que puede ser util, no lo recomiendo mucho ya que es casi igual que el label loop pero con solo un caracter, lo malo de este es que solo se puede usar una vez (una vez para designarle notas porque puedes llamar esas notas poniendolo las veces que quieras). Aqui el ejemplo:
Tenemos algo como esto
- Código:
-
c1g1g+1g1
c1g1g+1g1>c1
c1g1g+1g1
c1d1e16r1
Y usamos el asterisco para loopear la primera parte, asi:
- Código:
-
[c1g1g+1]g1
*>c1
*
c1d1e16r1
El asterisco llama al grupo de notas encerradas entre corchetes, puedes poner un numero por ejemplo 4 y al llamar las notas encerradas puedes llamarlas 4 veces poniendo algo como "*4", es importante que te sepas que eso llama el ultimo loop que hiciste asi que ten cuidado al usarlo.
Metodo 4: Loop de puntosEste es muy facil de usar, disminuira un poco (no mucho) el tamaño y hara que todo se vea organizado. Veamos el ejemplo de una vez porque no sabria como explicar esto.
Tengo una nota extendida por ties que es esta:
- Código:
-
c1^2^4^8^16^32^64
Ahora, usando los puntos quedaria asi:
- Código:
-
c1......
Y tendra el mismo largo.
El punto solo se puede usar si la extension de nota siguiente esta en orden, por ejemplo:
Yo puedo hacer esto:
a4^8 → a4.
PERO, no puedo hacer esto:
a1^32 → a1.
Porque se tomaria como un a1^2, el orden debe ser asi:
1 → 2 → 4 → 8 → 16 → 32 → 64
Si esta de otra forma entonces no lo podras poner.
Basicamente el punto hace que a la nota se le agrege la duracion a la mitad de la original, por eso el a1. es igual a a1^2, el ^2 es obviamente la mitad de la nota entera o 1.
Extra 3: Loop 2 (Intro de la musica)
Esto no tiene nada que ver con reducir el tamaño del txt, es para que una parte de la musica no se vuelva a repetir nunca mas, es muy dificil obtener el loop a la primera, esto es de ensayo y error. El comando utilizado para el intro es "/", vamos a usar de ejemplo un port mio.
Este es mi txt:
- Código:
-
#0 v150 y7 w255 t75
$EF $06 $46 $46
$F1 $02 $32 $01
Bajo
o3(1)[e16b16e16b16e16r16b16r16>c16r16<b4a16r16
g16b16g16b16g16r16b16r16f+16b16f+16b16e16r16d16r16
e16b16e16b16e16r16b16r16>c16r16<b4a16r8^16
f8a8g8f+8f8e8d8]
(1)/
Bajo
(1)4
(2)[f16>d16<f16>d16<f16r16>d16r16e16r16d4<b16r16
>d16r16c4<b16r16b8g8a8b8
e16b16e16b16e16r16b16r16>c16r16<b4g8
e16b16e16b16e16r16a16r16b16r16g4d16r16
f16>d16<f16>d16<f16r16>d16r16e16r16d4<b16r16
>d16r16c4<b16r16b8g8a8b8
e16b16e16b16e16r16b16r16>c16r16<b4g8
e16b16e16b16e16r16a16r16b16r16g4d16r16]
(1)6
(2)
(1)2
;
#1 v255 y15
Coro
o4
r1^1^1^1^1^1^1^1/
Coro o4
<b16r16>b8e8b8<b16r16>b8e8f+8
g16r16f+8g8a4g8f+8d8
<a8g8f+8d8e16f+16g16b16>e16g16a16b16
>c8<b16r16b16r16>c4<b16r16b16r16b16r16
o2b16>e16a16b16>e4^8e16r16e16r16e16r16
e8d+16r16d+16r16d+8d16r16d16r16c+16r16<b16r16
<b16>e16a16b16>e4^8e16r16e16r16e16r16
e8d+16r16d+16r16d+8d16r16d16r16c+16r16<b16r16
>b16r16>b8e8b8<b16r16>b8e8f+8
g16r16f+8g8a4g8f+8d8
<a8g8f+8d8e16f+16g16b16>e16g16a16b16
>c8<b16r16b16r16>c4<b16r16b16r16b16r16
o3b16>e16a16b16>e4^8e16r16e16r16e16r16
e8d+16r16d+16r16d+8d16r16d16r16c+16r16<b16r16
<b16>e16a16b16>e4^8e16r16e16r16e16r16
e8d+16r16d+16r16d+8d16r16d16r16c+16r16<b16r1^1^1^1^1^1^1^1^8^16
d8e8e8g8d8c8d8
g16r16d16g16a16d16d16a16b16d16d16b16>c16<d16g16>c+16
d2^4r8c16<b16
g2^4r4^8
d8e8e8g8d8c8d8
g16r16d16g16b16d16d16b16>c16<d16d16>c16d16<d16>e16f+16
g4^8f+4^8g4^8
f+4^8g4f+4
o3b16r16>b8e8b8<b16r16>b8e8f+8
g16r16f+8g8a4g8f+8d8
<a8g8f+8d8e16f+16g16b16>e16g16a16b16
>c8<b16r16b16r16>c4<b16r16b16r16b16r16
o2b16>e16a16b16>e4^8e16r16e16r16e16r16
e8d+16r16d+16r16d+8d16r16d16r16c+16r16<b16r16
<b16>e16a16b16>e4^8e16r16e16r16e16r16
e8d+16r16d+16r16d+8d16r16d16r16c+16r16<b16r16
>b16r16>b8e8b8<b16r16>b8e8f+8
g16r16f+8g8a4g8f+8d8
<a8g8f+8d8e16f+16g16b16>e16g16a16b16
>c8<b16r16b16r16>c4<b16r16b16r16b16r16
o3b16>e16a16b16>e4^8e16r16e16r16e16r16
e8d+16r16d+16r16d+8d16r16d16r16c+16r16<b16r16
<b16>e16a16b16>e4^8e16r16e16r16e16r16
e8d+16r16d+16r16d+8d16r16d16r16c+16r16<b16r1^1^1^1^1^1^1^1^8^16
d8e8e8g8d8c8d8
g16r16d16g16a16d16d16a16b16d16d16b16>c16<d16g16>c+16
d2^4r8c16<b16
g2^4r4^8
d8e8e8g8d8c8d8
g16r16d16g16b16d16d16b16>c16<d16d16>c16d16<d16>e16f+16
g4^8f+4^8g4^8
f+4^8g4f+4
;
Ok ok, quizas no entiendas bien con solo verlo, bueno, cuando pones el "/" en una parte del txt lo que esta atras de eso nunca se repetira, en mi caso esta parte nunca vuelve a sonar (una vez que termine de sonar por primera vez):
- Código:
-
o3(1)[e16b16e16b16e16r16b16r16>c16r16<b4a16r16
g16b16g16b16g16r16b16r16f+16b16f+16b16e16r16d16r16
e16b16e16b16e16r16b16r16>c16r16<b4a16r8^16
f8a8g8f+8f8e8d8]
(1)/
Luego de que termine de tocar todas las notas esa parte no sonara mas por el comando /, no hay mucho que explicar en esto, solo me queda decir que no lo puedes poner dos veces en un canal porque si no, solo el segundo se tomara en cuenta, tampoco puedes ponerlo al puro principio porque no hay notas. Como dije, esto es de ensayo y error, si no queda bien trata de moverlo hacia arriba o hacia abajo, esta parte es la mas dificil de todo sin duda, incluso mas dificil que poner samples (cosa que no explicare porque es demasiado largo).
Agradecimientos
Bien! con esto termina mi tutorial de como portear, es lo basico y un poco de lo avanzado, debo darle las gracias a unas personas sin las cuales no hubiera podido hacer esto.
-Vashvaati: El me explico como usar el loop y medio aprendi con su tutorial.
-Iceman: La parte de como hacer ADSR fue hecha por el, yo solo la traduci y le agregue una que otra cosa.
-SNN y Supertails: Les doy las gracias a ellos dos porque con su tutorial aprendi a usar las distintas formas de loopear.
Fin del tutorial
Este es mi tutorial mas largo que he escrito hasta la fecha, espero que sea de mucha ayuda para los que quieran aprender a portear, recuerden que querer es poder, si no le echas ganas nunca podras hacer ports geniales o ports que suenen al menos.
Puse mucho empeño y me demore 3 dias haciendo esto, sin embargo, no pido credito si aprendes a hacer musica para tu hack ya que solo los desesperados por aparecer en la lista de creditos lo exigen, si algo es de calidad no es necesario decirlo ya que la persona podra notar el esfuerzo y querra recompensar al autor dandole credito en su hack.
Bueno, eso es todo, ya saben, las dudas, comentarios, quejas, resultados, agradecimientos y demas van abajo en tu post.