Generador de sonidos Sintetizados Daniel Acevedo Olivares Francisco Barros Peralta Universidad...

Preview:

Citation preview

Generador de sonidosSintetizados

Daniel Acevedo OlivaresFrancisco Barros Peralta

Universidad Técnica Federico Santa Maria

¿Porqué generar sonidos en el computador?

• Bajo Costo.• Limitado sólo por la imaginación (...y tiempo de desarrollo).• Entretenido.• Tecnología no prohibitiva.

• Personalización de sonidos.• Aplicaciones especializadas.• Interfaz amigable.

¿Qué ofrece nuestro Sintetizador JAVA?

INTRODUCCION

Problemáticas

• Acordar la forma de generar las ondas.

• Latencia de la Máquina Virtual.

• Uso de plug-ins.

• Investigación por parte de desarrolladores a entender el modelamiento del sonido y de la forma que éste se genera y maneja en JAVA.

Sistemas Existentes

Proyecciones de nuestro desarrollo

• Vocoder, reconocimiento de voz.

• Reproducción, samples, mensajes.

• Emulación de fuentes análogas: voz, instrumentos.

Referencias

• Biblioteca JSyn (externa).

• Biblioteca javax.sound.*– Mixer.– Line (dataline).– Port.

Caso de Uso

• Título: Generar un Sonido con amplitud modulada por un LFO.

• Descripción: Usuario desea generar una onda sinusoidal, modulada en amplitud por otra onda de menor frecuencia.

• Actor: Usuario.

• Prioridad: Normal.

• PreCondiciones: Instalar biblioteca JSyn.

Caso de Uso-- Flujo --

• Flujo: 1) Usuario ejecuta la aplicación “Sintetizador”.

2) Usuario enfoca la ventana.

3) Seleccionar tipo de onda= Sinusoidal, en Oscilador Principal.

4) Presiona botón ON del LFO.

5) Presionar tecla del computador que simule una tecla de piano virtual (según gráfico).

Variantes

• Variante 1:3.1) Usuario no selecciona el tipo de onda.3.2) Tipo de onda generada no corresponde al esperado.

• Variante 2:4.1) Usuario no presiona botón ON.4.2) Amplitud no está modulada.

• Variante 3:5.1) Usuario presiona una tecla no válida.5.2) No se genera sonido.

Tarjeta CRC1

Clase SintePanel

Responsabilidades Colaboradores- Generación GUI.- Controlar ejecución de sonidos.- Enlazar o linkear los controles del panel con los ajustes internos.- Ajustar la afinación del sistema.

• Clase SignalManager.• Clase Notas Clase.• Keyboard

Tarjeta CRC2

Clase SignalManager

Responsabilidades Colaboradores

- Generación sonidos.- Realiza conexiones entre módulos internos.- Realiza procesamiento del sonido.

• Biblioteca Jsyn.• Clase SintePanel

Diagrama de clases

Diagrama Bloques General

LFO

Control Envolvente Amplitud

Osciladores principales

Filtro Pasa Bajos

Control Filtro Envolvente

Filtro Envolvente

Salida

Diagrama de Clases

FIN

https://alumnos.elo.utfsm.cl/~fbarros/

Sitio WEB:

Preguntas, comentarios, sugerencias?