SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
x




“Transformaciones espectrales en
     tiempo real para CLAM”

                   Hernán Ordiales
                      web: http://h.ordia.com.ar
                        email: h@ordia.com.ar
Resumen de trabajo


   Ordenar y mejorar algunas partes de código
    existente (clases)
   Red de pitch-discretization en el NE y prototipo
   Armonizador con modelo SMS y prototipo
   Red de voz disfónica
   Efecto SMS Morph en el NE
   Mejora del algoritmo del armonizador de voces
   Trabajo sobre el algoritmo de time-stretch en el
    NE
   Frecuencia fundamental a nota MIDI en el NE y
    red de Audio2MIDI
Google Summer of Code


   Programa organizado por Google
   Sponsorea la realización de proyectos open-
    source
   Orientado a estudiantes
   Se realiza desde el 2005
   900 estudiantes ; 1500 mentores ; 130
    organizaciones ; 90 paises




           Google es una marca registrada de Google Inc (Mountain View, CA 94043, USA)
CLAM - ¿Qué es?


                Biblioteca de software
                 para la investigación y
                 desarrollo sobre audio y
                 música
                Ofrece un modelo
                 conceptual y herramientas
                 para el análisis, la síntesis
                 y el procesamiento de
                 señales de audio
                Premio ACM: Mejor
                 software multimedia
                 open-source en el 2006
CLAM - Características


   Dos modos diferentes de trabajo:
      Framework

      Prototipado rápido de aplicaciones



   Software Libre (Licenciado bajo GPL)
   Escrito en C++ orientado a objetos
   Multiplataforma (Linux, Mac, Windows)
CLAM – Aplicaciones principales


 NetworkEditor
 Annotator
 SMSTools
 Voice2MIDI
NetworkEditor - Características


   Programación visual
   Similar a PureData,
    MaxMSP, Reaktor
   Redes en tiempo
    real u offline
   Diferentes backends
      VST

      Jack

      LADSPA

      Portaudio          Figura 1: NetworkEditor
CLAM – NetworkEditor


   Componentes -> Processings (“cajitas”)
        •Ports (flujo de datos)
        •Controls (datos de control)
   Modelos de análisis/sintesis
      STFT

      Sinusoides + residuo (SMS)

      etc

   Visualización en tiempo real
Prototipos


   Prototyper: Corre los prototipos a partir de redes del
    NetworkEditor (archivos XML)
   Widgets QT propios (asociados a los processings del
    NetworkEditor)




                          Figura 2: Esquema prototyper
Modelo sinusoides + residuo


   Modelo de análisis/síntesis para procesamiento
    espectral orientado a aplicaciones musicales y
    de audio
   Se puede ver como una generalización de la
    STFT y los modelos sinusoidales
   También es conocido como SMS (Spectral
    Modeling Synthesis) y como HILN en el
    contexto de MPEG4
Modelo sinusoides + residuo



    Esta modelado como la suma de un conjunto de
    sinusoides (los “sobretonos” estables armónicos o no,
    las componentes determinísticas del sonido) más el
    residuo de ruido (modelado como un proceso
    estocástico) como dos componentes separadas




                        Figura 3: Esquema modelo SMS
SMS Análisis


Entrada de audio




                                                  Picos sinusoidales




                                                       Fundamental




                                                 Espectro del residuo
                   Figura 4: SMS Analysis Core
Ejemplo: Red de voz disfónica


   Ejemplo sencillo e intuitivo de uso de modelos
    SMS
   Idea: Aplicarle una ganancia al residuo y volver
    a sintetizar




                     Figura 5: Red de hoarseness
Morph


   A partir de dos fuentes de sonido se crea un sonido
    con propiedades híbridas
   Basado en interpolación (de picos y del espectro
    del residuo) y un balance de la fundamental
    (dependiente del factor de interpolación)




                        Figura 6: Red de Morph
