Skip to content

Commit 82a2a86

Browse files
authored
Merge pull request #113 from readbeyond/devel
aeneas v1.6.0
2 parents d7dbb8c + 481bc6b commit 82a2a86

File tree

416 files changed

+44474
-4191
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

416 files changed

+44474
-4191
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ bak
1010
build
1111
dist
1212
docs/build
13+
venvs
1314
tmp
1415

1516
# service scripts

MANIFEST.in

+3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
recursive-include aeneas/cdtw *
22
recursive-include aeneas/cew *
3+
recursive-include aeneas/cfw *
34
recursive-include aeneas/cint *
45
recursive-include aeneas/cmfcc *
56
recursive-include aeneas/cwave *
67
recursive-include aeneas/extra *
78
prune aeneas/extra/ctw_speect
89
recursive-include aeneas/res *
910
recursive-include aeneas/tools/res *
11+
recursive-include aeneas/ttswrappers *
1012
include aeneas_check_setup.py
1113
recursive-include bin *
1214
recursive-include docs *
@@ -18,6 +20,7 @@ include output/.gitignore
1820
include README.md
1921
include README.rst
2022
include requirements.txt
23+
include setupmeta.py
2124
recursive-include thirdparty *
2225
include VERSION
2326
recursive-include wiki *

README.md

+23-35
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
**aeneas** is a Python/C library and a set of tools to automagically synchronize audio and text (aka forced alignment).
44

