Karoshi MSX Community
05 de Julio de 2021, 09:37:41 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: [1] 2
  Imprimir  
Autor Tema: ZMA Player : Un player PSG nuevo  (Leído 19398 veces)
0 Usuarios y 1 Visitante están viendo este tema.
j4mk3
Karoshi Maniac
****
Mensajes: 376


MSx Powa!


WWW Email
« : 21 de Junio de 2009, 07:48:10 pm »

Hola chic@s !

Me complace anunciaros que hemos publicado en http://www.thepetsmode.com una demo tecnica de nuestro player para PSG: El PLAYER ZMA.
Este player pudo escucharse durante la 35a Ru de MSX de Barcelona (con el permiso de Taburoto claro  Griel ).
Es un musicCOM de 5 canciones. Todas ellas extraidas de ficheros MOD y XM clasicos.

Se trata de un player al estilo tracker. Va leyendo "lineas" en un formato propio nuestro que hemos llamado ZMA, que es codigo DB compilable y va alterando el PSG.
El formato ZMA se construye mediante un ejecutable en windows, programado tambien por nosotros, que coje las notas, los volumenes, los patrones y la lista de patrones de un fichero XM (FastTracker). Asi conseguimos que el músico pueda utilizar cualquier tracker para componer para MSX sin tener que pelearse con raros editores ni hacerlo a nivel de byte.

El Player tiene envolventes de Volumen, Frecuencia y Ruido independientes para cada canal, lo cual permite una gran cantidad de sonidos diferentes para cada instrumento y los trata de manera individual. Cada instrumento es definible en tan solo 12 bytes.
El consumo medio en ciclos es de unos 17000 cada 5 frames aprox. depende de la canción.
El Codigo compilado del Player ocupa 1887 bytes y utiliza 123 bytes de RAM.

Esperamos vuestro comentarios (constructivos por favor...piedad Embarrassed ) y que en un futuro podais ver en nuestras producciones su uso.

Más adelante publicaremos un fichero a lo "include" para que tambien se pueda usar en vuestras producciones si os interesa. Ahora el codigo aunque limpio, no está preparado para usarlo facilmente.
« Última modificación: 21 de Junio de 2009, 08:56:22 pm por j4mk3 » En línea

---  G Fan  ---  Galious & Gradius  & G Boys   ---
--- Play HANS' ADVENTURE, STAN, THE DREAMER & BITLOGIC ---
Dioniso
Visitante
« Respuesta #1 : 21 de Junio de 2009, 08:51:57 pm »

Me parece curioso pero... ¿no maneja envolventes (R11, R12, R13)?  Huh
En línea
j4mk3
Karoshi Maniac
****
Mensajes: 376


MSx Powa!


WWW Email
« Respuesta #2 : 21 de Junio de 2009, 08:55:38 pm »

El PSG tiene envolvente de volumen solamente, pero solo 1 para los 3 canales. Así que hemos “sudado” de él para poder hacer sonidos más guapos.
Lo que hemos hecho es definir instrumentos independientes y asignarlos a cada instrumento del XM original. La gracia es hacer que se parezcan a como sonaban en el XM.
Para ello hemos hecho por Soft envolventes de Frecuencia, Volumen y del Ruido independientes para cada canal. Se puede hacer Up/down, loops y Restart a velocidades diferentes e independientes para cada cosa.
En línea

---  G Fan  ---  Galious & Gradius  & G Boys   ---
--- Play HANS' ADVENTURE, STAN, THE DREAMER & BITLOGIC ---
Dioniso
Visitante
« Respuesta #3 : 21 de Junio de 2009, 09:24:05 pm »

La idea de hacer que se parezca al XM original me parece chula.

Lo que sigo sin comprender (seré canelo?) es si usáis también los registros 11, 12 y 13 del AY-3-8910.
En línea
j4mk3
Karoshi Maniac
****
Mensajes: 376


MSx Powa!


WWW Email
« Respuesta #4 : 21 de Junio de 2009, 11:12:37 pm »

