1- # PyWorldVocoder< br /> A Python wrapper for World Vocoder
1+ # PyWorldVocoder - A Python wrapper for World Vocoder
22
33
44| ** ` Linux ` ** |
99Morise's World Vocoder is a fast and high-quality vocoder.
1010World Vocoder parameterizes speech into three components:
1111
12- 5 . Pitch (fundamental frequency, F0) contour
13- 2 . smoothed spectrogram
14- 3 . aperiodicity
12+ 1 . Pitch (fundamental frequency, F0) contour
13+ 2 . Harmonic spectral envelope
14+ 3 . Aperiodic spectral envelope (relative to the harmonic spectral envelope)
1515
1616It can also resynthesize speech using these features (see examples below).
1717
1818For more information, please visit [ Morise's World repository] ( https://github.com/mmorise/World )
1919and the [ official website of World Vocoder] ( http://ml.cs.yamanashi.ac.jp/world/english/ )
2020
21- <br />
22-
2321
2422## I. APIs
2523
@@ -41,20 +39,20 @@ y = pw.synthesize(f0, sp, ap, fs, pyDioOpt.option['frame_period'])
4139f0, sp, ap, pyDioOpt = pw.wav2world(x, fs)
4240```
4341
44- <br />
4542
4643## II. Installation
4744### Environment/Dependencies
48- - Linux Ubuntu 14.04/16.04
49- - Python 2.7.6 /3.5
50- - Cython 0.24 (or later versions; required)
51- - Scipy
52- - Numpy
53- - argparse
54- - Matplotlib (optional; for demo.py only)
45+ - Linux Ubuntu 14.04/16.04, Windows
46+ - Python 2.7/3.5
47+ - Cython 0.24 (or later versions; required)
48+ - Numpy
49+ - argparse (optional; for demo.py only)
50+ - PySoundFile (optional; for demo.py only)
51+ - Matplotlib (optional; for demo.py only)
5552
5653You can simply install these by ` pip install -r requirements.txt `
5754
55+
5856### Installation procedures
5957``` bash
6058pip install -U pip
@@ -64,49 +62,48 @@ cd Python-Wrapper-for-World-Vocoder
6462bash download_vocoder.sh
6563python setup.py install
6664```
67- It will automatically ` git clone ` Morise's World Vocoder (C++ version).
68- <br />
65+ It will automatically ` git clone ` Morise's World Vocoder (C++ version).< br />
66+ Alternatively you can clone or download the World repository manually and copy its "src" directory to this repositories directory. <br />
6967As for installation mode (the last line), you can choose from the following options.
7068
7169
7270### Installation Mode
73- 9 . If you want to "install" this package, try <br />
74- ` python setup.py install `
75- (add ` --user ` if you don't have root access)
76- 0 . If you just want to try out some experiments, execute
77- ` python setup.py build_ext --inplace ` <br />
71+ 1 . If you want to "install" this package, try<br />
72+ ` python setup.py install ` < br />
73+ (add ` --user ` if you don't have root access)
74+ 2 . If you just want to try out some experiments, execute< br />
75+ ` python setup.py build_ext --inplace ` <br />
7876 Then you can use PyWorld from this directory.<br />
79- You can also copy the resulting ** pyworld.so** file to
80- ` ~/.local/lib/python2.7/site-packages ` <br />
81- so that you can use it everywhere like an installed package.
77+ You can also copy the resulting ** pyworld.so** (pyworld.{arch}.pyd on Windows) file to
78+ ` ~/.local/lib/python2.7/site-packages ` (or corresponding Windows directory)
79+ so that you can use it everywhere like an installed package.<br />
80+ Alternatively you can copy/symlink the compiled files using pip, e.g. ` pip install -e . `
8281
8382
8483### Validation
85- You can validate installation by running
86- ` python demo.py `
84+ You can validate installation by running
85+ ` python demo.py `
8786to see if you get results in ` test/ ` direcotry.
8887
89- <br />
9088
9189## Troubleshooting
92- 0 . Upgrade your Cython version to 0.24.<br />
90+ 1 . Upgrade your Cython version to 0.24.<br />
9391 (I failed to build it on Cython 0.20.1post0)<br />
94- It'll require you to download Cython form http://cython.org/ <br />
92+ It'll require you to download Cython form http://cython.org/ <br />
9593 Unzip it, and ` python setup.py install ` it.<br />
9694 (I tried ` pip install Cython ` but the upgrade didn't seem correct)<br />
97- (Again, add ` --user ` if you don't have root access.)
95+ (Again, add ` --user ` if you don't have root access.)
96+ 2 . The following code might be needed in some configurations:
9897
99- 1 . The following code might be needed in some configurations:
100- ``` python
101- import matplotlib
102- matplotlib.use(' Agg' )
103- ```
98+ ``` python
99+ import matplotlib
100+ matplotlib.use(' Agg' )
101+ ```
104102
105- <br />
106103
107104## Note:
1081051 . This wrapper is an updated version of sotelo's "world.py"<br />
109- https://github.com/sotelo/world.py
106+ https://github.com/sotelo/world.py
110107
111108## TODO List
112109
0 commit comments