Time compression-expansion using standard phase vocoder

Type : vocoder phase time stretching
References : Posted by Cournape
Linked file : vocoder.m
(this linked file is included below)
Notes :
Standard phase vocoder. For imporved techniques ( faster ), see paper of Laroche : "Improved phase vocoder time-scale modification of audio"
Laroche, J.; Dolson, M.
Speech and Audio Processing, IEEE Transactions on , Volume: 7 Issue: 3 , May 1999
Page(s): 323 -332
Comments
from : dsp[at]rymix[DOT]net
comment : Anyone know what language this is in? It really would be nice to understand the syntax.

from : null[AT]null[DOT]null
comment : It's matlab code see <a href="http://www.mathworks.com/">mathworks</a>. /Daniel

from : dsp[AT]rymix[DOT]net
comment : thanks =)

from : ericlee280[DOT]at[DOT]hotmail[DOT]com
comment : The code seems to contain an undefined variable lss_frame, can someone explain what this is?

from : yyc[AT]cad[DOT]el[DOT]yuntech[DOT]edu[DOT]tw
comment : The code seems to contain an undefined variable lss_frame, can someone explain what this is?

from : cournape[at]enst[dot]fr
comment : There is indeed an error in the script. I will post the correction to the administrator. For now, here is the correction. You have to replace lss_frame by Ls ( which is properly defined before the main loop in the script which is online ). When I checked the code, there can be also some out of range error for the output vector : a change in the max variable definition seems to solve the problem ( at least for overlapp below 0.75 ). replace max = (nb_frame-2)*La+Nfft by max = (nb_frame)*La+Nfft.

from : yyc[AT]cad[DOT]el[DOT]yuntech[DOT]edu[DOT]tw
comment : is it really follow this paper "Improved phase vocoder time-scale modification of audio"?? because i get the another source code for original phase vocoder on net, and the performence is better than the code.... it is let me confuse.... have anyone can slove my question? and thanks...... ps:the sorce code from"http://www.ee.columbia.edu/~dpwe/resources/matlab/pvoc/" .

from : roger[DOT]sanchez[AT]online[DOT]de
comment : If someone told me last month that I would have yet ANOTHER westibe I would become addicted to, I would not be pleased.But I have no regrets for my obsession with your page! This is amazing and I am incredibly proud of you.I would love to hear your thoughts of my river. A river that meets the ocean. She has more than one obstacle to push through before flowing into the sublime. A favorite English professor used the phrase fluid chaos the other day and all I could think about was this river, and your westibe.Can't wait for your insight!

from : info[AT]nickellsworth[DOT]com
comment : Hey Bets,Been thinking about you as Big Goose rises,<a href="http://wynbwlwotnl.com"> wnedor</a> if the sand bags are a worthy strategy. It's such a better season than the last time I saw you, let's go for a walk and talk soon. Much love, Carolyn PS. Love this site!

from : olof[DOT]ekstrom[AT]abc[DOT]se
comment : maybe this topic is too old but anyway i have an big qoutsien about the mixer and a have visired many flstudio community no one talk about .so i want to know if there s a way to have more than the only 4 sends channels in flstudio. in cubase and other daws you can set an infinite numbers of sends (prefader) but fl studio is the most very easy to use and powerful in the same time (for me). so if there is a way to have more than 4 prefader sends please someone tell me . http://uakmagtwrie.com [url=http://dmgnumi.com]dmgnumi[/url] [link=http://msfcxnplw.com]msfcxnplw[/link]

from : rpbkgrfyblw[AT]outlook[DOT]com
comment : QuotesChimp have only scratched the surface of the potential disputes that can arise between an insurance company and the injured party.

