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?

7. DFT PITCH SHIFTING

Previous6.2 ImplementationNext7.1 How it works

Last updated 6 years ago

Was this helpful?

In this chapter, we consider pitch shifting in the frequency domain by performing the Discrete Fourier Transform (DFT). As the pitch is strongly related to frequency, it is quite intuitive what operation needs to be done in this domain, namely shift the spectrum up or down. However, as mentioned in the previous chapter, we wish to preserve a certain structure in the spectrum.

explains the operations that need to be performed for DFT pitch shifting and the motivation behind them, while guides you through implementing this approach in Python.

With this effect, we will be creating a chipmunk-like voice effect; so no need to inhale helium!

Text contained in highlighted boxes, as shown below, are tasks for you.

TASK: This is a task for you!

                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\       ;  }
                   /__`;-...'--'

.

Section 7.1
Section 7.2
Source