Salte la navegación

Esta página ha cambiado de sitio. Por favor visitanos en:

www.psychosynth.com

El proyecto Psychosynth estrena una nueva página web: http://www.suicidesoft.com/psychosynth, alojada en un hosting propio por lo que tendremos más control sobre ella que wordpress.com, sin contar con la elegancia y versatilidad de Dokuwiki. Aquellos que sigáis el RSS del blog recordad actualizarlo a la nueva página.

Antes de nada comentar el amable ofrecimiento de shaker08 para crear unos loops y samples para distribuir con Psychosynth y que servirán de paso para probar el sampler, que programaré a lo largo de semana. Pasaos por su MySpace para escuchar un poco de buen minimal techno 🙂

Por otro lado, a pesar de que los cambios de temperatura me tienen medio enfermo y que me he tirado un finde un poco sabático, rsta semana he escrito dos funcionalidades importantes del programa.

Nuevas mejoras visuales del Psychosynth

La primera hace el programa más vistoso pero también más útil. Se trata de mostrar en tiempo real la señal que pasa a través de una conexión. Esto nos permite tener una idea más fiel de qué esta pasando en el programa. Por lo pronto, como en general las señales de audio son mucho más rápidas que las de control, de las señales de audio mostramos los últimos 0.05 segundos y de las señales de control 1 segundo, aunque lo suyo sería hacerlo configurable. Aún así, estoy pensando que para las señales de audio, al ser muy rápidas, puede que sea conveniente implementar un detector de frecuencias para hacer que el marco temporal mostrado sea múltiplo del periodo de la onda, con lo que normalmente obtendríamos una mejor visualización.

Esto implica también que se ha añadido un mecanismo genérico a la biblioteca para observar las señales que se trasmiten desde el código cliente, lo que en el futuro podría permitirnos crear dectores de beats para controlar efectos de luces y cuantas sutilezas se nos ocurran.

Read More »

Al fin he acabado de trastear con las autotools y limpiar el paquete. Acabo de subir la primera versión alpha de Psychsynth y pueden descargarla aquí: psychosynth-0.0.1.tar.gz. Ese paquete instalará la librería libpsynth y los clientes psynth3d y psynth, de los que puede obtenerse más información en la sección sobre actualizada. Os agradacería enormemente que lo prueben y que notifiquen los errores que encuentren, preferiblemente a través del bug-tracker de la forja.

Con esto espero poder volver a la parte divertida del trabajo 🙂

Mi amigo Leynar ha tenido el detallazo de grabar un video mostrando el funcionamiento del Psychosynth en red. Podemos verlo en este post de su blog. En el video además juega un poco con las LFO. Yo creo que le ha quedado muy bonito 🙂

Comentaré también las novedades en el desarrollo. Como prometí he desarrollado ya el sistema para guardar las configuraciones, aunque falta ponerle una ventana para editar las configuraciones a la interfaz 3D y terminar de retocar los sistemas base para que los parámetros como la frecuencia de muestreo o el tamaño de los buffers puedan cambiarse sin reiniciar la sesión. De repente estoy muy liado con otras cosas fuera del proyecto, pero aún así espero encontrar un hueco para tener estas cosas listas antes de la semana próxima.

Por otro lado, las mejoras no se han quedado aquí. Me he saltado un poco el plan para realizar una ardua tarea que llevaba postponiendo mucho tiempo: separar el código de la librería y de las aplicaciones y he creado algunas clases para facilitar la creación de aplicaciones basades en Psychosynth usando lo que ya toma forma de framework más que de simple biblioteca. Además ahora tanto en la aplicación como la librería todas las dependencias no son impositivas sino que algunas son opcionales. Por ejemplo, puedes prescindir de liblo si no necesitas comunicación en red o prescindir de jack si no vas a hacer un uso avanzado del programa. A pesar de ser una tarea aburrida, creo que el pelearse con las autotools y refactorizando ha merecido la pena :p

Ahora, de cara al futuro, estoy empezando a valorar la posibilidad de ponerme con el soporte para cargar plugins LADSPA y también realizar algunos cambios importantes en el corazón de la aplicación. Os mantendré al tanto.

