- -

Sintetizador de sonidos con FPGA

RiuNet: Repositorio Institucional de la Universidad Politécnica de Valencia

Compartir/Enviar a

Citas

Estadísticas

  • Estadisticas de Uso

Sintetizador de sonidos con FPGA

Mostrar el registro sencillo del ítem

Ficheros en el ítem

dc.contributor.advisor Andrés Martínez, David de es_ES
dc.contributor.author Redondo Padilla, Rafael es_ES
dc.date.accessioned 2023-09-26T07:51:08Z
dc.date.available 2023-09-26T07:51:08Z
dc.date.created 2023-07-13
dc.date.issued 2023-09-26 es_ES
dc.identifier.uri http://hdl.handle.net/10251/197095
dc.description.abstract [ES] Este proyecto consiste en el diseño e implementación de un sintetizador de sonidos en hardware programable. El diseño está disponible públicamente para que se pueda estudiar y aprovechar en otras implementaciones. El sintetizador digital trata tanto la síntesis aditiva, en la que se combinan dos osciladores con polifonía reproduciendo un número genérico de voces y síntesis sustractiva, incluyendo filtros de paso bajo, alto, de banda y de rechazo de banda mediante la implementación de las ecuaciones de Chamberlin. La funcionalidad se ha extendido para obtener un control mayor sobre la frecuencia, con parámetros para modificar el semitono o ajustar la afinación. En cada oscilador se puede seleccionar un tipo de onda básica, onda sierra, triangular, cuadrada o senoidal. En la onda cuadrada también se puede modular el ancho de pulso. Además también se ha trabajado en la incorporación del efecto portamento y la gestión de la dinámica del sonido, con el generador de envolventes de amplitud. También dispone de tres osciladores de baja frecuencia, uno para cada oscilador donde modulan la frecuencia o pitch y otro que modula el parámetro de la frecuencia de corte o resonancia de los filtros. El sintetizador también contiene un procesador para agregar ruido a la señal. Se puede conmutar la entrada del convertidor analógico digital o de los generadores de onda, para capturar una señal externa y procesarla con el generador de ruido más los filtros. Se ha elegido como placa de prototipado el dispositivo FPGA de AMD-Xilinx Basys-3, por tanto se ha trabajado con el entorno de desarrollo Vivado ML Standard Edition para implementar el modelo, desarrollado con el lenguaje de descripción VHDL. Para reproducir los sonidos hemos utilizado el dispositivo Pmod I2S2, que incorpora convertidores de analógico a digital y de digital a analógico. La frecuencia de muestreo del sintetizador es 44.1 kHz con una resolución de 24 bits, en estéreo. Por otro lado, se ha desarrollado una aplicación software con interfaz gráfica en lenguaje C++ con el framework JUCE. Esta aplicación se ha compilado para un entorno con Windows, pero también como plug-in VST3 y se ha comprobado su funcionamiento en un DAW. Además esta aplicación puede ser portable a otros sistemas operativos y a otros formatos de plug-in. El propósito principal es controlar los parámetros del hardware mediante una conexión UART desde la interfaz gráfica. Además la aplicación también contiene un gestor para almacenar los presets y se ha trabajado en la sincronización con la FPGA, tanto en la aplicación standalone como en el plug-in para recuperar adecuadamente el estado de los parámetros. En la aplicación standalone también se ha trabajado en la administración mediante un controlador MIDI, útil como piano y para controlar los parámetros de la interfaz. es_ES
dc.description.abstract [EN] This project consists of the design and implementation of a programmable hardware sound synthesizer. The design is publicly available so that it can be studied and leveraged in other implementations. The digital synthesizer deals with both additive synthesis, in which two oscillators are combined with polyphony playing a generic number of voices, and subtractive synthesis, including low-pass, high-pass, bandpass, and band-reject filters by implementing the equations of Chamberlin. The functionality has been extended for more control over frequency, with parameters to change the semitone or adjust the pitch. In each oscillator you can select a basic wave type, saw wave, triangle, square or sine wave. In the square wave you can also modulate the pulse width. In addition, work has also been done on the incorporation of the portamento effect and the management of sound dynamics, with the amplitude envelope generator. It also has three low frequency oscillators, one for each oscillator where they modulate the frequency or pitch and another that modulates the cutoff frequency or resonance parameter of the filters. The synthesizer also contains a processor to add noise to the signal. The input of the analog-to-digital converter or wave generators can be switched to capture an external signal and process it with the noise generator plus filters. The AMD-Xilinx Basys-3 FPGA device has been chosen as the prototyping board, therefore we have worked with the Vivado ML Standard Edition development environment to implement the model, developed with the VHDL description language. To reproduce the sounds we have used the Pmod I2S2 device, which incorporates analog-to-digital and digital-to-analog converters. The synthesizer's sample rate is 44.1 kHz with 24 bit resolution, in stereo. On the other hand, a software application with a graphical interface in C++ language has been developed with the JUCE framework. This application was compiled for a Windows environment, but also as a VST3 plug-in and has been tested to work in a DAW. Furthermore, this application can be portable to other operating systems and other plug-in formats. The main purpose is to control hardware parameters via a UART connection from the graphical interface. In addition, the application also contains a manager to save the presets and work was done on synchronization with the FPGA, both in the standalone application and in the plug-in to adequately recover the status of the parameters. In the standalone application, work has also been done on the administration through a MIDI controller, useful as a piano and to control the interface parameters. es_ES
dc.format.extent 86 es_ES
dc.language Español es_ES
dc.publisher Universitat Politècnica de València es_ES
dc.rights Reserva de todos los derechos es_ES
dc.subject Sintetizador de sonidos es_ES
dc.subject Síntesis aditiva es_ES
dc.subject Síntesis sustractiva es_ES
dc.subject Dispositivo hardware programable es_ES
dc.subject FPGA es_ES
dc.subject Vivado es_ES
dc.subject VHDL es_ES
dc.subject JUCE es_ES
dc.subject C++ es_ES
dc.subject Sound synthesizer es_ES
dc.subject Additive synthesis es_ES
dc.subject Subtractive synthesis es_ES
dc.subject Programmable hardware device es_ES
dc.subject.classification ARQUITECTURA Y TECNOLOGIA DE COMPUTADORES es_ES
dc.subject.other Grado en Ingeniería Informática-Grau en Enginyeria Informàtica es_ES
dc.title Sintetizador de sonidos con FPGA es_ES
dc.title.alternative FPGA sound synthesizer es_ES
dc.title.alternative Sintetitzador de so amb FPGA es_ES
dc.type Proyecto/Trabajo fin de carrera/grado es_ES
dc.rights.accessRights Abierto es_ES
dc.contributor.affiliation Universitat Politècnica de València. Departamento de Informática de Sistemas y Computadores - Departament d'Informàtica de Sistemes i Computadors es_ES
dc.contributor.affiliation Universitat Politècnica de València. Escola Tècnica Superior d'Enginyeria Informàtica es_ES
dc.description.bibliographicCitation Redondo Padilla, R. (2023). Sintetizador de sonidos con FPGA. Universitat Politècnica de València. http://hdl.handle.net/10251/197095 es_ES
dc.description.accrualMethod TFGM es_ES
dc.relation.pasarela TFGM\154242 es_ES


Este ítem aparece en la(s) siguiente(s) colección(ones)

Mostrar el registro sencillo del ítem