5-
* Version: 1.5.1.0
6-
* Date: 2016-07-25
5+
* Version: 1.6.0.0
6+
* Date: 2016-09-26
77
* Developed by: [ReadBeyond](http://www.readbeyond.it/)
88
* Lead Developer: [Alberto Pettarin](http://www.albertopettarin.it/)
99
* License: the GNU Affero General Public License Version 3 (AGPL v3)
@@ -61,8 +61,8 @@ or raw AUD/CSV/SSV/TSV/TXT/XML for further processing.
6161
2. [Python](https://python.org/) 2.7 (Linux, OS X, Windows) or 3.4 or later (Linux, OS X)
6262
3. [FFmpeg](https://www.ffmpeg.org/)
6363
4. [eSpeak](http://espeak.sourceforge.net/)
64-
5. Python modules `BeautifulSoup4`, `lxml`, and `numpy`
65-
6. Python C headers to compile the Python C extensions (optional but strongly recommended)
64+
5. Python packages `BeautifulSoup4`, `lxml`, and `numpy`
65+
6. Python headers to compile the Python C/C++ extensions (optional but strongly recommended)
6666
7. A shell supporting UTF-8 (optional but strongly recommended)
6767

6868
### Supported Platforms
@@ -228,21 +228,22 @@ which explains how to use the built-in command line tools.
228228
* Arbitrary text fragment granularity (single word, subphrase, phrase, paragraph, etc.)
229229
* Input audio file formats: all those readable by `ffmpeg`
230230
* Output sync map formats: AUD, CSV, EAF, JSON, SMIL, SRT, SSV, SUB, TSV, TTML, TXT, VTT, XML
231-
* Confirmed working on languages: ARA, BUL, CAT, CYM, CES, DAN, DEU, ELL, ENG, EPO, EST, FAS, FIN, FRA, GLE, GRC, HRV, HUN, ISL, ITA, JPN, LAT, LAV, LIT, NLD, NOR, RON, RUS, POL, POR, SLK, SPA, SRP, SWA, SWE, TUR, UKR
231+
* Confirmed working on 37 languages: ARA, BUL, CAT, CYM, CES, DAN, DEU, ELL, ENG, EPO, EST, FAS, FIN, FRA, GLE, GRC, HRV, HUN, ISL, ITA, JPN, LAT, LAV, LIT, NLD, NOR, RON, RUS, POL, POR, SLK, SPA, SRP, SWA, SWE, TUR, UKR
232232
* MFCC and DTW computed via Python C extensions to reduce the processing time
233-
* Several built-in TTS engine wrappers: eSpeak (default, FLOSS), Festival (FLOSS), Nuance TTS API (commercial)
233+
* Several built-in TTS engine wrappers: eSpeak (default), eSpeak-ng, Festival, Nuance TTS API
234234
* Default TTS (eSpeak) called via a Python C extension for fast audio synthesis
235-
* A custom, user-provided TTS engine Python wrapper can be used instead of the built-in ones (included example for speect)
235+
* Possibility of running a custom, user-provided TTS engine Python wrapper (e.g., included example for speect)
236236
* Batch processing of multiple audio/text pairs
237237
* Download audio from a YouTube video
238238
* In multilevel mode, recursive alignment from paragraph to sentence to word level
239+
* In multilevel mode, time resolution and/or TTS engine can be specified for each level independently
239240
* Robust against misspelled/mispronounced words, local rearrangements of words, background noise/sporadic spikes
240241
* Adjustable splitting times, including a max character/second constraint for CC applications
241242
* Automated detection of audio head/tail
242243
* Output an HTML file for fine tuning the sync map manually (`finetuneas` project)
243244
* Execution parameters tunable at runtime
244245
* Code suitable for Web app deployment (e.g., on-demand cloud computing)
245-
* Extensive test suite including 898 unit/integration/performance tests, that run and must pass before each release
246+
* Extensive test suite including 800+ unit/integration/performance tests, that run and must pass before each release
246247
247248
248249
## Limitations and Missing Features
@@ -299,37 +300,21 @@ Feel free to
299300
300301
### Contributing
301302
302-
If you think you found a bug,
303+
If you think you found a bug
304+
or you have a feature request,
303305
please use the
304306
[GitHub issue tracker](https://github.com/readbeyond/aeneas/issues)
305-
to file a bug report.
307+
to submit it.
306308
307-
If you are able to contribute code directly, that is awesome!
308-
I will be glad to merge it!
309-
Just a few rules, to make life easier for both you and me:
309+
If you want to ask a question
310+
about using **aeneas**,
311+
your best option consists in sending an email to the
312+
[mailing list](https://groups.google.com/d/forum/aeneas-forced-alignment).
310313
311-
1. Please do not work on the `master` branch.
312-
Instead, create a new branch on your GitHub repo
313-
by cheking out the `devel` branch.
314-
Open a pull request from your branch on your repo
315-
to the `devel` branch on this GitHub repo.
316-
317-
2. Please make your code consistent with
318-
the existing code base style
319-
(see the
320-
[Google Python Style Guide](https://google-styleguide.googlecode.com/svn/trunk/pyguide.html)
321-
), and test your contributed code
322-
against the unit tests
323-
before opening the pull request.
324-
325-
3. Ideally, add some unit tests for the code you are submitting,
326-
either adding them to the existing unit tests or creating a new file
327-
in `aeneas/tests/`.
328-
329-
4. **Please note that, by opening a pull request,
330-
you automatically agree to apply
331-
the AGPL v3 license
332-
to the code you contribute.**
314+
Finally, code contributions are welcome!
315+
Please refer to the
316+
[Code Contribution Guide](https://github.com/readbeyond/aeneas/blob/master/wiki/CONTRIBUTING.md)
317+
for details about the branch policies and the code style to follow.
333318
334319
335320
## Acknowledgments
@@ -347,6 +332,9 @@ for its asynchronous usage.
347332
**Chris Hubbard** prepared the files for
348333
packaging aeneas as a Debian/Ubuntu `.deb`.
349334
335+
**Daniel Bair** prepared the `brew` formula
336+
for installing **aeneas** and its dependencies on Mac OS X.
337+
350338
**Daniel Bair**, **Chris Hubbard**, and **Richard Margetts**
351339
packaged the installers for Mac OS X and Windows.
352340

README.rst

+25-33
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ aeneas
44
**aeneas** is a Python/C library and a set of tools to automagically
55
synchronize audio and text (aka forced alignment).
66

7-
- Version: 1.5.1.0
8-
- Date: 2016-07-25
7+
- Version: 1.6.0.0
8+
- Date: 2016-09-26
99
- Developed by: `ReadBeyond <http://www.readbeyond.it/>`__
1010
- Lead Developer: `Alberto Pettarin <http://www.albertopettarin.it/>`__
1111
- License: the GNU Affero General Public License Version 3 (AGPL v3)
@@ -74,8 +74,8 @@ System Requirements
7474
later (Linux, OS X)
7575
3. `FFmpeg <https://www.ffmpeg.org/>`__
7676
4. `eSpeak <http://espeak.sourceforge.net/>`__
77-
5. Python modules ``BeautifulSoup4``, ``lxml``, and ``numpy``
78-
6. Python C headers to compile the Python C extensions (optional but
77+
5. Python packages ``BeautifulSoup4``, ``lxml``, and ``numpy``
78+
6. Python headers to compile the Python C/C++ extensions (optional but
7979
strongly recommended)
8080
7. A shell supporting UTF-8 (optional but strongly recommended)
8181

@@ -235,22 +235,24 @@ Supported Features
235235
- Input audio file formats: all those readable by ``ffmpeg``
236236
- Output sync map formats: AUD, CSV, EAF, JSON, SMIL, SRT, SSV, SUB,
237237
TSV, TTML, TXT, VTT, XML
238-
- Confirmed working on languages: ARA, BUL, CAT, CYM, CES, DAN, DEU,
238+
- Confirmed working on 37 languages: ARA, BUL, CAT, CYM, CES, DAN, DEU,
239239
ELL, ENG, EPO, EST, FAS, FIN, FRA, GLE, GRC, HRV, HUN, ISL, ITA, JPN,
240240
LAT, LAV, LIT, NLD, NOR, RON, RUS, POL, POR, SLK, SPA, SRP, SWA, SWE,
241241
TUR, UKR
242242
- MFCC and DTW computed via Python C extensions to reduce the
243243
processing time
244-
- Several built-in TTS engine wrappers: eSpeak (default, FLOSS),
245-
Festival (FLOSS), Nuance TTS API (commercial)
244+
- Several built-in TTS engine wrappers: eSpeak (default), eSpeak-ng,
245+
Festival, Nuance TTS API
246246
- Default TTS (eSpeak) called via a Python C extension for fast audio
247247
synthesis
248-
- A custom, user-provided TTS engine Python wrapper can be used instead
249-
of the built-in ones (included example for speect)
248+
- Possibility of running a custom, user-provided TTS engine Python
249+
wrapper (e.g., included example for speect)
250250
- Batch processing of multiple audio/text pairs
251251
- Download audio from a YouTube video
252252
- In multilevel mode, recursive alignment from paragraph to sentence to
253253
word level
254+
- In multilevel mode, time resolution and/or TTS engine can be
255+
specified for each level independently
254256
- Robust against misspelled/mispronounced words, local rearrangements
255257
of words, background noise/sporadic spikes
256258
- Adjustable splitting times, including a max character/second
@@ -261,7 +263,7 @@ Supported Features
261263
- Execution parameters tunable at runtime
262264
- Code suitable for Web app deployment (e.g., on-demand cloud
263265
computing)
264-
- Extensive test suite including 898 unit/integration/performance
266+
- Extensive test suite including 800+ unit/integration/performance
265267
tests, that run and must pass before each release
266268

267269
Limitations and Missing Features
@@ -333,31 +335,18 @@ Feel free to `get in touch <mailto:[email protected]>`__.
333335
Contributing
334336
~~~~~~~~~~~~
335337

336-
If you think you found a bug, please use the `GitHub issue
337-
tracker <https://github.com/readbeyond/aeneas/issues>`__ to file a bug
338-
report.
338+
If you think you found a bug or you have a feature request, please use
339+
the `GitHub issue
340+
tracker <https://github.com/readbeyond/aeneas/issues>`__ to submit it.
339341

340-
If you are able to contribute code directly, that is awesome! I will be
341-
glad to merge it! Just a few rules, to make life easier for both you and
342-
me:
342+
If you want to ask a question about using **aeneas**, your best option
343+
consists in sending an email to the `mailing
344+
list <https://groups.google.com/d/forum/aeneas-forced-alignment>`__.
343345

344-
1. Please do not work on the ``master`` branch. Instead, create a new
345-
branch on your GitHub repo by cheking out the ``devel`` branch. Open
346-
a pull request from your branch on your repo to the ``devel`` branch
347-
on this GitHub repo.
348-
349-
2. Please make your code consistent with the existing code base style
350-
(see the `Google Python Style
351-
Guide <https://google-styleguide.googlecode.com/svn/trunk/pyguide.html>`__
352-
), and test your contributed code against the unit tests before
353-
opening the pull request.
354-
355-
3. Ideally, add some unit tests for the code you are submitting, either
356-
adding them to the existing unit tests or creating a new file in
357-
``aeneas/tests/``.
358-
359-
4. **Please note that, by opening a pull request, you automatically
360-
agree to apply the AGPL v3 license to the code you contribute.**
346+
Finally, code contributions are welcome! Please refer to the `Code
347+
Contribution
348+
Guide <https://github.com/readbeyond/aeneas/blob/master/wiki/CONTRIBUTING.md>`__
349+
for details about the branch policies and the code style to follow.
361350

362351
Acknowledgments
363352
---------------
@@ -373,6 +362,9 @@ asynchronous usage.
373362
**Chris Hubbard** prepared the files for packaging aeneas as a
374363
Debian/Ubuntu ``.deb``.
375364

365+
**Daniel Bair** prepared the ``brew`` formula for installing **aeneas**
366+
and its dependencies on Mac OS X.
367+
376368
**Daniel Bair**, **Chris Hubbard**, and **Richard Margetts** packaged
377369
the installers for Mac OS X and Windows.
378370

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.5.1
1+
1.6.0

aeneas/README.md

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
# aeneas Main Library
22

3-
This Python module (directory) contains the main ``aeneas`` library.
3+
This Python package contains the main ``aeneas`` library.
44

5-
Unit tests are contained in the ``aeneas.tests`` submodule.
5+
Wrappers for the built-in TTS engines are located
6+
in the ``aeneas.ttswrappers`` subpackage.
67

7-
The ``aeneas.tools`` submodule define several command line tools
8+
The ``aeneas.tools`` subpackage define several command line tools
89
which use the main ``aeneas`` library.
910

10-
11+
Unit tests are contained in the ``aeneas.tests`` subpackage.
1112

aeneas/__init__.py

+22-5
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,38 @@
11
#!/usr/bin/env python
22
# coding=utf-8
33

4+
# aeneas is a Python/C library and a set of tools
5+
# to automagically synchronize audio and text (aka forced alignment)
6+
#
7+
# Copyright (C) 2012-2013, Alberto Pettarin (www.albertopettarin.it)
8+
# Copyright (C) 2013-2015, ReadBeyond Srl (www.readbeyond.it)
9+
# Copyright (C) 2015-2016, Alberto Pettarin (www.albertopettarin.it)
10+
#
11+
# This program is free software: you can redistribute it and/or modify
12+
# it under the terms of the GNU Affero General Public License as published by
13+
# the Free Software Foundation, either version 3 of the License, or
14+
# (at your option) any later version.
15+
#
16+
# This program is distributed in the hope that it will be useful,
17+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
18+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19+
# GNU Affero General Public License for more details.
20+
#
21+
# You should have received a copy of the GNU Affero General Public License
22+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
23+
424
"""
525
**aeneas** is a Python/C library and a set of tools
626
to automagically synchronize audio and text (aka forced alignment).
727
"""
828

929
__author__ = "Alberto Pettarin"
30+
__email__ = "[email protected]"
1031
__copyright__ = """
1132
Copyright 2012-2013, Alberto Pettarin (www.albertopettarin.it)
1233
Copyright 2013-2015, ReadBeyond Srl (www.readbeyond.it)
1334
Copyright 2015-2016, Alberto Pettarin (www.albertopettarin.it)
1435
"""
1536
__license__ = "GNU AGPL v3"
16-
__version__ = "1.5.1"
17-
__email__ = "[email protected]"
1837
__status__ = "Production"
19-
20-
21-
38+
__version__ = "1.6.0"

0 commit comments

Comments
 (0)