Armonizador


   Generalmente utilizado para armonizar voces
   Dado un sonido de entrada se obtienen salidas
    automáticamente relacionadas armónicamente,
    por ej. un 3ra mayor o menor, una 5ta, una
    6ta o cualquier intervalo musical que se desee
   Basado en varios SMS pitch-shiftings (uno por
    c/voz)
   Intervalos según escala temperada:
Armonizador


   Cantidad de voces configurable
   Parámetros (por c/voz)
      Ganancia

      Pitch

      Delay

      Detunning (pequeña desafinación para dar
       realismo)
   Opción de ignorar el residuo en el
    procesamiento (agrega mucha carga y no
    mejora demasiado los resultados)
Armonizador




              Figura 7: Red del armonizador
Armonizador - Prototipo




           Figura 7: Prototipo del armonizador
Fundamental (Hz) a nota MIDI




          Figura 8: Frecuencia fundamental a MIDI
Organización del trabajo


   Repositorio centralizado de código (svn)
   Testfarm (sistema online)
      Compilación multiplataforma

      Tests de unidad, back2back, etc

   Metodologias ágiles
      Reorganización constante de objetivos

      Milestones (mapa de camino)

   Comunicación
      E-mail: Lista de desarrollo y correo privado

      Canales de chat (irc en freenode)

      Blogs
Lo que sigue


   Mejorar el soporte MIDI en el NetworkEditor
   Mejorar algoritmos de tiempo real (NE)
   Nuevos widgets
   Nuevas redes
   Utilizar CLAM para y en otros desarrollos
Fin de la presentación




          Muchas gracias!

Más contenido relacionado

Similar a Transformaciones espectrales en tiempo real para CLAM

Systemas operativos Multimedias
Systemas operativos MultimediasSystemas operativos Multimedias
Systemas operativos MultimediasEriklsm-Tech
 
Introducción al Diseño Arquitectónico Basado En Patrones
Introducción al Diseño Arquitectónico Basado En PatronesIntroducción al Diseño Arquitectónico Basado En Patrones
Introducción al Diseño Arquitectónico Basado En PatronesJoemmanuel Ponce
 
Cayin presentacion productos
Cayin presentacion productosCayin presentacion productos
Cayin presentacion productosImaginArt
 
Códecs y formatos
Códecs y formatosCódecs y formatos
Códecs y formatos1121887074
 
SWEBOK-HIPO-CASCACADA INGENIERIA DE SOFTWARE
SWEBOK-HIPO-CASCACADA INGENIERIA DE SOFTWARESWEBOK-HIPO-CASCACADA INGENIERIA DE SOFTWARE
SWEBOK-HIPO-CASCACADA INGENIERIA DE SOFTWAREKarymeLauGarcia1
 
CCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitalesCCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitalesAndoni Eguíluz Morán
 
Utp pds_lab1 introduccion a mat_lab
 Utp pds_lab1 introduccion a mat_lab Utp pds_lab1 introduccion a mat_lab
Utp pds_lab1 introduccion a mat_labjcbenitezp
 
La prueba del software y los special purpose languages
La prueba del software y los special purpose languagesLa prueba del software y los special purpose languages
La prueba del software y los special purpose languagesSoftware Guru
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningRafa Hidalgo
 
Android: desarrollo de aplicaciones
Android: desarrollo de aplicacionesAndroid: desarrollo de aplicaciones
Android: desarrollo de aplicacionesJose Luis Lopez Pino
 
Programación visual con VB.NET
Programación visual con VB.NETProgramación visual con VB.NET
Programación visual con VB.NETYamil Lambert
 
Digital Signal Processing [DSP]
Digital Signal Processing [DSP]Digital Signal Processing [DSP]
Digital Signal Processing [DSP]Daniel Quezada
 
Algoritmos de compresión y efecto de la compresión expo
Algoritmos de compresión y efecto de la compresión expoAlgoritmos de compresión y efecto de la compresión expo
Algoritmos de compresión y efecto de la compresión expoMario Arias Antón
 
