Yang-Xijie / PitchAdjustmentDSP

My course project in Systems Design based on Digital Signal Processors.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Real-time Pitch Adjustment on BF533 DSP

This repository shows my course project in Systems Design based on Digital Signal Processors, 2022-2023, Department of Electronic Engineering by Professor Weibei Dou.

The main idea to adjustment pitch of the audio is to:

  1. interpolate and resample the audio
  2. split and overlap-add frames using a gap equals $\frac{H_s}{H_a}$

Python

Python codes are used to verify the feasibility of the algorithm, which is not real-time.

Setup Development Environment

$ conda create -n audioexp python=3.10 pip
$ conda activate audioexp
$ pip install numpy scipy

Resample and Overlap-add (OLA)

  1. Create a folder output in Python/.
  2. Modify parameters such as wav_name and alpha in resample-stretch.py.
  3. Run python resample-stretch.py
  4. Play audios generated in Python/output/.

C

C codes are based on demo project Talk_Through_533_I2S _FIR_2MAC.rar provided by Systems Design based on Digital Signal Processors. It aujusts pitch of the input audio in real-time.

Create the Project

  1. Open IDDE CrossCore®Embedded Studio 2.10.1 and create a new project.
  2. Choose BF533 with Silicon Revision any selected. Do not add Startup Code/LDF.
  3. In Project > properties > C/C++ Build > Settings:
    • CrossCore Blackfin Linker > Processor > Tool Settings > Memory usage, select Internal SRAM and external SDRAM. In
    • CrossCore Blackfin Linker > General > Tool Settings, select Individually map functions and data items.
  4. Rename C folder in this repo to src to replace the scr folder generate by IDDE.
  5. Build and debug the project.

Contribute

Issues and PRs are welcome!

References

About

My course project in Systems Design based on Digital Signal Processors.

License:MIT License


Languages

Language:C 70.0%Language:Python 30.0%