Advertisement
Bienvenido a Squishdot Reportes Anuncios Debian Ciencia Linux
 principal
 nivel superior
 enviar artículo
 buscar
 administrar
 acerca de ...
 rdf
 rss
 main


Reporte 9-I-09
Reportes Posted by ernesto on Tuesday January 13, @11:12AM el 2009
from the del reportero solitario dept.

He aquí mi reporte...


Terminado

  • Ya cumplí la semana de trabajo que debía (de ahí que reporte tan tarde).
  • Hay dos módulos nuevos: csd_parts.py y csd_generator.py. Éstos sirven para generar un "string" .csd (contiene la orquesta y el score que necesita csound) que tenga "n" instancias de un instrumento, cada una con un canal de control en tiempo real distinto. Esto sirve para poder controlar cada armónico independientemente, mientras esté sonando; de acuerdo con el modelo de control diseñado (ver reporte del 26 de diciembre).
  • Edité Csound_Note.py y Csound_Interface.py para que funcionaran con el "string" .csd arriba mencionado.

En proceso:

  • Implementar el modelo de control antes mencionado. El lado Csound de él ya está listo. Hice un thread de control (en Background_sound.py) como prueba de ello. Dicho thread funciona con parametros aleatorios y da variedad al sonido de fondo. El siguiente paso es que el control venga de la simulación. Esa es mi siguiente meta.

Pendiente:

  • Mejorar el ritmo y las envolventes de amplitud (una vez que Birdcage esté controlando el audio).
  • Implementar movimiento de alturas. El modelo ya está diseñado y los módulos Python programados pero, como mencioné antes, necesito que Birdcage controle el sonido para implementar dichos módulos.

Es todo.

Saludos,

Ernesto



reporte | wixi is working =)  >

 

Related Links
  • Articles on Reportes
  • Also by ernesto
  • Contact author
  • The Fine Print: The following comments are owned by whoever posted them.
    ( Reply )

    Re: Reporte 9-I-09
    by jergas on Wednesday January 14, @01:31AM
    Exception in thread Thread-4:
    Traceback (most recent call last):
       File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
         self.run()
       File "/home/edgar/ouroborus/birdcage/Background_sound.py", line 193, in run
         channels1 = backgroundSound1().run().channelNos
    AttributeError: 'NoneType' object has no attribute 'channelNos'
    [ Reply to this ]
    • Re: Reporte 9-I-09
      by ernesto on Wednesday January 14, @02:18AM

      Que vergüenza. No sé que pasó. Probé el código, y aunque lo hice cansado, no entiendo como se me pasó algo así. Mientras escribo esto inicia mi Debian y repararé el error.


      [ Reply to this ]
    • Re: Reporte 9-I-09
      by ernesto on Wednesday January 14, @02:39AM

      Mi código si funciona. No entiendo que pasa, pero igual voy a seguir investigando. ¿Alguien más tuvo el mismo problema?

      Edgar: si aún estás despierto, ¿me llamarías? De cualquier manera yo te busco a una hora en la que (pienso) será seguro que no te despierte.


      [ Reply to this ]
      • Re: Reporte 9-I-09
        by ernesto on Wednesday January 14, @02:41AM

        Aclaro: al referirme a mi código, me refiero a mi versión de Birddcage, revisión 62.


        [ Reply to this ]
        • Re: Reporte 9-I-09
          by jergas on Wednesday January 14, @04:18AM

          bueno, ya lo ablamos, pero nomas para no dejar en la oscuridad a los demas miembros del proyecto, lo repito:

          sip, a Panx tambien se le presento el error, para reproducirlo hay que dejar que acabe la ejecucion.

          porfas explica aqui la solucion cuando la tengas, pa que los demas vayamos entendiendo, je.


          [ Reply to this ]
          • Re: Reporte 9-I-09
            by ernesto on Wednesday January 14, @10:15AM

            Ya entiendo porque no detecté el bug: desde que la simulación dura tan pocas iteraciones, salgo de Birdcage antes de que termine de correr.

            En fin, el problema ya está resuelto y los cambios subidos a SVN. Lo que pasaba es que a pesar de que el loop de control estaba programado para terminar cuando terminaran las iteraciones de la simulacion (main_sequence),el thread de control seguía andando suficiente tiempo como para pedir datos de los threads de reproducción, que ya se habían detenido.

            La solución fue utilizar el método de threading "isAlive()" para saber si los threads de reproducción aún corrían, y hacer al loop de control dependiente de que estos siguieran activos.


            [ Reply to this ]

     
    The Fine Print: The following comments are owned by whoever posted them.
    ( Reply )

    Powered by Zope  Squishdot Powered
      "Any system that depends on reliability is unreliable." -- Nogg's Postulate
    All trademarks and copyrights on this page are owned by their respective companies. Comments are owned by the Poster. The Rest ©1999 Butch Landingin.
    [ home | post article | search | admin ]