SG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache CamelSG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache CamelDomingo Suarez Torres
 

Similar a Transformaciones espectrales en tiempo real para CLAM (20)

Codificación de audio
Codificación de audioCodificación de audio
Codificación de audio
 
Systemas operativos Multimedias
Systemas operativos MultimediasSystemas operativos Multimedias
Systemas operativos Multimedias
 
Presentación audios
Presentación audiosPresentación audios
Presentación audios
 
Introducción al Diseño Arquitectónico Basado En Patrones
Introducción al Diseño Arquitectónico Basado En PatronesIntroducción al Diseño Arquitectónico Basado En Patrones
Introducción al Diseño Arquitectónico Basado En Patrones
 
Cayin presentacion productos
Cayin presentacion productosCayin presentacion productos
Cayin presentacion productos
 
Códecs y formatos
Códecs y formatosCódecs y formatos
Códecs y formatos
 
SWEBOK-HIPO-CASCACADA INGENIERIA DE SOFTWARE
SWEBOK-HIPO-CASCACADA INGENIERIA DE SOFTWARESWEBOK-HIPO-CASCACADA INGENIERIA DE SOFTWARE
SWEBOK-HIPO-CASCACADA INGENIERIA DE SOFTWARE
 
CCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitalesCCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitales
 
Utp pds_lab1 introduccion a mat_lab
 Utp pds_lab1 introduccion a mat_lab Utp pds_lab1 introduccion a mat_lab
Utp pds_lab1 introduccion a mat_lab
 
Proceso de señal
Proceso de señalProceso de señal
Proceso de señal
 
La prueba del software y los special purpose languages
La prueba del software y los special purpose languagesLa prueba del software y los special purpose languages
La prueba del software y los special purpose languages
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
 
Android: desarrollo de aplicaciones
Android: desarrollo de aplicacionesAndroid: desarrollo de aplicaciones
Android: desarrollo de aplicaciones
 
Programación visual con VB.NET
Programación visual con VB.NETProgramación visual con VB.NET
Programación visual con VB.NET
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Unidad i
Unidad iUnidad i
Unidad i
 
Digital Signal Processing [DSP]
Digital Signal Processing [DSP]Digital Signal Processing [DSP]
Digital Signal Processing [DSP]
 
Algoritmos de compresión y efecto de la compresión expo
Algoritmos de compresión y efecto de la compresión expoAlgoritmos de compresión y efecto de la compresión expo
Algoritmos de compresión y efecto de la compresión expo
 
SG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache CamelSG 09 Patrones de Integración Empresarial Apache Camel
SG 09 Patrones de Integración Empresarial Apache Camel
 
Hdtv
HdtvHdtv
Hdtv
 