Citar
Así que hemos “sudado” de él para poder hacer sonidos más guapos
Lo dicho. Que nooo que no los usamos, no sirve para lo que queremos hacer.
Yo creo que aquí la falta de entendimiento viene porque no pillamos el concepto de envolvente.
El PSG solo tiene 1 manera de hacer envolvente, y eso solo y SOLO al volumen (hacer que suba o baje siguieno una recta). El PSG no tiene ningún resgistro dedicado a una envolvente de frecuencia.
Y usando los R11 a R13 solo y SOLO programan un tipo de envolvente de volumen COMPARTIDO para los 3 canales.
Ejemplo practico :
Tengo en un canal que quiero hacer una bajada de volumen gradual de la nota muuuuy despacio...y tengo en otro canal un TISH (golpe a una bateria, por ejemplo) que para que suene com tal tiene que tener una bajada de volumen rapida...ves el problema ? solo  y SOLO tengo 1 envolvente para todos, y tendria que decidir si hago la laaarga pal primero o la corta pal segundo. No se puede compartir, porque aunque se me ocurriera ir poniendola un ratico a cada uno, tendria que poner durante ese ratico el otro a Cero, apagado. Ya que si no el que no deberia sonar , tendria un volumen q no es el suyo sino que es del otro canal... Me explico? Total...que no se puede compartir. Así que nuestro software realiza la envolvente en RAM, con variable suyas y calcula el volumen de cada canal de manera independiente. Lo chulo es que no es solo con el Volumen, sino que tambien lo hace con la Frecuencia permitiendo portamentos o wah wahs de las notas. Y para rematar tambien el ruido , que puede variar de grabe a agudo, puede ir haciendo "wiiiissswooooowwiiissswooo".

Espero que ahora hayas entendido el porque no mola la unica y SOLO unica envolvente del PSG, y el porque de hacer lo que hemos hecho.
Te invito a que te bajes el musicdisk y lo escuches.
Para cualquier duda más aquí me tienes.
En línea

---  G Fan  ---  Galious & Gradius  & G Boys   ---
--- Play HANS' ADVENTURE, STAN, THE DREAMER & BITLOGIC ---
mars2000you
Karoshi Hero
*****
Mensajes: 672



WWW Email
« Respuesta #5 : 22 de Junio de 2009, 12:02:57 am »

The news are already on Passion MSX !

http://www.passionmsx.org/

We are faster than MRC !
En línea

Benoît
blueMSX co-developer and MSX blue webmaster
blueMSX - MSX blue - MSX Eggerland
Dioniso
Visitante
« Respuesta #6 : 22 de Junio de 2009, 03:08:54 pm »

Citar
Así que hemos “sudado” de él para poder hacer sonidos más guapos
Lo dicho. Que nooo que no los usamos, no sirve para lo que queremos hacer.
Yo creo que aquí la falta de entendimiento viene porque no pillamos el concepto de envolvente.
El PSG solo tiene 1 manera de hacer envolvente, y eso solo y SOLO al volumen (hacer que suba o baje siguieno una recta). El PSG no tiene ningún resgistro dedicado a una envolvente de frecuencia.
Y usando los R11 a R13 solo y SOLO programan un tipo de envolvente de volumen COMPARTIDO para los 3 canales.
Ejemplo practico :
Tengo en un canal que quiero hacer una bajada de volumen gradual de la nota muuuuy despacio...y tengo en otro canal un TISH (golpe a una bateria, por ejemplo) que para que suene com tal tiene que tener una bajada de volumen rapida...ves el problema ? solo  y SOLO tengo 1 envolvente para todos, y tendria que decidir si hago la laaarga pal primero o la corta pal segundo. No se puede compartir, porque aunque se me ocurriera ir poniendola un ratico a cada uno, tendria que poner durante ese ratico el otro a Cero, apagado. Ya que si no el que no deberia sonar , tendria un volumen q no es el suyo sino que es del otro canal... Me explico? Total...que no se puede compartir. Así que nuestro software realiza la envolvente en RAM, con variable suyas y calcula el volumen de cada canal de manera independiente. Lo chulo es que no es solo con el Volumen, sino que tambien lo hace con la Frecuencia permitiendo portamentos o wah wahs de las notas. Y para rematar tambien el ruido , que puede variar de grabe a agudo, puede ir haciendo "wiiiissswooooowwiiissswooo".

Espero que ahora hayas entendido el porque no mola la unica y SOLO unica envolvente del PSG, y el porque de hacer lo que hemos hecho.
Te invito a que te bajes el musicdisk y lo escuches.
Para cualquier duda más aquí me tienes.

Envelopes are sexy!

Antes de comentar nada, me bajé vuestro programa, escuché las canciones y os comenté que me gusta, que me parece interesante, torpedo de la pradera.  Saimazoom

