Detección de pitch con HPS 
El algoritmo HPS (Harmonic Product Spectrum) permite detectar la frecuencia fundamental (la altura) de una nota tocada por cualquier tipo de instrumento armónico.

Asume que el espectro generado por el instrumento está formado por frecuencias múltiplas enteras de la frecuencia fundamental, lo cual es cierto en el 99% de los instrumentos musicales convencionales, incluyendo la voz.

En la sección soft he colgado una sencilla implementación en C de este algoritmo y la he acompañado de dos ejemplos de tonos generados por un saxo. Uno de los ejemplos es una nota LA que el algoritmo detecta de 440.0848 Hz (440 Hz es la frecuencia de la nota LA en la 4ª octava) y el otro es de una nota RE que el algoritmo detecta de 293.3899 Hz (293.665 Hz es la frecuencia de la nota RE en la 4ª octava).

Más info sobre el HPS y otros algoritmos de detección de pitch en http://cnx.org/content/m11714/latest/.

EDITADO: He corregido un bug en el código que provocaba que la detección estuviera desplazada una octava.

Sección soft.

[ añadir comentario ] ( 1181 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente  |   ( 3 / 3498 )
Nueva versión de Sonority 
Sonority es un motor de síntesis de sonido mediante modelado analógico implementado en ANSI C que utiliza exclusivamente aritmética de punto fijo (formato Q16.16, 16 bits de parte entera y 16 bits de parte fraccionaria, 32 bits en total).

En esta nueva versión se han añadido dos modos de portamento (ALWAYS y LEGATTO), dos modos de disparo de envolvente (ALWAYS y STACATTO) y tablas precalculadas (tanto la tabla de frecuencias como las tablas de ondas).

El fichero test.c contiene un ejemplo de utilización del motor.

+info y descargas aquí.

[ añadir comentario ] ( 1374 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente  |   ( 3 / 2394 )
FHT 
He encontrado un artículo muy interesante que habla sobre la FHT (Fast Hartley Transform), para los neófitos como yo: algo así como la FFT pero con números reales :-).

http://www.embedded.com/2000/0009/0009feat3.htm

El artículo incluye una implementación en C para los que tienen prisa ;-).

Saludos y feliz Navidad a todos.

[ añadir comentario ] ( 1150 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente  |   ( 3 / 2360 )
Motor de síntesis por modelado analógico 
En la sección soft he puesto sonority-0.1.tar.gz. Un pequeño motor de síntesis por modelado analógico que he hecho, con las siguientes características:

- Dos osciladores por voz (uno de ellos puede modular en AM a otro).
- Un suboscilador por voz.
- Un generador de ruido.
- Dos filtros de estado variable por cada voz, con enrutado configurable.
- Dos envolventes ADSR y dos LFO por voz.
- Una enorme matriz de modulación.
- Aritmética de punto fijo de 32 bits.
- Totalmente ANSI C.

Todo el código es GPL. Para más info pasarse por la sección soft.

[ añadir comentario ] ( 1124 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente  |   ( 3 / 2877 )
Libro sobre DSP gratis online 
Seguro que muchos ya lo conocían: Yo lo descubrí hoy :-). En el siguiente enlace

http://www.dspguide.com/pdfbook.htm

Puede consultarse y/o bajarse el libro The Scientist and Engineer's Guide to Digital Signal Processing de Steven W. Smith. El autor no me suena pero lo cierto es que el libro está escrito en un lenguaje muy ameno y sencillo, no hace alardes matemáticos y va al grano en las explicaciones.

Si en su momento se te atragantó alguno de los libros de Oppenheim, Ogata o similares; este libro es una buena forma de ver la DSP con otros ojos. El único inconveniente es que está en inglés.

[ añadir comentario ] ( 1785 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente  |   ( 3 / 1967 )

<< <Anterior | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | Siguiente> >>