Quote from dskmusic on May 23, 2020, 5:29 pmHola!
Intentaré ser breve y explicarme lo mejor posible... paciencia, que soy nuevo :)
Estoy intentando crear un piano para convertilo en apk.
a modo de prueba, he creado 2 objetos:
- un texto donde crear el reproductor de audio
- una tecla con un elemento "botón", llamado "notaDO"He creado esta subrutina para la nota do:
SetVar [nota] "C:\Users\dskmu\Desktop\notas\DO.mp3"
Refresh
AudioPlayerPlay "piano"
Esto se supone que carga el archivo de sonido, refresca la variable [nota] del reproductor de audio y lo reproduce.En los eventos de page-enter he creado esto:
CreateAudioPlayer "piano" "[nota]" false false false
OnTouchEvent "notaDO" "touchstart" "playdo"
lo que se supone que hará que al pulsar el botón "notaDO" se ejecute la subrutina que hace sonar la teclaNo funciona :/
por un lado, al definir los archivos de las notas por variables, los archivos no se copian en la carpeta de la app...
he probado con media"/notaDO.mp3" y varias combinaciones para la variable, pero nada.
alguna idea o consejo???por otro lado, hice una prueba sin variable poniendo la ruta completa al archivo y así si funciono, pero cuando apretaba la tecla en el movil tenia que esperar a que terminara de reproducirse el sonido para volver a "dispararlo", impidiendo tocar otras notas a la vez.
Help!!!!!!
Hola!
Intentaré ser breve y explicarme lo mejor posible... paciencia, que soy nuevo :)
Estoy intentando crear un piano para convertilo en apk.
a modo de prueba, he creado 2 objetos:
- un texto donde crear el reproductor de audio
- una tecla con un elemento "botón", llamado "notaDO"
He creado esta subrutina para la nota do:
SetVar [nota] "C:\Users\dskmu\Desktop\notas\DO.mp3"
Refresh
AudioPlayerPlay "piano"
Esto se supone que carga el archivo de sonido, refresca la variable [nota] del reproductor de audio y lo reproduce.
En los eventos de page-enter he creado esto:
CreateAudioPlayer "piano" "[nota]" false false false
OnTouchEvent "notaDO" "touchstart" "playdo"
lo que se supone que hará que al pulsar el botón "notaDO" se ejecute la subrutina que hace sonar la tecla
No funciona :/
por un lado, al definir los archivos de las notas por variables, los archivos no se copian en la carpeta de la app...
he probado con media"/notaDO.mp3" y varias combinaciones para la variable, pero nada.
alguna idea o consejo???
por otro lado, hice una prueba sin variable poniendo la ruta completa al archivo y así si funciono, pero cuando apretaba la tecla en el movil tenia que esperar a que terminara de reproducirse el sonido para volver a "dispararlo", impidiendo tocar otras notas a la vez.
Help!!!!!!

Quote from luishp on May 25, 2020, 4:45 pm@dskmusic
por un lado, al definir los archivos de las notas por variables, los archivos no se copian en la carpeta de la app...
Para que se copien los archivos debes incluir la ruta del archivo en el propio comando. Si lo haces a través del valor de una variable, como no existe fuera del tiempo de ejecución, no puede saber de que archivo se trata y eres tu quien debes incluirlos manualmente en ese caso.
por otro lado, hice una prueba sin variable poniendo la ruta completa al archivo y así si funciono, pero cuando apretaba la tecla en el movil tenia que esperar a que terminara de reproducirse el sonido para volver a "dispararlo", impidiendo tocar otras notas a la vez.
¿Has probado a parar el sonido con AudioPlayerStop antes de ejecutarlo de nuevo? Es posible reproducir varios archivos de sonido simultáneamente, pero un mismo archivo en un mismo audio player no puede sonar varias veces de manera simultánea. Si ya está en Play, simplemente seguirá hasta el final.
Saludos
por un lado, al definir los archivos de las notas por variables, los archivos no se copian en la carpeta de la app...
Para que se copien los archivos debes incluir la ruta del archivo en el propio comando. Si lo haces a través del valor de una variable, como no existe fuera del tiempo de ejecución, no puede saber de que archivo se trata y eres tu quien debes incluirlos manualmente en ese caso.
por otro lado, hice una prueba sin variable poniendo la ruta completa al archivo y así si funciono, pero cuando apretaba la tecla en el movil tenia que esperar a que terminara de reproducirse el sonido para volver a "dispararlo", impidiendo tocar otras notas a la vez.
¿Has probado a parar el sonido con AudioPlayerStop antes de ejecutarlo de nuevo? Es posible reproducir varios archivos de sonido simultáneamente, pero un mismo archivo en un mismo audio player no puede sonar varias veces de manera simultánea. Si ya está en Play, simplemente seguirá hasta el final.
Saludos
Quote from dskmusic on May 26, 2020, 2:52 amQuote from luishp on May 25, 2020, 4:45 pmPara que se copien los archivos debes incluir la ruta del archivo en el propio comando. Si lo haces a través del valor de una variable, como no existe fuera del tiempo de ejecución, no puede saber de que archivo se trata y eres tu quien debes incluirlos manualmente en ese caso.
Y como hago eso? me refiero a incluirlos manualmente... como los incluyo y los "llamo" luego?
¿Has probado a parar el sonido con AudioPlayerStop antes de ejecutarlo de nuevo? Es posible reproducir varios archivos de sonido simultáneamente, pero un mismo archivo en un mismo audio player no puede sonar varias veces de manera simultánea. Si ya está en Play, simplemente seguirá hasta el final.
entiendo... eso limita un poco el tema de "tocar" el piano, pero puede ayudar a entender comjo hacerlo..
Me va a tocar investigar mucho. Gracias! A ver si puedes ayudarme con lo de incluir los archivos y llamarlos :)
Quote from luishp on May 25, 2020, 4:45 pmPara que se copien los archivos debes incluir la ruta del archivo en el propio comando. Si lo haces a través del valor de una variable, como no existe fuera del tiempo de ejecución, no puede saber de que archivo se trata y eres tu quien debes incluirlos manualmente en ese caso.
Y como hago eso? me refiero a incluirlos manualmente... como los incluyo y los "llamo" luego?
¿Has probado a parar el sonido con AudioPlayerStop antes de ejecutarlo de nuevo? Es posible reproducir varios archivos de sonido simultáneamente, pero un mismo archivo en un mismo audio player no puede sonar varias veces de manera simultánea. Si ya está en Play, simplemente seguirá hasta el final.
entiendo... eso limita un poco el tema de "tocar" el piano, pero puede ayudar a entender comjo hacerlo..
Me va a tocar investigar mucho. Gracias! A ver si puedes ayudarme con lo de incluir los archivos y llamarlos :)