Transformaciones espectrales en tiempo real para CLAM

  • 1. x “Transformaciones espectrales en tiempo real para CLAM” Hernán Ordiales web: http://h.ordia.com.ar email: h@ordia.com.ar
  • 2. Resumen de trabajo  Ordenar y mejorar algunas partes de código existente (clases)  Red de pitch-discretization en el NE y prototipo  Armonizador con modelo SMS y prototipo  Red de voz disfónica  Efecto SMS Morph en el NE  Mejora del algoritmo del armonizador de voces  Trabajo sobre el algoritmo de time-stretch en el NE  Frecuencia fundamental a nota MIDI en el NE y red de Audio2MIDI
  • 3. Google Summer of Code  Programa organizado por Google  Sponsorea la realización de proyectos open- source  Orientado a estudiantes  Se realiza desde el 2005  900 estudiantes ; 1500 mentores ; 130 organizaciones ; 90 paises Google es una marca registrada de Google Inc (Mountain View, CA 94043, USA)
  • 4. CLAM - ¿Qué es?  Biblioteca de software para la investigación y desarrollo sobre audio y música  Ofrece un modelo conceptual y herramientas para el análisis, la síntesis y el procesamiento de señales de audio  Premio ACM: Mejor software multimedia open-source en el 2006
  • 5. CLAM - Características  Dos modos diferentes de trabajo:  Framework  Prototipado rápido de aplicaciones  Software Libre (Licenciado bajo GPL)  Escrito en C++ orientado a objetos  Multiplataforma (Linux, Mac, Windows)
  • 6. CLAM – Aplicaciones principales  NetworkEditor  Annotator  SMSTools  Voice2MIDI
  • 7. NetworkEditor - Características  Programación visual  Similar a PureData, MaxMSP, Reaktor  Redes en tiempo real u offline  Diferentes backends  VST  Jack  LADSPA  Portaudio Figura 1: NetworkEditor
  • 8. CLAM – NetworkEditor  Componentes -> Processings (“cajitas”) •Ports (flujo de datos) •Controls (datos de control)  Modelos de análisis/sintesis  STFT  Sinusoides + residuo (SMS)  etc  Visualización en tiempo real
  • 9. Prototipos  Prototyper: Corre los prototipos a partir de redes del NetworkEditor (archivos XML)  Widgets QT propios (asociados a los processings del NetworkEditor) Figura 2: Esquema prototyper
  • 10. Modelo sinusoides + residuo  Modelo de análisis/síntesis para procesamiento espectral orientado a aplicaciones musicales y de audio  Se puede ver como una generalización de la STFT y los modelos sinusoidales  También es conocido como SMS (Spectral Modeling Synthesis) y como HILN en el contexto de MPEG4
  • 11. Modelo sinusoides + residuo  Esta modelado como la suma de un conjunto de sinusoides (los “sobretonos” estables armónicos o no, las componentes determinísticas del sonido) más el residuo de ruido (modelado como un proceso estocástico) como dos componentes separadas Figura 3: Esquema modelo SMS
  • 12. SMS Análisis Entrada de audio Picos sinusoidales Fundamental Espectro del residuo Figura 4: SMS Analysis Core
  • 13. Ejemplo: Red de voz disfónica  Ejemplo sencillo e intuitivo de uso de modelos SMS  Idea: Aplicarle una ganancia al residuo y volver a sintetizar Figura 5: Red de hoarseness
  • 14. Morph  A partir de dos fuentes de sonido se crea un sonido con propiedades híbridas  Basado en interpolación (de picos y del espectro del residuo) y un balance de la fundamental (dependiente del factor de interpolación) Figura 6: Red de Morph
  • 15. Armonizador  Generalmente utilizado para armonizar voces  Dado un sonido de entrada se obtienen salidas automáticamente relacionadas armónicamente, por ej. un 3ra mayor o menor, una 5ta, una 6ta o cualquier intervalo musical que se desee  Basado en varios SMS pitch-shiftings (uno por c/voz)  Intervalos según escala temperada:
  • 16. Armonizador  Cantidad de voces configurable  Parámetros (por c/voz)  Ganancia  Pitch  Delay  Detunning (pequeña desafinación para dar realismo)  Opción de ignorar el residuo en el procesamiento (agrega mucha carga y no mejora demasiado los resultados)
  • 17. Armonizador Figura 7: Red del armonizador
  • 18. Armonizador - Prototipo Figura 7: Prototipo del armonizador
  • 19. Fundamental (Hz) a nota MIDI Figura 8: Frecuencia fundamental a MIDI
  • 20. Organización del trabajo  Repositorio centralizado de código (svn)  Testfarm (sistema online)  Compilación multiplataforma  Tests de unidad, back2back, etc  Metodologias ágiles  Reorganización constante de objetivos  Milestones (mapa de camino)  Comunicación  E-mail: Lista de desarrollo y correo privado  Canales de chat (irc en freenode)  Blogs
  • 21. Lo que sigue  Mejorar el soporte MIDI en el NetworkEditor  Mejorar algoritmos de tiempo real (NE)  Nuevos widgets  Nuevas redes  Utilizar CLAM para y en otros desarrollos
  • 22. Fin de la presentación Muchas gracias!