[en] English: this master thesis was triggered by a very ambitious idea: the creation of a system capable of (1) recording and processing an input audio signal generated by a clarinet, transform it into a MIDI output signal and (2) eventually send it to a robot that plays the initial melody on a bass clarinet. Thereby the aimed result is a "musician-robot" that behaves similarly to the loop-stations available in the market. Typical loop-stations allow musicians to record a sequence and repeat it in loop-mode. The recorded sequence is then used as a base while the musician has total freedom to play on top of it. In most common loop-stations, the recording time is determined by a pedal that is controlled by the musician. This thesis focuses on the signal-processing module that transforms the original audio input into a MIDI output signal. First of all, the system records and processes a short melody played by the user on a clarinet or similar instrument. Then the input signal is transformed and reproduced in loop-mode. The output is a series of MIDI instructions that can be reproduced by any virtual instrument (e.g. electric guitar, didgeridoo or harpsichord). From a technical standpoint, the signal processing algorithm has been developed over Matlab. Sequentially, the audio signal is captured by a microphone plugged into the computer's sound card. Then it is processed by the abovementioned algorithm that breaks down the melody into individual notes and extracts its basic musical properties: pitch, volume and vibration. Eventually, using complementary modules developed aside from this project, the signal is sent out keeping all the original musical properties. Eventually, the thesis outlines the way forward to complete the original ambitious idea of creating a "musician-robot" that would play the original melody on a bass-clarinet. It is suggested to integrate the signal processing module in a DSP. It would then become the brain of the robot that would send the MIDI signals to a second controller responsible for the mechanical system that would manipulate the bass clarinet. The mechanical system is also briefly described. It also proposes the implementation of a Nonlinear Blind Source Separation algorithm, in order to obtain an original sequence when two or more sources are simultaneously recorded by several microphones. The original sequence will be basically contaminated by the sound of the other source, by the bounce of the walls and by the echo and the characteristics of the room.

[es] Castellano: este proyecto final de carrera partió de una idea muy ambiciosa: el desarrollo de un sistema capaz de (1) registrar y procesar una señal de audio proveniente de un clarinete y transformarla en una señal MIDI que (2) fuera enviada a un robot que, mediante un sistema mecánico, manipulara un clarinete bajo y reprodujera la melodía inicial. El resultado sería la creación de un robot-músico que emulara el comportamiento de los Loop-Station existentes en el mercado. Un aparato Loop-Station típico repite una secuencia previamente interpretada, de tal forma que una persona se puede grabar a sí misma y luego tocar encima de lo grabado. Estos sistemas captan la señal de audio durante un cierto tiempo, que viene determinado normalmente por un sistema de pedales, y luego la reproducen en forma de bucle. Este proyecto se centra en el módulo de procesamiento de señal que permite la transformación audio-MIDI de la secuencia original (interpretada por un clarinete o instrumento similar). Partiendo de una secuencia musical corta interpretada por el usuario, el sistema la registra, procesa y finalmente envía una señal de salida que se reproduce en forma de bucle. La señal de salida será una serie de instrucciones MIDI (Musical Instrument Digital Interface) que podrán ser reproducidas por cualquiera de los múltiples instrumentos virtuales que existen hoy en día (del clave en la guitarra eléctrica pasando por dijeridoo). Desde un punto de vista técnico, el algoritmo se ha desarrollado sobre el software Matlab. Este permite que la señal inicialmente captada a través de un micrófono conectado a la tarjeta de sonido, sea procesada por el algoritmo. El algoritmo reconoce las notas que componen la secuencia original y extrae las características musicales básicas: nota, volumen y vibrado. Finalmente, utilizando complementos Matlab desarrollados al margen de este proyecto, se envían las señales MIDI de salida conservando las características musicales de la señal original. Por último, se describe la línea a seguir para cerrar el círculo y conseguir el ambicioso objetivo inicial de crear un robot-músico que reprodujera la señal original en un clarinete bajo. Se propone integrar en un DSP (digital signal processor) el módulo de procesamiento antes descrito. Este se convertiría en el cerebro que enviaría las instrucciones MIDI a un segundo controlador responsable del sistema mecánico que manipulaba el instrumento. Aparte de esto, también se propone la implementación de un algoritmo de separación ciega de fuentes, para obtener las secuencias originales cuando dos o más fuentes son registradas simultáneamente por varios micrófonos. La secuencia original extraer estará básicamente contaminada por el sonido de la otra fuente, por rebotes con las paredes y por el eco y las características de la sala.