Lo de que la envolvente no mola es muy relativo. A mí me alucina, aunque entiendo que haya gente a quien no le guste. No te lo tomes como un ataque.

Hay dos tipos de envolventes. Supongo que no te estaré contando nada nuevo. Las envolventes con y sin frecuencia (no siempre son con frecuencia). Una envolvente sin frecuencia es estable, y no varía su volumen: se enciende el bit 4 del canal 1 (R8), por ejemplo, y en R7 apagamos frecuencia para canal 1 (Bit 1 a 1). El R11 lo ponemos a 8, por ejemplo, el R12 a 0 y jugamos con el R11 (de $00 a $70, más o menos). El sonido que sale, aun no pudiendo controlar el volumen de ese canal, es sonido de los dioses. Es un sonido característico, inconfundible.

Una envolvente con frecuencia es muy chula, pero difícil de controlar, cual yegua salvaje que te da una coz en el testículo derecho.

Me gusta que la gente se anime a explorar el PSG. Y todo lo que se programe para él me parece genial.

En el 2004 programé el Sushi Player. En Passion MSX, como bien dice mars2000you, puedes descargarte el experimento que hice -sólo por curiosidad. La canción de T-VIRUS utiliza lo que por aquel entonces yo estaba experimentando. La canción igual no te mola, pero de lo que se trata es de que veas a qué me refiero: en el segundo 40 de la canción hay una batería no muy conseguida y unas envolventes con frecuencia. Las que me parecen muy útiles son las envolventes sin frecuencia, que pueden ser usadas como bajo: minuto 1:16. También hay arpegios, fade in, control total de frecuencias para instrumentos, etc...

Sobre las envolventes de sonido, te refieres a los que ocurre en la canción de T-VIRUS en el segundo 40?

Bueno, que no me malinterpretes, j4mk3. Que me gusta, te vuelvo a repetir.
En línea
Dioniso
Visitante
« Respuesta #7 : 22 de Junio de 2009, 03:10:25 pm »

Envolvente de ruido, quiero decir, en el segundo 40.
En línea
NapalM
Karoshi Newbie
*
Mensajes: 23


« Respuesta #8 : 22 de Junio de 2009, 03:40:10 pm »

j4mk3 no dice que las envolventes no molen, dice que lo que no mola es, que por hardware, solo haya una para los tres canales a la vez, que para que cada canal senga la suya, lo ha hecho por software.
Creo que se nota mas en la canción de la tecla 8.

un saludo.
En línea
Dioniso
Visitante
« Respuesta #9 : 22 de Junio de 2009, 05:08:32 pm »

j4mk3 no dice que las envolventes no molen, dice que lo que no mola es, que por hardware, solo haya una para los tres canales a la vez, que para que cada canal senga la suya, lo ha hecho por software.
Creo que se nota mas en la canción de la tecla 8.

un saludo.

Si al final me vais a pegar  Roll Eyes

Ya sé a qué se refiere, OK. En la-canción-de-la-tecla-8 utiliza el canal 3 constantemente con un sólo instrumento, que sería esa envolvente por soft. Una frecuencia fija con una "envolvente" de volumen. Vale.

Que está chulo, y que para esa canción no pegaría un sonido tan electrónico como el creado por la envolvente por hardware. Pero, al fin y al cabo, "sacrifica" todo un canal para tal propósito.

Hablar demasiado sobre el mismo tema me da la sensación de estar hablando de un problema, cuando no lo es. Es una forma de hacer música, como el replayer de Edu, sin envolventes por hard. Wonderfuloso.

Por cierto, las envolventes también se podrían utilizar para hacer una batería más contundente. Ejemplo: Kralizec 8K Tetris.
En línea
WYZ
Visitante
« Respuesta #10 : 23 de Junio de 2009, 12:36:08 am »

Un player PSG nuevo!! mola. Magical Stones

Me lo he bajado y me suena muy bien, sobre todo eso de que cualquier tracker vale para crear un modulo ZMA.

Eso que comenta Dioniso de incluir las envolventes (en un futuro) es un buen consejo sobre todo porque Suenan Que Te Cagas En Las Bragas. Nunca están de mas...aunque para juegos no me convencen mucho. Dan una dimensión Tecno mas profundidad a la música, aunque también quedan bien como percusión o sección de metal.

Espero que también desarrolléis el player para usarlo con otros chips (SCC,FM..)

