3
3
** aeneas** is a Python library and a set of tools to automagically synchronize audio and text.
4
4
5
5
* Version: 1.4.0
6
- * Date: 2016-01-??
6
+ * Date: 2016-01-15
7
7
* Developed by: [ ReadBeyond] ( http://www.readbeyond.it/ )
8
8
* Lead Developer: [ Alberto Pettarin] ( http://www.albertopettarin.it/ )
9
9
* License: the GNU Affero General Public License Version 3 (AGPL v3)
@@ -107,6 +107,7 @@ However, **aeneas** has been confirmed to work on the following systems:
107
107
| Slackware | 64 | Yes | Unknown |
108
108
| Mac OS X 10.9 | 64 | Yes (1) | Unknown (1) |
109
109
| Mac OS X 10.10 | 64 | Yes (1) | Unknown (1) |
110
+ | Mac OS X 10.11 | 64 | Yes (1) | Unknown (1) |
110
111
| Windows Vista | 32 | Yes (1) | Yes (1, 2) |
111
112
| Windows 7 | 64 | Yes (1) | Yes (1, 2) |
112
113
| Windows 8.1 | 64 | Yes (1) | Unknown (1, 2) |
@@ -119,7 +120,7 @@ is available only on Linux at the moment.
119
120
is quite complex; however, running ** aeneas** in pure Python mode
120
121
has been confirmed to work.
121
122
122
- In any case , ** aeneas** should work on any OS, at least in pure Python mode,
123
+ Anyway , ** aeneas** should work on any OS, at least in pure Python mode,
123
124
provided that:
124
125
125
126
1 . the required Python modules ` BeautifulSoup4 ` , ` lxml ` , and ` numpy ` are installed, and
@@ -307,55 +308,55 @@ Feel free to jump to step 9 if you already have
307
308
1. Install ` aeneas` as described above. (Only the first time! )
308
309
309
310
2. Open a command prompt/shell/terminal and go to the root directory
310
- of the aeneas repository, that is, the one containing the ` README.md` and ` VERSION` files.
311
- (This step is not needed if you installed ` aeneas` with ` pip` ,
312
- since you will have the ` aeneas` module available system-wise.)
311
+ of the aeneas repository, that is, the one containing the ` README.md` and ` VERSION` files.
312
+ (This step is not needed if you installed ` aeneas` with ` pip` ,
313
+ since you will have the ` aeneas` module available system-wise.)
313
314
314
315
3. To compute a synchronization map ` map.json` for a pair
315
- (` audio.mp3` , ` text.txt` in ` plain` text format), you can run:
316
+ (` audio.mp3` , ` text.txt` in ` plain` text format), you can run:
316
317
317
318
` ` ` bash
318
319
$ python -m aeneas.tools.execute_task audio.mp3 text.txt " task_language=en|os_task_file_format=json|is_text_type=plain" map.json
319
320
` ` `
320
321
321
- The third parameter (the _configuration string_) can specify several parameters/options.
322
- See the [documentation](http://www.readbeyond.it/aeneas/docs/)
323
- or use the ` -h` switch for details.
324
-
325
- 4. To compute a synchronization map ` map.smil` for a pair
326
- (` audio.mp3` , ` page.xhtml` containing fragments marked by ` id` attributes like ` f001` ),
327
- you can run:
322
+ To compute a synchronization map ` map.smil` for a pair
323
+ (` audio.mp3` , ` page.xhtml` containing fragments marked by ` id` attributes like ` f001` ),
324
+ you can run:
328
325
329
326
` ` ` bash
330
327
$ python -m aeneas.tools.execute_task audio.mp3 page.xhtml " task_language=en|os_task_file_format=smil|os_task_file_smil_audio_ref=audio.mp3|os_task_file_smil_page_ref=page.xhtml|is_text_type=unparsed|is_text_unparsed_id_regex=f[0-9]+|is_text_unparsed_id_sort=numeric" map.smil
331
328
` ` `
332
329
333
- 5. If you have several tasks to run,
334
- you can create a job container and a configuration file,
335
- and run them all at once:
330
+ The third parameter (the _configuration string_) can specify several other parameters/options.
331
+ See the [documentation](http://www.readbeyond.it/aeneas/docs/)
332
+ or use the ` -h` switch for details.
333
+
334
+ 4. If you have several tasks to run,
335
+ you can create a job container and a configuration file,
336
+ and run them all at once:
336
337
337
338
` ` ` bash
338
339
$ python -m aeneas.tools.execute_job job.zip /tmp/
339
340
` ` `
340
341
341
- File ` job.zip` should contain a ` config.txt` or ` config.xml`
342
- configuration file, providing ** aeneas**
343
- with all the information needed to parse the input assets
344
- and format the output sync map files.
345
- See the [documentation](http://www.readbeyond.it/aeneas/docs/)
346
- or use the ` -h` switch for details.
342
+ File ` job.zip` should contain a ` config.txt` or ` config.xml`
343
+ configuration file, providing ** aeneas**
344
+ with all the information needed to parse the input assets
345
+ and format the output sync map files.
346
+ See the [documentation](http://www.readbeyond.it/aeneas/docs/)
347
+ or use the ` -h` switch for details.
347
348
348
- You might want to run ` execute_task` or ` execute_job`
349
- with ` -h` to get an usage message and some examples:
349
+ 5. You might want to run ` execute_task` or ` execute_job`
350
+ with ` -h` to get an usage message and some examples:
350
351
351
- ` ` ` bash
352
- $ python -m aeneas.tools.execute_task -h
353
- $ python -m aeneas.tools.execute_job -h
354
- ` ` `
352
+ ` ` ` bash
353
+ $ python -m aeneas.tools.execute_task -h
354
+ $ python -m aeneas.tools.execute_job -h
355
+ ` ` `
355
356
356
- See the [documentation](http://www.readbeyond.it/aeneas/docs/)
357
- for an introduction to the concepts of ` task` and ` job` ,
358
- and for the list of all the available options.
357
+ See the [documentation](http://www.readbeyond.it/aeneas/docs/)
358
+ for an introduction to the concepts of ` task` and ` job` ,
359
+ and for the list of all the available options.
359
360
360
361
361
362
# # Documentation
@@ -391,17 +392,19 @@ Changelog: [http://www.readbeyond.it/aeneas/docs/changelog.html](http://www.read
391
392
* Code suitable for a Web app deployment (e.g., on-demand AWS instances)
392
393
* Adjustable splitting times, including a max character/second constraint for CC applications
393
394
* Automated detection of audio head/tail
394
- * MFCC and DTW computed as Python C extensions to reduce the processing time
395
+ * MFCC and DTW computed via Python C extensions to reduce the processing time
395
396
* On Linux, ` espeak` called via a Python C extension for faster audio synthesis
396
397
* Output an HTML file (from ` finetuneas` project) for fine tuning the sync map manually
397
398
399
+
398
400
# # Limitations and Missing Features
399
401
400
402
* Audio should match the text: large portions of spurious text or audio might produce a wrong sync map
401
403
* Audio is assumed to be spoken: not suitable/YMMV for song captioning
402
404
* No protection against memory trashing if you feed extremely long audio files
403
405
* On Mac OS X and Windows, audio synthesis might be slow if you have thousands of text fragments
404
406
407
+
405
408
# # TODO List
406
409
407
410
* Improving robustness against music in background
0 commit comments