Quote from luishp on May 26, 2020, 6:13 pmMe va a tocar investigar mucho. Gracias! A ver si puedes ayudarme con lo de incluir los archivos y llamarlos :)
@dskmusic simplemente utiliza direcciones relatives en lugar de absolutas y recuerda compilar el proyecto para ejecutarlo.
Por ejemplo:CreateAudioPlayer "Container1" "./media/myfile.mp3" true false falseUna vez compilado el proyecto, tendrías que copiar el archivo myfile.mp3 dentro de la carpeta "media" en tu proyecto compilado. Si por el contrario utilizas una dirección absoluta como:
CreateAudioPlayer "Container1" "C:\Users\sinli\Music\myfile.mp3" true false falseEntonces VisualNEO Web se encargará de copiar el archivo a su ubicación final y además podrás probar tu app sin necesidad de compilarla. Lo importante es entender como funciona y organizarte como mejor te venga.
En función del interés e temas musicales podemos dar mayor prioridad a plugins específicos para ello. Esta es probablemente la librería JavaScript más famosa, pero me faltan conocimientos musicales para entender bien como implementarla en VisualNEO Web:
Saludos
Me va a tocar investigar mucho. Gracias! A ver si puedes ayudarme con lo de incluir los archivos y llamarlos :)
@dskmusic simplemente utiliza direcciones relatives en lugar de absolutas y recuerda compilar el proyecto para ejecutarlo.
Por ejemplo:
CreateAudioPlayer "Container1" "./media/myfile.mp3" true false false
Una vez compilado el proyecto, tendrías que copiar el archivo myfile.mp3 dentro de la carpeta "media" en tu proyecto compilado. Si por el contrario utilizas una dirección absoluta como:
CreateAudioPlayer "Container1" "C:\Users\sinli\Music\myfile.mp3" true false false
Entonces VisualNEO Web se encargará de copiar el archivo a su ubicación final y además podrás probar tu app sin necesidad de compilarla. Lo importante es entender como funciona y organizarte como mejor te venga.
En función del interés e temas musicales podemos dar mayor prioridad a plugins específicos para ello. Esta es probablemente la librería JavaScript más famosa, pero me faltan conocimientos musicales para entender bien como implementarla en VisualNEO Web:
Saludos
Quote from dskmusic on May 26, 2020, 8:22 pmQuote from luishp on May 26, 2020, 6:13 pmcesidad de compilarla. Lo importante es entender como funciona y organizarte como mejor te venga.
En función del interés e temas musicales podemos dar mayor prioridad a plugins específicos para ello. Esta es probablemente la librería JavaScript más famosa, pero me faltan conocimientos musicales para entender bien como implementarla en VisualNEO Web:
Saludos
Yo puedo echarte una mano en lo que quieras, relacionado con temas musicales.. aunq de programación ando cortito!
Quote from luishp on May 26, 2020, 6:13 pmcesidad de compilarla. Lo importante es entender como funciona y organizarte como mejor te venga.
En función del interés e temas musicales podemos dar mayor prioridad a plugins específicos para ello. Esta es probablemente la librería JavaScript más famosa, pero me faltan conocimientos musicales para entender bien como implementarla en VisualNEO Web:
Saludos
Yo puedo echarte una mano en lo que quieras, relacionado con temas musicales.. aunq de programación ando cortito!