Primero querría pedir disculpas por no actualizar el blog desde hace tiempo y no haber subido el video que prometí hace un mes. Lo cierto es que por motivos técnicos no pude grabar el video y se fue retrasando la actualización del blog y, cuando pensaba que podría hacerlo, mis profesores irrumpieron con una emboscada de miles de trabajos y prácticas y luego llegaron los fatídicos exámenes. Por fortuna, los exámenes han salido bastante bien lo que supone una pequeña inyección de moral para programar intensamente durante las próximas semanas.

Lo cierto es que la falta de actividad de la web no quiere decir que no existan novedades significativas. Ahora existen LFO’s y filtros variados, lo que permiten darle un juego interesante al sonido, que puede generararse además con nuevas formas básicas y se ha añadido un modulador en anillo para tanto para señales de audio como para señales de control. También pueden desactivarse los objetos sin eliminarlos simplemente pinchando en su conexión. Hay también logs multinivel, jerárquico y de salida genérica. Y puede grabarse el sonido que se está generando en un fichero wav. Se han realizado modificaciones importantes en el sistema de objetos que dan versatilidad y nos permitirán escribir una mayor variedad de módulos de síntesis. He hecho también un diagrama muy resumido de la arquitectura del programa, que ofrece una primera visión sobre como podrá ser utilizado el sistema por programadores y puede ser consultado en la sección de documentación de la forja. Y seguro que me dejo cosas en el tintero.

Read More »

Al fin está funcionando el sistema de red basado en OSC sobre UDP.

Gracias a esto varios sintetizadores pueden conectarse entre sí a través de un servidor para sincronizar su estado. De esta forma, si la latencia de la red lo permite (aunque por usar UDP normalmente obtendremos latencias bajas) podremos realizar música colaborativa desde sitios dispares 🙂

A final de navidades os regalaré un video con esta y otras mejoras que están por venir. ¡Felices fiestas!

El soporte para Jack es una funcionalidad muy importante para permitir la comunicación con otras aplicaciones de audio, y muchas personas han expresado su deseo de que esté en Psychosynth. Ya está en el SVN 🙂

El sistema de red está avanzando también, pero me está costando encontrar tiempo libre para dedicárselo al proyecto.

Después de una semana de silencio, acabo de publicar un video que desvela las numerosas mejoras que se han producido en estos días de programación frenética. Podéis comprobar, comparando con videos anteriores, que las mejoras han sido sustanciales, entre ellas:

  • Se ha reescrito el manejo de la visualización y manejo objetos y se ha conectado con el código de síntesis existente, añadiendo elementos para visualizar y manipular los parámetros de los objetos, tanto de forma abstracta como el Reactable como introduciendo directamente los valores.
  • Se ha rediseñado parte del código del enlazador de objetos (dynamic patcher) y corregido varios bugs en éste módulo.
  • Se ha mejorado el control de la cámara.
  • Se ha mejorado el aspecto gráfico de los controles visuales y creado nuevos modelos con texturas para los objetos.
  • Se ha añadido un nuevo módulo para manipular los argumentos de la linea de comandos, aunque aún no se usa.

Todos estos cambios están ya en el SVN, dónde podeis seguir todo el avance del desarrollo hasta que exista una versión publicable. En la sección de descargas tenéis instrucciones de cómo probarlo.

Ahora dedicaré un par de días a otras cosas y después volveremos a la carga con el proyecto. El próximo punto a implementar será el modulo de red, que se sustituirá el prototipo existente pro un código nuevo basado en OSC.

PS: En el video el sonido se desfasa en algunos puntos o da algún salto, lo cual es culpa del programa de screencast y no del sintetizador.

El proyecto ha sido aceptado en el II Concurso Universitario de Software Libre que intenta promover el desarrollo de software libre entre estudiantes de universidad.

A causa de esto, no actualizaré el repositorio CVS de savannah hasta que finalice la compteción, el 7 de Abril. Todo el desarrollo se hará en la forja del concurso. Acabo de subir al repositorio SVN todo el código antiguo que podía encontrarse en Savannah con algunas mejora realizadas en Octubre.

Encuentro este concurso como una experiencia muy motivadora que impulsará el desarrollo del proyecto. A lo largo de esta semana subiré más información sobre el plan de desarrollo y las interioridades del diseño del proyecto.