DSP Labs
  • INTRODUCTION
  • BILL OF MATERIALS
  • 1. OVERVIEW AND INSTALLATION
    • 1.1 Hardware
    • 1.2 Software
      • CubeMX
      • SW4STM32
      • Eclipse tips
    • 1.3 First project!
  • 2. AUDIO PASSTHROUGH
    • 2.1 Audio I/O theory
      • Microphone
      • Stereo decoder
    • 2.2 Updating peripherals
    • 2.3 Wiring audio I/O
    • 2.4 Coding passthrough
  • 3. ALIEN VOICE EFFECT
    • 3.1 How it works
    • 3.2 Real-time DSP tips
    • 3.3 Real-time with Python
    • 3.4 C implementation
  • 4. DIGITAL FILTER DESIGN
    • 4.1 Design approaches
    • 4.2 Real-time implementation
  • 5. GRANULAR SYNTHESIS
    • 5.1 How it works
    • 5.2 Implementation
  • 6. LINEAR PREDICTION
    • 6.1 Theory behind LPC
    • 6.2 Implementation
  • 7. DFT PITCH SHIFTING
    • 7.1 How it works
    • 7.2 Python implementation
Powered by GitBook
On this page

Was this helpful?

5. GRANULAR SYNTHESIS

Previous4.2 Real-time implementationNext5.1 How it works

Last updated 6 years ago

Was this helpful?

In this exercise, we will implement a more sophisticated voice transformation with . Although the alien voice does a good job in altering the voice, it can severely harm intelligibility due to aliasing and can only be used for shifting the pitch up. With granular synthesis, intelligibility will not be so significantly affected and we can shift the pitch down to create a Darth Vader voice.

In , we will briefly explain how we will be performing pitch shifting with granular synthesis. As for the alien voice effect, we will prototype the implementation in Python by simulating a real-time environment that receives samples in a buffer-based fashion. This should minimize the amount of errors when implementing the voice transformation in C on an embedded device. We will guide you through the Python implementation in .

As in the previous chapter, text contained in highlighted boxes, as shown below, will require you to determine the appropriate solution and implementation.

TASK: This is a task for you!

May the Force be with you!

                                   _.-'~~~~~~~~~~~~`-._
                                  /         ||         \
                                 /          ||          \
                                |           ||          |
                                | __________||__________|
                                |/ -------- \/ ------- \|
                               /     (     )  (     )    \
                              / \     ----- () -----    / \
                             /   \         /||\        /   \
                            /     \       /||||\      /     \
                           /       \     /||||||\    /       \
                          /_        \o=============o/        _\
                            `--...__|`-._       _.-'|__...--'
                                    |    `-----'    |

Figure: Modified from .

granular synthesis
Section 5.1
Section 5.2
here