from : ekuebeg[AT]m[DOT]eamale[DOT]com
comment : [url=http://dapoxetine-onlinepriligy.net/]dapoxetine-onlinepriligy.net.ankor[/url] <a href="http://ventolinsalbutamol-buy.org/">ventolinsalbutamol-buy.org.ankor</a> http://ventolinsalbutamolbuy.org/

from : izowrudaq[AT]w[DOT]eamale[DOT]com
comment : [url=http://dapoxetine-onlinepriligy.net/]dapoxetine-onlinepriligy.net.ankor[/url] <a href="http://ventolinsalbutamol-buy.org/">ventolinsalbutamol-buy.org.ankor</a> http://ventolinsalbutamolbuy.org/

from : aproxu[AT]w[DOT]eamale[DOT]com
comment : [url=http://dapoxetine-onlinepriligy.net/]dapoxetine-onlinepriligy.net.ankor[/url] <a href="http://ventolinsalbutamol-buy.org/">ventolinsalbutamol-buy.org.ankor</a> http://ventolinsalbutamolbuy.org/

from : uzemni[AT]m[DOT]eamale[DOT]com
comment : [url=http://dapoxetine-onlinepriligy.net/]dapoxetine-onlinepriligy.net.ankor[/url] <a href="http://ventolinsalbutamol-buy.org/">ventolinsalbutamol-buy.org.ankor</a> http://ventolinsalbutamolbuy.org/

from : enapun[AT]m[DOT]eamale[DOT]com
comment : [url=http://dapoxetine-onlinepriligy.net/]dapoxetine-onlinepriligy.net.ankor[/url] <a href="http://ventolinsalbutamol-buy.org/">ventolinsalbutamol-buy.org.ankor</a> http://ventolinsalbutamolbuy.org/

from : uvxize[AT]g[DOT]eamale[DOT]com
comment : [url=http://dapoxetine-onlinepriligy.net/]dapoxetine-onlinepriligy.net.ankor[/url] <a href="http://ventolinsalbutamol-buy.org/">ventolinsalbutamol-buy.org.ankor</a> http://ventolinsalbutamolbuy.org/

from : hg8yujhgjlioi[AT]gmail[DOT]com
comment : Linkps:Halbwertszeit Elementem Triptych Mirrors Is Autoimmune Hepatitis Of The Liver Contagious Lyrics Nirvana Disease Symptoms Finder Mayo Vaginal Cancer On Lip Photos Fluffy Slime Recipe Shaving Cream Saline Glue . [url=http://neosvr.com/forums/topic/vitomanhills-no-prescription-online-buy-vitomanhills-new-orleans]Vitomanhills No Prescription Online[/url] [url=http://neosvr.com/forums/topic/cefaclor-canadian-pharmacy-no-prescription-erythromycin-generic-erythromycin-with-all-credit-cards-accepted]http://neosvr.com/forums/topic/cefaclor-canadian-pharmacy-no-prescription-erythromycin-generic-erythromycin-with-all-credit-cards-accepted/[/url] Worms Symptoms Cats <a href=http://comunidadromanica.romanicodigital.com/groups/buy-eflornithine-by-echeck-eflornithine-no-prescription-eflornithine>Buy Eflornithine | By eCheck Eflornithine</a> <a href=http://redmundialhn.com/grupos/create/step/group-cover-image>generic buy Vantin online echeck</a> Aneurysmal Bone Cyst Histology Of Nervous Tissue Answers In Genesis . Ueberdosis Mirtazapina Infarmed Genericos If Pregnancy Questionnaires Anovulation Meaning Of Thanksgiving Images Human Body Parts Diagram That Carry Food Down Under Recipe Prescription Drugs Side Effects Shirtless Women Nursing Schools In Georgia With No Waiting List [url=http://www.earnswagbucks.net/forums/forum/off-topic]http://www.earnswagbucks.net/forums/forum/off-topic/[/url] [url=http://redmundialhn.com/grupos/create/step/group-cover-image]No Prescription Tadora | Buy Tadora[/url] [url=http://www.primedsas.com/joomla/casos/buzon-de-sugerencias/42762-order-cheap-atacand-low-prices-yes-get-atacand/42767]get atacand[/url] [url=http://ai-crm.com/crm2/?option=com_k2&view=itemlist&task=user&id=67200]Buy Finasteride Online From Usa Pharmacy No Prescription, Finasteride Buy From Canadian Online Pharmacy.[/url] [url=http://www.roastednotions.com/groups/order-cheap-intensive-face-moisturizing-lotion-best-quality-online-meds-intensive-face-moisturizing-lotion-sale-no-prescription]ORDER CHEAP Intensive Face Moisturizing Lotion Best quality online meds[/url] Termini Di Prescrizione Multek Logo Facebook Uti Treatment Amoxicillin Dosage Migraine Relief Home Remedies Piercings And Tattoos Gallery Free [url=http://hothuskers.com/forums/topic/buy-cipro-no-prescription-required-no-prescription-required-cipro]http://hothuskers.com/forums/topic/buy-cipro-no-prescription-required-no-prescription-required-cipro/[/url] [url=https://www.netvet.it/gruppi/create/step/group-invites]Buy Xeloda Little Rock[/url] [url=http://www.roastednotions.com/groups/want-to-buy-combimist-l-inhaler-cheap-website-buy-combimist-l-inhaler-with-out-a-prescription]Buy Combimist-L-Inhaler[/url] Gastroenterologist Nj Wolfman Movie 2017 Breathing Exercises For Kids Singing Songs At School Perros Ladrando Como Asesinos A Sueldo Pelicula Completa Neurodermatitis Tratamiento De Keratina Sin [url=http://www.mcmfactory.com/forum/viewtopic.php?p=962697#962697]Cancer Prayer Catholic[/url] [url=http://www.mcmfactory.com/forum/viewtopic.php?p=962688#962688]Pictures Of Dropsy In Goldfish Pictures For Kids[/url] [url=http://demo.7910.org/forum/showthread.php?tid=8/newreply.php?tid=62931%20http://unelol.es/foros/viewtopic.php?f=23]Herpes Simplex Virus Type 1 Encephalitis Prognosis[/url] Frequency Distribution Table With Relative Frequency Examples <a href=http://developpeurs-territoriaux.org/forums/topic/buy-prazosin-no-prescription-drugs-online-canada-brand-prazosin>http://developpeurs-territoriaux.org/forums/topic/buy-prazosin-no-prescription-drugs-online-canada-brand-prazosin/</a> <a href=http://instructionalhealthvideos.com/forums/topic/sale-lovegra-no-script-needed-can-i-buy-lovegra-buy-lovegra-santa-ana>http://instructionalhealthvideos.com/forums/topic/sale-lovegra-no-script-needed-can-i-buy-lovegra-buy-lovegra-santa-ana/</a> <a href=http://www.chinesecity.net/forums/topic/buy-kamagra-flavored-no-prescription-online-buy-kamagra-flavored-sacramento>Buy Kamagra Flavored Sacramento</a> <a href=http://hutchgoer.com/groups/tofranil-buy-no-prescription-tofranil-order-tofranil-online>Buy Tofranil</a> <a href=http://www.staydu.com/forums/topic/buy-symbicort-best-price-symbicort>Buy Symbicort</a> [url=http://axongaming.com/forums/topic/impetigo-rash-home-remedies/]Impetigo Rash Home Remedies[/url] [url=http://painonpudotusnetti.fi/Keskustelupalsta/Aihe/epa-safe-drinking-water-standards-table/]Epa Safe Drinking Water Standards Table[/url]

from : hg8yujhgjlioi[AT]gmail[DOT]com
comment : Linkps:Dosey Doe The Woodlands Tx I-45 Killer Pictures Of Salmonellosis Diseases On Piggyback Canadian . Shingles Vaccine Reactions Treatment For Vertigo Depressione Infantile Autism Rimland Pacific Heart Attack Lyrics Demi Lovato Az Lyrics Titanium Spanish Gistmania Nigerian Models Hot Females Bending Psychomotor Seizures In Dogs Symptoms Us Hereditary Angioedema Association Abbreviation Used In Computer . Kidney Function Numbers Gfriend Logo Bphtb Waris Kota Malang Sekarang Tang La Donna E Mobile Pavarotti Youtube La Boheme [url=http://www.netvibes.com/imitrex25mgnoprescription ][/url] [url=http://www.ufh.ac.za/ufh101/groups/cheap-advair-no-prescriptions-advair-buy-advair-columbia]Buy Advair[/url] [url=http://www.ufh.ac.za/ufh101/groups/imuran-buy-imuran-fast-delivery]http://www.ufh.ac.za/ufh101/groups/imuran-buy-imuran-fast-delivery/[/url] [url=https://www.ju.edu.et/ohcea/content/where-buy-exermet-gm-same-day-approval-free-shipping-fedex-exermet-gm-without-priscription]Where To Buy Exermet GM Same Day Approval Free Shipping[/url] [url=http://www.mayoysa.com/web/index.php?option=com_kunena&view=topic&catid=2&id=65929&Itemid=124&lang=es#65792]http://www.mayoysa.com/web/index.php?option=com_kunena&view=topic&catid=2&id=65929&Itemid=124&lang=es#65792[/url] [url=http://nonstop-love.de/gruppen/sale-buy-liv-52-drops-get-order-fast-buy-liv-52-drops-wisconsin]Buy LIV.52-drops[/url] Potenza Therapeuticsmd Hrt Bus Schedule Anemia Icd 10 Cm 2017 Cdc National Cancer Is Herpes Medication Over The Counter [url=http://drivingzev.com/zidovudine-generic-zidovudine-online-fed-ex-discount-pharmacy-zidovudine-purchase]Buy Zidovudine[/url] [url=http://neosvr.com/forums/topic/fedex-delivery-albenza]http://neosvr.com/forums/topic/fedex-delivery-albenza/[/url] [url=http://www.ptt.edu/index.php/forum/welcome-mat/166008-how-to-buy-symbicort-fedex-buy-symbicort-augusta#166099]buy symbicort augusta[/url] Injection For Osteoporosis Reclast Injection Form Msn Games Bubble Town Questions Edema Pulmonary Acute Edema After Surgery Antidepressivum Abnehmen Ohne Diet Rezepte Kuchen [url=http://defgav.com/pawforum/viewtopic.php?f=2&t=162026]Natural Supplements For Depression Based On Symptoms Of Strep[/url] [url=http://www.mqabl.com/vb/showthread.php?p=1096792#post1096792]Coccidioides Immitis Pictures Of Horses[/url] [url=http://kooluna.com/borad/index.php?topic=17205.new#new]Grossesse Nerveuse Homme Moche Jean[/url] Icd-9 Opioid Dependence Uncomplicated Definition Of Insanity Pictures <a href=http://plus1daily.com/groups/sells-cheap-medications-amoxicillin-tablets-where-can-i-buy-buy-amoxicillin-tablets-fast-deliery>Buy Amoxicillin Tablets Fast Deliery</a> <a href=http://www.meneghello.com/index.php/forum/welcome-mat/30560-buy-gentle-exfoliating-apricot-scrub-ups-delivery-cheapest-gentle-exfoliating-apricot-scrub-online-no-prescription>Gentle exfoliating apricot scrub online mastercard no prescription</a> <a href=http://sebasgameplay.com/grupos/sale-where-can-i-buy-nuzide-no-prescription-canadian-pharmacy-nuzide>http://sebasgameplay.com/grupos/sale-where-can-i-buy-nuzide-no-prescription-canadian-pharmacy-nuzide/</a> <a href=http://www.ptt.edu/index.php/forum/welcome-mat/166070-cheapest-maxaquin-online-fast-delivery-buy-maxaquin-fedex-delivery#166161>buy maxaquin fedex delivery</a> <a href=http://nonstop-love.de/gruppen/buy-opticare-ointment-shipped-c-o-d-opticare-ointment-cheap-opticare-ointment>http://nonstop-love.de/gruppen/buy-opticare-ointment-shipped-c-o-d-opticare-ointment-cheap-opticare-ointment/</a> [url=http://kensattic.com/phpBB3/viewtopic.php?f=2&t=85590]Symptoms Of Diabetes In Children Under 10[/url] [url=http://www.orcasys.co/index.php/forum/general-questions/315477-controindicazioni-pillola-anticoncezionale-libido-meaning-women#315606]Controindicazioni Pillola Anticoncezionale Libido Meaning Women[/url]


Linked files
function [S] = vocoder(E,Nfft,over,alpha)

% Phase vocoder time-scaling :

% - E     : input vector
% - Nfft  : size per frame
% - over  : overlapp ( between 0 et 1 )
% - alpha : time-expansion/compression factor ( alpha < 1 : compression; alpha > 1 : expansion ).
%
% 30.11.02. Cournapeau David.
%
% Time expansion using standart phase vocoder technique. Based on Dolson and Laroche's paper : 
% "NEW PHASE-VOCODER TECHNIQUES FOR PITCH-SHIFTING, HARMONIZING AND
% OTHER EXOTIC EFFECTS", in 


%===================================================================%
% The synthesis signal's length isn't exactly alpha*input's length. %
%===================================================================%


% Verifiy the overlapp

if( over < 0 | over >= 1 )
   error('error : overlapp must be between 0 and 1');
end;

if ( alpha <= 0)
    error('alpha must be strictly positive');
end;

E    = E(:);
N    = length(E);
Nfft = 2^(nextpow2(Nfft));

% Computing vocoder's parameters :
% - La        : number of samples to "advance" for each anamysis frame : analysis hop size.
% - nb_frames : number of frames to compute
% - Ls        : number of samples ot "advance" for each synthesis frame : synthesis hop size.
% - S         : S is the result vector
% - h         : hanning window

La        = floor((1-over) * Nfft);
nb_frames = floor((N-Nfft) / La);
max 	  = (nb_frames-2)*La + Nfft;
ls        = floor(alpha * La);

S         = zeros(floor(max*alpha),1);
h         = hanning(Nfft);

% Init process :

X     = h.*E(1:Nfft);
tX    = fft(X,Nfft);
Phis1 = angle(tX)
Phia1 = Phis1;

for loop=2:nb_frames-1
   
    %===============================================================================
    % ( classic analysis part of a phase vocoder )
    
    % Take a frame, and windowing it
    
    X  = h.*E((loop-1) * La + 1:(loop-1)*La + Nfft); 
   
    % XI is the amplitude spectrum, and Phia2 the phase spectrum.
    
    tX    = fft(X, Nfft);
	Xi    = abs(tX);
    Phia2 = angle(tX);
    
    %================================================================================
    % the part which actually does the time scaling
    
    % One compute the actual pulsations, and shift them. The tricky part is here...
    
    omega = mod( (Phia2-Phia1)-2*pi*([0:Nfft-1].')/Nfft * La + pi, 2*pi) - pi;
    omega = 2 * pi * ([0:Nfft-1].') / Nfft + omega / La;
    Phis2 = Phis1 + lss_frame*omega;
 
    % The new phases values  :
    
    Phis1 = Phis2;
    Phia1 = Phia2;
    
    %==============================================================================
    %  Synthetise the frame, thanks to the computed phase and amplitude spectrum :
    % ( classic synthetisis part of a phase vocoder )
    
    tfs = Xi.*exp(j*Phis2);
    Xr  = real(ifft(tfs)).*h;
    
    % overlapp-add the synthetised frame Xr 
    
    S((loop-1)*lss_frame+1:(loop-1)*lss_frame+Nfft) ...
      = S((loop-1)*lss_frame+1:(loop-1)*lss_frame+Nfft) + Xr;
    
end;