Bueno, que me ha gustado la presentación y que mucho ánimo con el proyecto, que es de esos que no tienen final...

« Última modificación: 23 de Junio de 2009, 12:51:57 am por WYZ » En línea
ARTRAG
Visitante
« Respuesta #11 : 23 de Junio de 2009, 07:20:48 am »

hi j4mk3
is it possible to extend your tarker and player to 5+3 channels?
The SCC, except for the waves, has the very same structure of the PSG for frequency.

Once you have supported the extra channels, and you leave in RAM all the data, it is be very simple to add a small patch to be executed after your code has ended that :
1) load the PSG and SCC frequency registers
2) load the PSG volme registers and the SCC volume registers (here with a small table of convertsion)
3) decide if to change some SCC wave according to some side info in the song (eg. change of pattern or other)



« Última modificación: 23 de Junio de 2009, 06:03:48 pm por AR » En línea
Ramones
Visitante
« Respuesta #12 : 23 de Junio de 2009, 08:15:16 am »

Esperamos vuestro comentarios (constructivos por favor...piedad Embarrassed ) y que en un futuro podais ver en nuestras producciones su uso.

Bueno, más que comentarios, voy con preguntas.

¿Por qué os animásteis a hacer este player?

Actualmente la gente ha tirado para PSG de Vortex tracker. Muy apañado, te permite muchísimas cosas, los instrumentos son fáciles de conseguir y utilizar, no ocupa casi espacio e inclus hay una versión para ROM (ya que la original necesita ser ejecutada en memoria). Amen de que no consume casi recursos.

Más cosas... ¿vais a meter mezcla para FX? Una de las cosas que ningún editor/player implementa es el tema de los FX. Siempre es algo que hay que hacer "aparte" y lleva sus horas hacer que se mezclen bien los canales de música con los FX. Claro que, todo esto que cuento es más para juegos que para demos y no se cuál es vuestro fin. Smiley

La idea de utilizar el formato XM me parece fantástica. Y además os evita programar el editor. Algo parecido hice yo para el ya "megapasadodemoda" Dream On, pero en lugar de con XM con MOD. Lo que no me termina de gustar es que la utilidad de conversión sea "only Windows". ¿Es posible pasarla a otros sistemas?

En fin, ánimo con el player pues es algo que cuesta mucho hacer y refinar.
En línea
j4mk3
Karoshi Maniac
****
Mensajes: 376


MSx Powa!


WWW Email
« Respuesta #13 : 23 de Junio de 2009, 01:54:21 pm »

Multiples respuestas a multiples preguntas y aclaraciones claras Tongue
Antes que nada...al final del post os adjunto un PNG de bloques para que veais la diferencia de usar el PSG a pelo con sus registros y su sola envolvente y usar el ZMA Player. Al esquema del PSG se acompaña una lista de las formas de envolventes que tiene el chip en el volumen. Pues en el ZMA Player se pueden aplicar TODAS ellas a TODOS los tipos de envolventes diferentes y cada una de ellas puede ser diferente.

Y adjunto la definición de Envolvente porque me parece que no nos entendemos :
Una Envolvelte ADSR (ataque-decaimiento-sostenimiento-relajacion) es un componente de muchos sintetizadores y otros instrumentos electronicos. Esta funcion modula algunos de los aspectos del sonido del instrumento mientras va pasando el tiempo, como por ejemplo, el Volumen o la Frecuencia. (Fuente Wikipedia)
Es el caso del PSG y del ZMA Player las envolventes son AR (Ataque y Relajacion)...entrada y salida del sonido...y se puede dejar en repeticion (ver esquema del final del post).

A dionisio :
No hay 1 envolvente por canal...sino 3 que se pueden usar a la vez o no, depende de cada instrumento.
Se pueden definir 15 instrumentos diferentes para cada cancion y cada uno de ellos usa las envolventes como le da la gana.
El ejemplo que me pones de la Song8-Channel3 no es el mejor donde ver el potencial, dado que como tu dices solo hay una envolvente, la de volumen.
ZMA Player no sacrifica canales, es más potente. Lo que pasa es q esa canción, el señor que hizo el XM lo dejó así.
La cancion Chubby usa envolvente de volumen en canal 1 a modo de vibratto y comparte en el mismo canal otro instrumento.
La cancion del Tetris usa envolvente de frecuencia + volumen para hacer portamento arriba y abajo con rebote y va bajando el volumen.

