Music Tracker
Con el Music Tracker compones la música del juego. Una canción es una lista de filas que suenan una detrás de otra, de arriba abajo. Cada fila tiene una columna por canal (cuatro de tono y uno de ruido) y una de comandos. Las notas suenan con los instrumentos de la canción, cada uno con su onda, su volumen, su envolvente y sus LFO.
Edita los ficheros .jms de la carpeta Music. Al compilar, el IDE los convierte en los .jmu que carga el módulo Sound. El editor de escenas también los usa: cada sala puede tener su música.
Se abre de tres maneras:
- New Music, en el menú del explorador (clic derecho) o en su barra de botones, o New, en la barra del tracker. Te pide una plantilla y un nombre, crea el
.jmsy lo abre. Lo crea en Music, o en la carpeta que tengas elegida en el explorador. - Doble clic en un
.jmsdel explorador. - Home › View › Music, en la cinta: enseña la ventana del tracker (Music Editor), con las canciones que ya tengas abiertas.
Cada canción se abre en su pestaña, y puedes tener varias abiertas. La pestaña lleva un * mientras hay cambios sin guardar.
El tutorial Tu primera melodía chiptune recorre el editor con capturas: crear la canción a partir de una plantilla, escribir notas en la rejilla, retocar un instrumento y reproducirla desde el juego.
Un recorrido
Una melodía corta que suena en bucle en el juego.
- Crea la canción. En el explorador, clic derecho en Music › New Music. Elige la plantilla Chiptune lead y pulsa OK. Escribe el nombre, por ejemplo
Tema, y acepta: el IDE creaMusic/Tema.jmsy la abre en el tracker. - Escúchala. Pulsa
F5. La fila que suena sale en verde, y los medidores de la barra de estado se mueven con cada canal.F8la para. - Haz sitio. Haz clic en la fila
007y pulsaInscuatro veces: salen cuatro filas vacías debajo. - Graba notas. Pulsa REC. Haz clic en la celda Note de Tone 0, en la fila
008, y pulsaE,W,QyW. El tracker escribeE-4,D-4,C-4yD-4con el instrumento00, el que está elegido en KEYBOARD, y baja una fila con cada nota. Pulsa REC otra vez para dejar de grabar. - Vuelve a escucharla con
F5. La plantilla trae Loop song encendido: al llegar alENDde la última fila, la canción vuelve a la fila000. - Guarda con
Ctrl+S. Mientras hay cambios sin guardar, el botón dice Save ●. - Ponla en el juego. En una sala del editor de escenas, elígela en Room › Music (lo cuenta La sala y el juego). En un juego de código, cárgala con
Sound.loadMusic("Music/Tema.jmu"): mira «Con el código», más abajo. El.jmulo crea el IDE al compilar.
Las plantillas
New Music empieza por elegir una plantilla, en el diálogo New music — pick a template:
| Plantilla | Qué trae | Tempo (ms) | Row ticks | Loop song |
|---|---|---|---|---|
| Empty | Una sola fila, con END. | 72 | 8 | No |
| Basic 4/4 beat | Ocho filas que alternan un C-2 en Tone 0 y la caja en Noise. | 72 | 8 | Sí |
| Chiptune lead | La escala de Do mayor, de C-4 a C-5, en Tone 0, con un bajo en Tone 1 y otra voz en Tone 2. | 72 | 6 | Sí |
| Battle theme | Un ostinato rápido en Tone 0, con bajo y caja. | 48 | 4 | Sí |
Las cuatro traen los mismos instrumentos: 0 Pulse (onda pulse), 1 Bass (triangle), 2 Lead (saw) y 3 Snare (ruido white, un golpe corto). Volume es 185, salvo en Battle theme, que es 200. Todo se puede cambiar después.
Herramientas
| Botón | Qué hace | Tecla |
|---|---|---|
| New | Crea una canción: lo mismo que New Music en el explorador. | |
| MIDI | Importa un fichero MIDI en la canción abierta (mira «Importar un MIDI», más abajo). | |
| Validate | Comprueba las celdas y compila la canción, sin guardarla. Si todo va bien, la barra de estado dice cuánto ocupa compilada (valid - 170 bytes); si no, un mensaje dice qué falla. | F9 |
| Save | Guarda el .jms. Con cambios sin guardar dice Save ●; sin cambios, está apagado. | Ctrl+S |
| Close Tab | Cierra la pestaña. Si hay cambios, te pregunta si los guardas. | |
| ▶ (Play) | Toca la canción desde la fila de inicio: la 000, o la que marques en azul. Si hay celdas en rojo, no toca, y la barra de estado dice cuántas hay. | F5 |
| ❚❚ (Pause) | Pausa la canción; la segunda vez, sigue. | F6 |
| ■ (Stop) | Para la canción. | F8 |
| REC | Graba: las notas que tocas con el teclado se escriben en la rejilla (mira «Escribir notas»). | |
| Insertar fila | Inserta una fila vacía debajo del cursor. | Ins |
| Borrar filas | Borra las filas elegidas. Siempre queda una. | Shift+Supr |
| Duplicar filas | Copia las filas elegidas justo debajo. | Ctrl+D |
| Pitch + y Pitch - | Suben o bajan un semitono las notas elegidas de los canales de tono. No tocan el ruido. | Shift+↑ y Shift+↓ |
| +12 y -12 | Lo mismo, una octava. | Shift+Re Pág y Shift+Av Pág |
| Piano | La octava por la que empieza el teclado de la pantalla, de 0 a 3. | Ctrl+← y Ctrl+→ |
Play, Pause, Stop y los tres botones de filas son iconos: su pista dice qué hacen. Al subir o bajar notas, las que pasarían de 0 o de 127 se quedan en el límite.
La rejilla
Filas y tiempo
La canción suena de arriba abajo, fila a fila, hasta un END o hasta la última fila. Todas las filas duran lo mismo: Row ticks ticks de Tempo (ms) milisegundos. Con 8 ticks de 72 ms, cada fila dura 576 ms. Si Loop song está encendido, al acabar vuelve a la fila Loop row.
Cada cuatro filas, una sale más clara, y cada ocho, más todavía: sirven de guía para contar compases. Durante Play, la fila que suena sale en verde y la rejilla la sigue. Doble clic en el número de una fila la marca en azul: Play empieza ahí.
Los canales
| Canal | Qué toca | Sus instrumentos |
|---|---|---|
| Tone 0 a Tone 3 | Notas, con onda square, triangle, saw, pulse o sine. | De tipo tone. |
| Noise | Ruido: percusión y efectos. | De tipo noise. |
Cada canal toca una nota a la vez: para un acorde, pon cada nota en un canal.
Los botones M y S de la cabecera de cada canal lo silencian (M) o lo dejan sonar solo (S): si hay alguno en S, suenan solo esos. Sirven para escuchar una línea suelta, y no se guardan. Alt+1 a Alt+4 y Shift+Alt+1 a Shift+Alt+4 hacen lo mismo con Tone 0 a Tone 3.
Las celdas
Cada canal tiene cuatro columnas:
| Columna | Qué lleva |
|---|---|
| Note | La nota, con su nombre en inglés y su octava: C-4, F#3. Las naturales llevan -, y C-4 es la nota MIDI 60. También vale el número MIDI, de 0 a 127. OFF corta la nota que suena, y --- es nada. En Noise, el periodo del ruido, de N01 a N255: N01 es el más agudo y, cuanto más alto, más grave. |
| Inst | El instrumento, por su Id. Vacía (..), el canal sigue con el que tenía. |
| Vol | El volumen de la nota, de 0 a 255. Vacía, el canal sigue con el volumen que tenía: el último Vol, o el del instrumento si lo acabas de cambiar. |
| Dur | Cuánto dura la nota, con un código de 01 a 15, contado desde el principio de la fila. Vacía, la nota sigue hasta la siguiente nota o un OFF del mismo canal. |
Los códigos de Dur 01 a 06 son de 1 a 6 ticks; 07 son 8; 08, 10; 09, 12; 10, 16; 11, 20; 12, 24; 13, 32; 14, 48, y 15, 64. Una nota larga puede pasar de su fila a las siguientes.
Lo que está mal escrito sale subrayado en rojo, y la barra de estado dice cuántos errores hay (● 2 errors). Con errores, Play no toca.
La columna Cmd
Cmd lleva comandos para toda la canción. La celda despliega una lista de ejemplos: elige uno y cambia los números. Puedes poner varios en una celda, separados por ;, y retrasar uno dentro de la fila con @ y el tick: TEMPO 60; @4 VOL 120 cambia el tempo al empezar la fila y el volumen cuatro ticks después. El tick va de 0 a Row ticks menos uno.
| Comando | Qué hace | Valores |
|---|---|---|
END | Acaba la canción. Con Loop song, vuelve a Loop row. Las filas de debajo no suenan. | |
TEMPO ms | Cambia Tempo (ms) desde ahí. | 1 a 255 |
VOL v | Cambia el volumen general. | 0 a 255 |
STOPALL | Para todos los canales. | |
TRANSPOSE n | Desde ahí, las notas de los canales de tono suenan n semitonos más arriba, o más abajo si es negativo. TRANSPOSE 0 lo quita. | -128 a 127 |
CHSTOP c | Para el canal c: del 0 al 3 son los de tono, y el 4, el de ruido. | 0 a 4 |
DUTY c v | Cambia el duty de la onda pulse del canal c. | c: 0 a 3; v: 1 a 99 |
TSLIDE c destino ticks | Desliza la nota que suena en el canal c hasta destino en esos ticks. El destino es una nota (C-5), un número MIDI o una frecuencia (440hz, 65.406hz). | c: 0 a 3; ticks: 0 a 255 |
NMODE modo | Cambia el modo del ruido: white, periodic, short o dark. | |
NENV ticks | En el ruido, cuánto tarda en apagarse cada golpe, si su instrumento no tiene envolvente. | 0 a 255 |
NSLIDE periodo ticks | Desliza el periodo del ruido hasta periodo en esos ticks. | periodo: 1 a 255; ticks: 0 a 255 |
NPER periodo | Cambia el periodo del ruido. | 1 a 255 |
Escribir notas
Hay dos maneras:
- Con el teclado. Pulsa REC y pon el cursor en una celda Note. Cada tecla escribe su nota, pone en Inst el instrumento elegido en KEYBOARD y baja una fila. Sin REC, las teclas solo suenan.
- Las teclas son las de un piano:
Z X C V B N Mson las blancas de una octava, yS D G H J, las negras;Q W E R T Y Uy2 3 5 6 7, la octava de encima. - La octava es la de Input oct, en la barra de estado:
Ctrl+↑yCtrl+↓la cambian, de 0 a 7. Con 3, la de serie,ZesC-3yQ,C-4. - En Noise, las teclas escriben periodos: de
N01(laZ) aN12(laM). - Si el instrumento de KEYBOARD no es del tipo del canal (uno de ruido en Tone 0, por ejemplo), la nota se escribe sin instrumento, y la barra de estado lo avisa.
1escribeOFFyRetrocesovacía la nota (---). Los dos bajan una fila, con REC o sin él.- Hacer clic en una tecla del teclado de la pantalla es como pulsarla.
- Las teclas son las de un piano:
- Escribiendo el texto. Pulsa
F2en una celda (o, sin REC, haz clic en la celda que ya está elegida), escribe y pulsaIntro. Así se escriben Inst, Vol, Dur y Cmd. Si tienes elegidas varias filas de esa columna, el valor va a todas.
Elegir, copiar y deshacer
- Haz clic en el número de una fila para elegirla entera; con
Shift, eliges desde la fila del cursor hasta esa. Arrastrando por las celdas, eliges un rectángulo. Suprvacía las celdas elegidas.Ctrl+C,Ctrl+XyCtrl+Vcopian, cortan y pegan como texto separado por tabuladores. Lo pegado empieza en el cursor, y si no cabe, se añaden filas al final.Ctrl+F5toca en bucle las filas elegidas. Con una sola fila elegida, toca la canción entera.Ctrl+Zdeshace yCtrl+Y(oCtrl+Shift+Z) rehace, hasta 99 pasos por pestaña: notas, filas, instrumentos y ajustes.
Paneles y opciones
SONG SETTINGS
| Campo | Qué es |
|---|---|
| Tempo (ms) | Lo que dura un tick, en milisegundos, de 1 a 255. Cuanto más bajo, más rápido va la canción. |
| Volume | El volumen general de la canción, de 0 a 255. |
| Row ticks | Cuántos ticks dura cada fila, de 1 a 65535. |
| Loop song | Con enabled marcado, al llegar a END (o a la última fila) la canción vuelve a Loop row y no se acaba. Ctrl+L lo cambia. |
| Loop row | La fila desde la que vuelve a empezar. |
| Copy ms (seekMusic) | Copia al portapapeles en qué milisegundo empieza la fila del cursor, para Sound.seekMusic (mira «Con el código»). Cuenta los TEMPO de la columna Cmd. |
Debajo, una chuleta con los atajos.
KEYBOARD
El teclado de la pantalla abarca seis octavas, desde el Do de Piano: con 3, el de serie, de C3 a C9. < y > lo mueven una octava. Haz clic en una tecla para oírla; con REC, también la escribe. Las teclas que tocas con el teclado del ordenador llevan escrita su letra, y durante Play se encienden las notas que suenan en los canales de tono.
La lista que hay junto a < y > elige el instrumento: el que suena al tocar las teclas y el que escribe REC.
INSTRUMENTS
La tabla de los instrumentos de la canción. Puedes escribir en sus celdas, como en la rejilla; Type y Wave/Mode despliegan sus valores.
| Columna | Qué es |
|---|---|
| Id | El número del instrumento, de 0 a 255: el que escribes en Inst. |
| Name | Su nombre. |
| Type | tone, para Tone 0 a Tone 3, o noise, para Noise. |
| Wave/Mode | En los tone, la onda: square, triangle, saw, pulse o sine. En los noise, el modo: white (ruido blanco), periodic (un dibujo corto que se repite: suena casi a nota), short (suena metálico) o dark (ruido blanco suavizado: más apagado). |
| Volume | Su volumen, de 0 a 255. |
| Duty | El ancho del pulso, de 1 a 99. Solo cuenta con la onda pulse. |
| Atk ms, Dec ms, Sus % y Rel ms | La envolvente ADSR (mira Edit instrument, abajo). Sus % va de 0 a 255, no en porcentaje. |
| Vib Dep, Vib dHz y Vib dly | El vibrato: la profundidad, de 0 a 255; la velocidad, en décimas de hercio, y el retardo, en ms. Solo tone. |
| PWM d:r:dly | Un LFO del duty: profundidad, velocidad y retardo, separados por :. Solo tone, y solo se oye con pulse. |
| Trm d:r:dly | El trémolo, un LFO del volumen, igual. En tone y en noise. |
| Slide | Solo noise: destino:ticks. Cada golpe desliza su periodo hasta el destino en esos ticks. |
| Test | Haz clic en > para oírlo: toca C-4, o N08 en los de ruido. |
Los botones de la cabecera:
- Edit abre el instrumento elegido en Edit instrument.
- Add añade uno:
Instrumenty su número, de tipotone, con ondapulse. - Dup copia el elegido, con un Id nuevo y
copyal final del nombre. - Del borra el elegido. Si alguna celda lo usa, te avisa antes: esas celdas se quedan con su Id, que ya no existe, y la canción no compila hasta que las cambies. Una canción tiene que tener por lo menos un instrumento.
Los Id no se reutilizan ni se renumeran: uno nuevo es el más alto más uno, y las celdas Inst siguen apuntando al mismo instrumento.
Edit instrument
Edit abre el instrumento en un diálogo con los mismos valores, a la vista y con prueba de sonido. Lo que cambias suena en cuanto tocas una tecla, y pasa a la tabla al pulsar OK. Cancel, o Esc, lo deja como estaba.
- Preset: una familia de General MIDI (de Piano a Sound Effects, y Percussion (Drums) para los de ruido) y, en la lista de al lado, uno de sus instrumentos. Al elegirlo, el diálogo carga su sonido como punto de partida. Conserva el Id y tu nombre; si el instrumento aún tiene el nombre de serie, toma el del preset.
- Name, Type y Wave: el nombre,
toneonoise, y la onda (en los de ruido, el modo). - OSCILLATOR: el dibujo de la onda y dos ruedas, Volume (0 a 255) y Duty (1 a 99; no sale en los de ruido).
- ENVELOPE: la envolvente ADSR. Atk ms es lo que tarda la nota en subir; Dec ms, lo que tarda en bajar hasta Sus 0-255, el nivel que mantiene mientras sigue (255 es todo su volumen), y Rel ms, lo que tarda en apagarse al cortarla. Arrastra los puntos de la gráfica (hasta 4 segundos por tramo) o escribe en las casillas (hasta 65535 ms). Con las cuatro a 0, no hay envolvente: una nota de tono suena igual de fuerte hasta que se corta.
- VIBRATO LFO (en los
tone): arrastra por la banda: arriba y abajo cambia la profundidad, y a los lados, la velocidad, hasta 12 Hz. O escribe en Depth, Rate (en décimas de hercio) y Delay (en ms). - NOISE SLIDE (en los
noise, en el sitio del vibrato): Target y Ticks, el Slide de la tabla. - PWM LFO (duty, pulse) (en los
tone) y TREMOLO LFO (amplitude): Dep, Rate y Dly, como el vibrato. El PWM, a fondo, mueve el duty 40 puntos arriba y abajo; el trémolo, a fondo, baja el volumen hasta el silencio. - PREVIEW: un teclado de dos octavas, de
C-3aB-4. Haz clic y arrastra por las teclas. Test tocaC-4(oN08, en los de ruido) y Stop la suelta.
La barra de estado
- A la izquierda: la fila del cursor y la última, el canal y la columna, la nota que hay (con su número MIDI), Cursor (el milisegundo en que empieza la fila), el tempo, Input oct (la octava del teclado del ordenador) y Piano view (la del teclado de la pantalla).
- En el centro: un medidor por canal, de
CH0aCH3yNSE, el ruido. - A la derecha: el estado.
● oko los errores,► playing @ 22kHz,■ stopped, el tamaño tras Validate…
El tracker suena a la frecuencia del perfil de placa activo, 22 kHz o 44 kHz (22 kHz si no hay ninguno), para que oigas lo que sonará en esa placa. Lo explica Sound.
Importar un MIDI
MIDI convierte un fichero .mid o .midi en filas del tracker. Antes, abre la canción donde quieres meterlo: la importación sustituye todo lo que tiene.
- Pulsa MIDI y elige el fichero.
- El diálogo Import MIDI dice qué trae (el tipo de MIDI, las pistas, las notas, los cambios de tempo) y enseña sus 16 canales: cuántas notas tiene cada uno (Notes), entre qué notas va (Range) y el número de su instrumento General MIDI (Program). Ajusta las opciones.
- Preview toca el resultado sin importarlo, y Stop preview lo para.
- Pulsa Import. Al acabar, un resumen dice cuántas notas y golpes de percusión han entrado y cuántos se han quedado fuera.
| Opción | Qué hace | De serie |
|---|---|---|
| Quantization | El paso de la rejilla: 1/8, 1/16 o 1/32, que son dos, cuatro u ocho filas por negra. Cada nota empieza y acaba en la fila más cercana. | 1/16 |
| Voice strategy | Cómo reparte entre los cuatro canales de tono las notas que suenan a la vez. Balanced voices elige en cada fila las mejores: primero las del mismo canal MIDI que la nota anterior de ese canal, y después las largas, las fuertes y las cercanas. First 4 voices coge las cuatro primeras. By MIDI channel da un canal de tono a cada uno de los cuatro canales MIDI con más notas. | Balanced voices |
| Master volume | Volume de la canción. | El de la canción abierta |
| Import MIDI drums | Pasa la percusión al canal de ruido. | Sí |
| Loop imported song | Loop song. Sin él, pone un END al final. | El de la canción abierta |
| Apply sustain pedal | Mantiene las notas mientras el pedal está pisado. | Sí |
| Import pitch bend as slides | Convierte el pitch bend en comandos TSLIDE. | Sí |
| Import modulation as vibrato | Da un vibrato al instrumento de los canales que usan la rueda de modulación. | Sí |
| Target | A dónde va cada canal MIDI: Auto (lo decide Voice strategy), Ignore, Tone 0 a Tone 3 o Noise Drums. | Auto; el canal 10, Noise Drums |
Lo que crea:
- Filas de 4 ticks, con el tempo del MIDI. Los cambios de tempo van como
TEMPOen la fila donde caen, uno por fila como mucho. - Un instrumento
tonepor cada instrumento General MIDI que suena, con su nombre. Su Id es el número del programa, de 0 a 127. La percusión usa instrumentosnoisedel 128 al 138 (MIDI Kick,MIDI Snare…), solo los que suenan. - El volumen de cada nota, de su velocidad y de los controles de volumen del MIDI (CC7 y CC11).
Sus límites:
- Solo MIDI de tipo 0 y 1, con el tiempo en pulsos por negra: los que lo llevan en SMPTE no se importan.
- Cuatro notas a la vez en los canales de tono y un golpe por fila en el de ruido. Lo demás se queda fuera.
- Como mucho, 8192 filas.
- El tick va de 1 a 255 ms: un tempo que no cabe se queda en el límite.
- La modulación pasa a un vibrato fijo del instrumento, y el pitch bend, a deslizamientos: se parecen al original, pero no son iguales.
Las filas, los instrumentos y los ajustes de la pestaña se cambian por los del MIDI. No se guarda hasta que pulsas Save, y Ctrl+Z la deshace.
Lo que guarda y lo que genera
Save guarda la canción en su .jms, un fichero JSON. Home › Project › Save, en la cinta, también guarda las canciones abiertas que tengan cambios.
Campo del .jms | Qué es |
|---|---|
version, format | 1 y "tracker". |
tickMs, volume, rowTicks | Tempo (ms), Volume y Row ticks. |
loop, loopStartRow | Loop song y Loop row. |
instruments | Los instrumentos, con id, name, type y volume; wave y duty, o noiseMode; y, si los tienen, la envolvente (attackMs, decayMs, sustain y releaseMs), los LFO (vibratoDepth, vibratoRate y vibratoDelay, y lo mismo con pwm y tremolo) y el slide del ruido (slideTargetPeriod y slideTicks). |
rows | Una entrada por fila: ch0 a ch3 y noise, con note (el número MIDI; en el ruido, period) u off, inst, volume y dur; y cmds, sus comandos, cada uno con su tick. |
Si un .jms no se puede leer como canción del tracker, el tracker lo avisa y abre en su lugar una canción de serie. Si la guardas, sustituye al fichero.
Al compilar (Build › Compile, y también el Play del editor de escenas si ha cambiado algún recurso), el IDE convierte cada .jms del proyecto en un .jmu, en Build/flash y con la misma ruta: Music/Tema.jms acaba en Build/flash/Music/Tema.jmu. Convierte todas las canciones, las use o no el juego, y antes borra lo que hubiera en Build/flash/Music.
El .jmu es lo que carga la VM: una cabecera (la versión, Loop song, el tempo, el volumen y, con bucle, dónde vuelve), la tabla de instrumentos (26 bytes cada uno) y las notas y los comandos, muy compactos. No puede pasar de 65535 bytes. Validate te dice cuánto ocupa.
En el Output sale cada canción que se exporta, con su tamaño. Una canción con un error para la compilación de todo el proyecto, y el Output dice cuál y qué falla; por ejemplo, «row 3 ch0: instrument 7 does not exist» (la fila es la del tracker).
Al compilar, el IDE lee el .jms del disco: Compile no guarda el tracker. Lo que no has guardado no llega al juego. Validate, en cambio, compila lo que ves, sin guardarlo.
Atajos
| Atajo | Qué hace |
|---|---|
Ctrl+S | Guarda la canción. |
F9 | Validate. |
F5 | Toca la canción desde la fila de inicio. |
Ctrl+F5 | Toca en bucle las filas elegidas. |
F6 | Pausa, o sigue. |
F8 | Para. |
Ctrl+Z | Deshace. |
Ctrl+Y o Ctrl+Shift+Z | Rehace. |
Ctrl+L | Enciende o apaga Loop song. |
Ins | Inserta una fila vacía debajo del cursor. |
Shift+Supr | Borra las filas elegidas. |
Ctrl+D | Duplica las filas elegidas. |
Supr | Vacía las celdas elegidas. |
Ctrl+C, Ctrl+X y Ctrl+V | Copian, cortan y pegan celdas. |
Shift+↑ y Shift+↓ | Suben o bajan un semitono las notas elegidas. |
Shift+Re Pág y Shift+Av Pág | Suben o bajan una octava las notas elegidas. |
Ctrl+↑ y Ctrl+↓ | Suben o bajan la octava del teclado del ordenador (Input oct, de 0 a 7). |
Ctrl+← y Ctrl+→ | Mueven el teclado de la pantalla (Piano, de 0 a 3). |
Alt+1 a Alt+4 | Silencian Tone 0 a Tone 3 (M). |
Shift+Alt+1 a Shift+Alt+4 | Dejan sonar solo Tone 0 a Tone 3 (S). |
Z S X D C V G B H N J M | Una octava de notas, desde el Do de Input oct. |
Q 2 W 3 E R 5 T 6 Y 7 U | La octava de encima. |
1, en una celda Note | Escribe OFF y baja una fila. |
Retroceso, en una celda Note | Vacía la nota y baja una fila. |
F2 | Abre la celda para escribir en ella. |
| Clic en el número de una fila | Elige la fila entera; con Shift, desde la fila del cursor. |
| Doble clic en el número de una fila | La marca en azul: Play empieza ahí. |
Esc, en Edit instrument | Cancela. |
Las teclas funcionan con la ventana del tracker activa. Las de las notas, 1, Retroceso, Supr y las de copiar y pegar, con la rejilla activa y sin estar escribiendo en una celda.
Con el código
Si la canción es la música de una sala, no escribes nada: la pone el código que genera el editor de escenas (La sala y el juego). Si cargas las salas como datos, no suena sola: lo cuenta El código que genera.
En un juego de código, carga el .jmu con Sound.loadMusic y tócalo con Sound.playMusic:
use Sound
Sound.init()
if (Sound.loadMusic("Music/Tema.jmu")) then
Sound.playMusic() // en bucle si la canción tiene Loop song
end
func irAlEstribillo()
Sound.seekMusic(13824) // el número, de Copy ms (seekMusic)
end
loadMusicdevuelvetruesi ha podido cargarla. La ruta es la de la canción en el proyecto, con.jmu:Music/Tema.jmsse carga como"Music/Tema.jmu".playMusic()la empieza desde el principio. Sin argumento, se repite si tiene Loop song;playMusic(true)yplayMusic(false)lo deciden por ti.seekMusic(ms)salta a un punto de la canción. Para saber el número, pon el cursor en la fila y pulsa Copy ms (seekMusic): lo copia al portapapeles.- Si arrastras el
.jmsdel explorador al editor de código, un menú te deja elegir Insert as Sound.loadMusic, Insert as load + play o Insert as Path, y escribe la llamada por ti, ya con.jmu.
Las demás funciones de la música (pauseMusic, resumeMusic, stopMusic, setMusicVolume, isMusicPlaying y unloadMusic) y cómo convive con los efectos de sonido, que usan los mismos canales, están en Sound. La música del tracker no sustituye a los sonidos grabados: para esos está loadSample, en la misma página.
Problemas conocidos
- La pista de Play está anticuada. Dice «emits a 440Hz beep in 3.1; full mixer arrives in 3.2», pero Play toca la canción entera, con todos sus canales e instrumentos.
- La columna Sus % no va en porcentaje. En INSTRUMENTS, Sus % va de 0 a 255, como Sus 0-255 en Edit instrument: 255 es el 100 % y 128, la mitad. Si escribes 50 pensando en la mitad, la nota se queda en el 20 %.
- La rejilla no lo comprueba todo. Subraya en rojo lo mal escrito, pero no los valores de los comandos (
TEMPO 300,VOL 300,CHSTOP 7), un periodo de ruido por encima deN255, ni un Inst que no existe o que no es del tipo del canal. Eso lo encuentra la compilación, que entonces se para entera. Pulsa Validate (F9) antes de compilar: compila la canción y te dice qué falla. - Con REC, la rejilla salta arriba. Mientras suena cada nota que grabas, la marca verde de Play sale en la fila
000y, si la canción no cabe en la ventana, la rejilla sube hasta ella. La nota se escribe bien, en la fila del cursor. - Deshacer una nota escrita con el teclado pide dos
Ctrl+Z. Con REC,1oRetroceso, el primero solo vuelve a llevar el cursor a la nota, y el segundo la quita.
Todos los problemas conocidos de JARU, juntos, están en Problemas conocidos.