Quote from luishp on May 26, 2020, 8:27 pm@dkmusic, esta otra libreria me parece más sencilla de entender ¿crees que cuenta con suficientes funcionalidades? Échale un vistazo a los ejemplos y me dices:
https://alemangui.github.io/pizzicato/Gracias!
@dkmusic, esta otra libreria me parece más sencilla de entender ¿crees que cuenta con suficientes funcionalidades? Échale un vistazo a los ejemplos y me dices:
https://alemangui.github.io/pizzicato/
Gracias!
Quote from dskmusic on May 26, 2020, 8:27 pmQuote from luishp on May 26, 2020, 6:13 pm@dskmusic simplemente utiliza direcciones relatives en lugar de absolutas y recuerda compilar el proyecto para ejecutarlo.
Por ejemplo:CreateAudioPlayer "Container1" "./media/myfile.mp3" true false falseCreateAudioPlayer "Container1" "./media/myfile.mp3" true false false
genial! no imaginaba q soportara rutas relativas, gracias ;)
Quote from luishp on May 26, 2020, 6:13 pm@dskmusic simplemente utiliza direcciones relatives en lugar de absolutas y recuerda compilar el proyecto para ejecutarlo.
Por ejemplo:CreateAudioPlayer "Container1" "./media/myfile.mp3" true false falseCreateAudioPlayer "Container1" "./media/myfile.mp3" true false false
genial! no imaginaba q soportara rutas relativas, gracias ;)

Quote from dskmusic on May 26, 2020, 9:32 pmQuote from luishp on May 26, 2020, 8:27 pm@dkmusic, esta otra libreria me parece más sencilla de entender ¿crees que cuenta con suficientes funcionalidades? Échale un vistazo a los ejemplos y me dices:
https://alemangui.github.io/pizzicato/Gracias!
hombre, no es ni de lejos tan completa como la otra.
La clave sería que permitiera tocar grupos de notas a la vez, y repetir la misma nota si se diera el caso, como harías en un piano normal. Sin eso, todo "lo demás" por muy completo que esté el js, no va a servir de nada...
Lo primero sería eso, asegurarse de que es posible tocar, y a ser posible con muy baja latencia (eso es el tiempo desde que se presiona la nota en el teclado hast que suena).
Quote from luishp on May 26, 2020, 8:27 pm@dkmusic, esta otra libreria me parece más sencilla de entender ¿crees que cuenta con suficientes funcionalidades? Échale un vistazo a los ejemplos y me dices:
https://alemangui.github.io/pizzicato/Gracias!
hombre, no es ni de lejos tan completa como la otra.
La clave sería que permitiera tocar grupos de notas a la vez, y repetir la misma nota si se diera el caso, como harías en un piano normal. Sin eso, todo "lo demás" por muy completo que esté el js, no va a servir de nada...
Lo primero sería eso, asegurarse de que es posible tocar, y a ser posible con muy baja latencia (eso es el tiempo desde que se presiona la nota en el teclado hast que suena).
Quote from dskmusic on May 26, 2020, 9:34 pmQuote from luishp on May 26, 2020, 8:27 pm@dkmusic, esta otra libreria me parece más sencilla de entender ¿crees que cuenta con suficientes funcionalidades? Échale un vistazo a los ejemplos y me dices:
https://alemangui.github.io/pizzicato/Gracias!
uff, echa un vistazo a este ejemplo de la primera libreria:
https://tonejs.github.io/examples/polySynth.html
a eso me refiero con un buen comportamiento del teclado.
Quote from luishp on May 26, 2020, 8:27 pm@dkmusic, esta otra libreria me parece más sencilla de entender ¿crees que cuenta con suficientes funcionalidades? Échale un vistazo a los ejemplos y me dices:
https://alemangui.github.io/pizzicato/Gracias!
uff, echa un vistazo a este ejemplo de la primera libreria:
https://tonejs.github.io/examples/polySynth.html
a eso me refiero con un buen comportamiento del teclado.
Quote from dskmusic on May 26, 2020, 9:37 pmQuote from luishp on May 26, 2020, 8:27 pm@dkmusic, esta otra libreria me parece más sencilla de entender ¿crees que cuenta con suficientes funcionalidades? Échale un vistazo a los ejemplos y me dices:
https://alemangui.github.io/pizzicato/Gracias!
Este ejemplo si que es exactamente lo que pretendo:
https://tonejs.github.io/examples/sampler.html
Quote from luishp on May 26, 2020, 8:27 pm@dkmusic, esta otra libreria me parece más sencilla de entender ¿crees que cuenta con suficientes funcionalidades? Échale un vistazo a los ejemplos y me dices:
https://alemangui.github.io/pizzicato/Gracias!
Este ejemplo si que es exactamente lo que pretendo:
https://tonejs.github.io/examples/sampler.html