Connexions

You are here: Home » Content » Linear Prediction and Cross Synthesis
Content Actions
Lenses

What is a lens?

Lenses

A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual Connexions member, a community, or a respected organization.

This content is ...
In these lenses
  • This module is included inLens: Digital Signal Processing with NI LabVIEW and the National Instruments Platform
    By: Sam ShearmanAs a part of collection:"Musical Signal Processing with LabVIEW (All Modules)"

    Comments:

    "This online course covers signal processing concepts using music and audio to keep the subject relevant and interesting. Written by Prof. Ed Doering from the Rose-Hulman Institute of Technology, […]"

    Click the "NI Signal Processing" link to see all content selected in this lens.

    NI Signal Processing
Tags

(?)

These tags come from the endorsement, affiliation, and other lenses that include this content.

Linear Prediction and Cross Synthesis

Module by: Ed Doering

Summary: Linear prediction coding (LPC) models a speech signal as a time-varying filter driven by an excitation signal. The time-varying filter coefficients model the vocal tract spectral envelope. “Cross synthesis” is an interesting special effect in which a musical instrument signal drives the digital filter (or vocal tract model), producing the sound of a “singing instrument.” The theory and implementation of linear prediction are presented in this module.

LabVIEWq.png This module refers to LabVIEW, a software development environment that features a graphical programming language. Please see the LabVIEW QuickStart Guide module for tutorials and documentation that will help you:
• Apply LabVIEW to Audio Signal Processing
• Get started with LabVIEW
• Obtain a fully-functional evaluation edition of LabVIEW

Introduction

Subtractive synthesis methods are characterized by a wideband excitation source followed by a time-varying filter. Linear prediction provides an effective way to estimate the time-varying filter coefficients by analyzing an existing music or speech signal. Linear predictive coding (LPC) is one of the first applications of linear prediction to the problem of speech compression. In this application, a speech signal is modelled as a time-varying digital filter driven by an innovations sequence. The LPC method identifies the filter coefficients by minimizing the prediction error between the filter output and the original signal. Significant compression is possible because the innovations sequence and filter coefficients require less space than the original signal.
Cross synthesis is a musical adaptation of the speech compression technique. A musical instrument or speech signal serves as the original signal to be analyzed. Once the filter coefficients have been estimated, the innovations sequence is discarded and another signal is used as the filter excitation. For example, a "singing guitar" effect is created by deriving the filter coefficients from a speech signal and driving the filter with the sound of an electric guitar; listen to the audio clips below:
  • speech.wav -- Speech signal for digital filter coefficients (audio courtesy of the Open Speech Repository, www.voiptroubleshooter.com/open_speech; the sentences are two of the many phonetically balanced Harvard Sentences, an important standard for the speech processing community)
  • eguitar.wav -- Electric guitar signal for filter input
  • speech_eguitar.wav -- Cross-synthesized result (filter output)

Linear Prediction Theory

The Figure 1 screencast video develops the theory behind linear prediction and describes how the technique is applied to musical signals. Practical issues such as choosing the filter block size and filter order are also discussed.
sub_lpc-theory.html
Figure 1: [video] Theory of linear prediction and cross synthesis

Linear Prediction Implementation

The previous section explains how you can use the all-pole filter model to implement cross synthesis. But how are the all-pole filter coefficients actually created?
The LabVIEW MathScript feature includes the function lpc, which accepts a signal (1-D vector or array) and the desired filter order and returns an array of filter coefficients. For details, select "Tools | MathScript Window" and type help lpc.

Comments, questions, feedback, criticisms?

Send feedback