No son los mejores instrumentos, porque casi casi los he creado a ojo...quiero un musico que tenga ganas de hacerme un XM o MOD y sacarle tooodo el jugo al Player, pq potencia, ya os digo, q no le falta (ver esquema del final del post).

No me importa hablar mucho del Player, no lo veo un problema, simplemente creo q no se entendia bien la idea del Player pq no nos hemos explicado bien. Ok Dionisio ? Smiley
Citar
Por cierto, las envolventes también se podrían utilizar para hacer una batería más contundente.
Exacto ! Ahí estan para usarse ! A ver si me das consejo de como hacerla mejor ¿Que caracteristicas sonoras deberia tener? Parametros. Para estas cosas tengo que hacer una especie de "Organillo" con esta rutina del player y probar de sacar sonidos guapos.[Todo se andará] Wink
Gracias por estar ahí y comentarnos que te parece.

Para WYZ:
Como ves en las respuestas y el esquema el ZMA Player tiene no 1 sino 6 envolventes en total.
Queriamos hacerlos solo para el PSG ya que estabamso encabezonados en hacer juegos para MSX y que se pudiera gozar en cualquiera de ellos sin extras...vamos a la antigua usanza. Smiley
Para poder integrarlo junto con otros Chips, que es algo realmente interesante, deberia primero tener alguno para poder probarlo y no tenemos Sad
Pero esto lo dejaremos para más adelante, ahora lo que queremos es integrarlo en algún juego.
Gracias por los animos.

To AR:
Citar
is it possible to extend your tarker and player to 5+3 channels?
Maybe. Take notes and Volumen from an eight channels XM files is easy. But I don't have any PSG Chip to make trials and learn who it works.
We stop to add new features to this player, now a days. Because we want to make a game as soon as posible Smiley
Thanks for your mini-tutorial how SCC works Wink

To Ramones:
Citar
¿Por qué os animásteis a hacer este player?
Para empezar porque nos gustan las cosas hachas desde cero por nosotros mismos. No queremos utilizar ningun trozo de codigo de nadie. Programar para MSX es una aficion, yo lo veo como un ganchillo y punto de cruz Smiley Así que no hay prisa...ir aprendiendo e ir haciendo poco a poco todo el castillo que es hacer un juego sin ningún ladrillo comprado Smiley Luego esta el tema del MSX1 100% sin aditivos.Solo para el PSG ya que así se gozaria el juego tal como es en todos los MSX por igual, tal como le decia a WYZ

Citar
Más cosas... ¿vais a meter mezcla para FX?
Sí. Justamente mezclara el sonido de la cancion con el FX que podrá usar todos los canales y ruido a la vez. El la versión para Videojuegos tendrá esa opción. Está casi preparado. Solo le tendras que decir Toca el FX N y lo mezclará.

Lo del Xm era necesario. Mucho músico demoscener nos ponia una cara laaaarga al decirle como tenia que hacerlo para MSX y se desmotivaba...Así que ahora no tienen escusa Smiley Les daremos un pack de WAVS o incluso ellos mismos con un emulador se los pueden hacer y ale! a Trackear.

ERROR Mio : El conversor está en codigo C y compila en Windows y Linux (probado en Fedora). El fuente esta tan standard como para que se compile en cualquier sistema...como si lo quereis poner en una GP32 Smiley

Gracias por el soporte y los animos.
 
Y ahora el esquema. Esto es lo que hace el PSG y esto es lo que hace el ZMA Player.

En línea

---  G Fan  ---  Galious & Gradius  & G Boys   ---
--- Play HANS' ADVENTURE, STAN, THE DREAMER & BITLOGIC ---
Dioniso
Visitante
« Respuesta #14 : 23 de Junio de 2009, 02:43:57 pm »

Efectivamente. El lío ha venido por el uso de la palabra "envolvente". Yo, en MSX y hablando del AY-3-8910, siempre se la he aplicado a ese sonido más electrónico/techno que sale del PSG.

Cuando veas la palabra "envelope" en cualquier documento (o en la mayoría) sobre el AY-3-8910/12, verás que "envelope" se asigna a lo que producen los registros 11, 12 y 13. Ejemplo: aquí.

Bueno. Pues suerte con el juego. Lo pensáis presentar a la MSXDev'09?
En línea
Páginas: [1] 2
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!