pv - yet another phase vocoder


What's new?

What is pv?

pv in WaoN project is yet another phase vocoder implementation for my understanding of the process behind WaoN and others. Here is what you can do:

Several schemes are implemented:

Download

pv is included since Release 0.4. Please visit File Releases @ SF. Or you can get directory from CVS Repository.

Installation

To install the program "pv",

  1. take a look at "Makefile" and edit it if necessary.
  2. invoke "make pv", for example.
  3. you'll see an excutable "pv". copy it wherever you want.
  4. install man page "pv.1".

library

To build "pv", you need the following libraries:

Screenshot

Now, pv has CUI by curses. Here's the screenshot:

========== pv ==========
 file       : test.wav
 current    : 0000064512 / 0043885440
 loop       : 0000000000 - 0043885439    < > by cur, [ { expand } ]

 rate       : 1.0                        LEFT / RIGHT
 pitch      : C  +0 ( +0)                UP   / DOWN

 phase-lock : off                        L / N

 window     : hanning                    W
 fft-len    : 002048
 hop(syn)   : 000512                     H / h
 hop(ana)   : 000512
 hop(res)   : 000512

 status     : stop                       SPACE
----------------------------------------
 Welcome WaoN-pv in curses mode.

Here's a help screen:

$ ./pv --help
WaoN-pv - yet-another phase vocoder, Version 0.9

Copyright (C) 1998-2007 Kengo Ichiki <kengoichiki@gmail.com>
Web: http://waon.sourceforge.net/

WaoN-pv is yet-another phase vocoder, with which you can do time-strech 
and pitch-shift an sound file.

Usage: ./pv [option ...]

Options:
  -h, --help    print this help.
  -v, --version print version information.
OPTIONS FOR FILES
  -i, --input   input file (default: stdin)
  -o, --output  output file in flac (default: play audio by ao)
FFT OPTIONS
  -n            FFT data number (default: 2048)
  -w --window   0 no window
                1 parzen window
                2 welch window
                3 hanning window (default)
                4 hamming window
                5 blackman window
                6 steeper 30-dB/octave rolloff window
PHASE-VOCODER OPTIONS
  -hop          hop number (default: 512)
  -rate         synthesize rate; larger is faster (default: 1.0)
  -pitch        pitch shift. +1/-1 is half-note up/down (default: 0)
  -scheme       give the number for PV scheme
                1 : conventional PV
                2 : PV by complex arithmetics with fixed hops
                3 : Puckette's loose-locking PV
                4 : Puckette's loose-locking PV by complex with fixed hops
                5 : PV with fixed hops by Ellis
                6 : PV in freq. domain
                7 : plain superimpose (no-FFT)
                0 : interactive PV with curses (default)
KEY BINDINGS IN CURSES MODE (with -scheme 0, the default)
        SPACE        : play / stop
        < >          : set loop range
        [{ }]        : expand the loop range
        L l          : phase-lock on / off
        W w          : change window
        H h          : hop-size up / down
        UP / DOWN    : pitch up / down
        LEFT / RIGHT : pitch up / down
        R r HOME     : reset parameters
        N n          : toggle for no-FFT mode
        Q q          : quit

ToDo List

References

History