DSPRelated.com
Forums

Envelope of Speech

Started by HardySpicer October 4, 2008
I need to get a smooth as possible envelope of a real-time speech
signal.
I have tried rectification + filtering and squaring + filtering and
also a Hilbert Transformer (to creat the imaginary part of a complex
waveform which I can take the magnitude of)  but neither of these
methods appear to give a smooth envelope. Is there a tried and tested
best method?


Hardy


HardySpicer wrote:

> I need to get a smooth as possible envelope of a real-time speech > signal.
Main question: what are you trying to accomplish by that?
> I have tried rectification + filtering and squaring + filtering and > also a Hilbert Transformer (to creat the imaginary part of a complex > waveform which I can take the magnitude of) but neither of these > methods appear to give a smooth envelope.
What is the definition of "smooth envelope" ?
> Is there a tried and tested > best method?
It depends on how much of the processing delay wrt realtime is acceptable. You have to overlook at least one period of the lowest pitch; that is about 20ms. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
HardySpicer wrote:
> I need to get a smooth as possible envelope of a real-time speech > signal. > I have tried rectification + filtering and squaring + filtering and > also a Hilbert Transformer (to creat the imaginary part of a complex > waveform which I can take the magnitude of) but neither of these > methods appear to give a smooth envelope. Is there a tried and tested > best method? > > > Hardy >
Had a similar problem, but using stored data. If you can tolerate a delay comparable to the lowest frequency present. Detect time of sign change derivative of absolute value of signal. Use that "time" to sample the input signal, interpolate/filter between those points as desired. My experiments were related to following amplitude of an AM modulated carrier. I was thing along lines of a peak follower. I may have my Scilab code with a demo test case.
On Sat, 4 Oct 2008 13:00:50 -0700 (PDT), HardySpicer
<gyansorova@gmail.com> wrote:

>I need to get a smooth as possible envelope of a real-time speech >signal. >I have tried rectification + filtering and squaring + filtering and >also a Hilbert Transformer (to creat the imaginary part of a complex >waveform which I can take the magnitude of) but neither of these >methods appear to give a smooth envelope. Is there a tried and tested >best method? > > >Hardy
Hi Hardy, My guess is that if you filter out all of the signal's noise, that's outside the signal's bandwidth, and perform the Hilbert process to obtain a time-domain "magnitude" sequence, that this should be about your best option. I'm not exactly sure what you mean by "smooth", but is it possible that your computations are correct and that your signal's envelope is just not "smooth"? [-Rick-]

HardySpicer wrote:
> > I need to get a smooth as possible envelope of a real-time speech > signal. > I have tried rectification + filtering and squaring + filtering and > also a Hilbert Transformer (to creat the imaginary part of a complex > waveform which I can take the magnitude of) but neither of these > methods appear to give a smooth envelope. Is there a tried and tested > best method?
Best method for doing what exactly? For instance, you might be trying to create a display so that 5-10 seconds of speech can be viewed at once. -jim ----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==---- http://www.pronews.com The #1 Newsgroup Service in the World! >100,000 Newsgroups ---= - Total Privacy via Encryption =---
On Oct 5, 1:00&#4294967295;am, HardySpicer <gyansor...@gmail.com> wrote:
> I need to get a smooth as possible envelope of a real-time speech > signal. > I have tried rectification + filtering and squaring + filtering and > also a Hilbert Transformer (to creat the imaginary part of a complex > waveform which I can take the magnitude of) &#4294967295;but neither of these > methods appear to give a smooth envelope. Is there a tried and tested > best method? > > Hardy
take chunks of say 20ms of speech convert to frequency domain and apply LPC analysis in frequency domain as opposed to time domain.You will get an envelope of speech in time domain. But this works well only for voiced segments of speech.