Implementación de un modificador de tono (pitch-shifter), basado en algoritmo de phase-vocoder, sobre Raspberry Pi

Nistal Hurlé, Carlos (2017). Implementación de un modificador de tono (pitch-shifter), basado en algoritmo de phase-vocoder, sobre Raspberry Pi. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. y Sistemas de Telecomunicación (UPM), Madrid.

Description

Title: Implementación de un modificador de tono (pitch-shifter), basado en algoritmo de phase-vocoder, sobre Raspberry Pi
Author/s:
  • Nistal Hurlé, Carlos
Contributor/s:
  • Mínguez Olivares, Antonio
Item Type: Final Project
Degree: Grado en Ingeniería de Sonido e Imagen
Date: 13 July 2017
Subjects:
Freetext Keywords: Grabación de sonido
Faculty: E.T.S.I. y Sistemas de Telecomunicación (UPM)
Department: Teoría de la Señal y Comunicaciones
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (4MB) | Preview
[img] Archive (ZIP) (Anexos) - Users in campus UPM only
Download (50kB)

Abstract

Este proyecto consiste en el diseño e implementación de un efecto de modificación de tono, o pitch-shifter, sobre el ordenador de placa reducida de bajo coste Raspberry Pi, empleando el algoritmo de phase-vocoder. El dispositivo permite la variación del tono de cualquier señal de entrada en tiempo real, preservando las demás características de la señal original. El cambio en el tono se realiza en dos pasos: contracción/expansión temporal, o timestretching, y re-muestreo. Para llevar a cabo el time-stretching se hace uso del algoritmo de phase-vocoder que, a través de un procesado en el dominio de la frecuencia, modifica la duración de la señal manteniendo su tono original. Una vez contraída/estirada, la señal es devuelta a su duración original a través de un remuestreo con interpolación, consiguiendo así variar el tono manteniendo la duración. Para la implementación del efecto sobre la Raspberry Pi fue preciso configurar la tarjeta para asumir la funcionalidad de un procesador DSP. Para ello se instaló el software Pure Data (Pd), un lenguaje gráfico de programación orientado a aplicaciones audiovisuales desarrollado por Miller Puckette en la década de 1990. Pd actuó como capa software intermedia entre el interfaz de audio y el programa implementado, facilitando sustancialmente la programación. La implementación se llevó a cabo en lenguaje C, haciendo uso del API de Pd. A lo largo de esta memoria se expone el proceso de diseño e implementación del sistema, indicado los diferentes requisitos que debe cumplir para hacer posible su aplicación práctica y proponiendo soluciones de ingeniería para cumplir con los mismos. Abstract: This project consists of the implementation of a pitch-shifter effect on the Raspberry Pi single-board computer using the phase-vocoder algorithm. This device allows shifting the pitch of any input signal in real-time while preserving the rest of its original features. Pitch shifting is achieved in two steps: time-stretching and re-sampling. A phasevocoder algorithm is used to time-stretch the signal. This algorithm performs processing in the frequency domain in order to stretch the input signal to a different duration while preserving its pitch. The signal is then re-sampled back to its original duration, accomplishing the desired pitch-shift. To implement this effect, the Raspberry Pi was configured to work as DSP processor; for this purpose the Pure Data (Pd) software was installed. Pd is a visual programing language developed by Miller Puckette in the 1990’s for creating interactive computer music and multimedia works. In this project, Pd acts as an intermediate software layer between the audio interface and the effect, which makes programming considerably easier. The effect was coded in C language using Pd’s API. The design and implementation process of the pitch-shifter will be shown throughout this report, pointing out the main requisites that must be met to be used in real-world applications, as well as offering technical solutions to satisfy these.

More information

Item ID: 52707
DC Identifier: http://oa.upm.es/52707/
OAI Identifier: oai:oa.upm.es:52707
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 22 Oct 2018 05:26
Last Modified: 22 Oct 2018 05:26
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM