readbeyond / aeneas

aeneas is a Python/C library and a set of tools to automagically synchronize audio and text (aka forced alignment)
http://www.readbeyond.it/aeneas/
GNU Affero General Public License v3.0
2.49k stars 228 forks source link

aeneas v1.7.1+ is broken on Windows x64 #190

Open kelciour opened 6 years ago

kelciour commented 6 years ago

More precisely, Windows x64 and Python x64. It works fine with Python x86 but audio duration limit is much, much shorter (maybe ~30 minutes) in that case.

Maybe there's something wrong with DTWAligner because I noticed these lines in the log file:

[DEBU] DTWAligner: Number of MFCC frames in real wave: 95000
[DEBU] DTWAligner: Number of MFCC frames in synt wave: 66469

For comprasion, these lines from the exact same file but on Ubuntu where I got correct timings.

[DEBU] DTWAligner: Number of MFCC frames in real wave: 95000
[DEBU] DTWAligner: Number of MFCC frames in synt wave: 92897

How to produce:

mkdir output
set AENEAS_WITH_CEW=False
pip install aeneas
python -m aeneas.tools.execute_task --example-srt
copy audio.mp3 from aeneas/tools/res, rename it as sonnet.mp3 
     and open it in any media player that supports subtitles (mpv, for example)

The resulting file (sonnet.srt) will be completely out of sync with sonnet.mp3, but with aeneas v1.7.0 (pip install aeneas==1.7.0) it will produce the right timings and correct result.

I don't know if it is a bug or not but aeneas doesn't official supports Windows so I'll just leave it here for someone who tried to install it on Windows x64.

And thank you very much for this groundbreaking software. It's amazing!

readbeyond commented 6 years ago

Hi,

the x86 limitation is known and due to maximum contiguous allocation size, and I consider it a "won't fix" for aeneas v1.x. The next major, aeneas v2.x will have external memory (i.e., on-disk) support, addressing the issue on x86.

The other problem on x64 under Windows (10? 8? 7?) is definitely more alarming. At first, I thought of an issue with eSpeak, since the number of frames extracted is about 2/3 of what it should --- but since you say that v1.7.0 works fine, I doubt my guess. A second hypothesis is a regression in the MFCC C code, but on top of my head I do not see a reason for it, and that code is pretty much OS-agnostic.

Luckily I have some time during the next days AND a Window 7 x64 laptop with me to investigate the problem. Hopefully I will have at least a diagnosis soon, thank you for reporting,

Alberto Pettarin

On 12/28/2017 08:32 PM, Nickolay wrote:

More precisely, Windows x64 and Python x64. It works fine with Python x86 but audio duration limit is much, much shorter (maybe ~30 minutes) in that case.

Maybe there's something wrong with DTWAligner because I noticed these lines in the log file:

|[DEBU] DTWAligner: Number of MFCC frames in real wave: 95000 [DEBU] DTWAligner: Number of MFCC frames in synt wave: 66469 |

For comprasion, these lines from the exact same file but on Ubuntu when I got correct timings.

|[DEBU] DTWAligner: Number of MFCC frames in real wave: 95000 [DEBU] DTWAligner: Number of MFCC frames in synt wave: 92897 |

How to produce:

|mkdir output set AENEAS_WITH_CEW=False pip install aeneas python -m aeneas.tools.execute_task --example-srt copy audio.mp3 from aeneas/tools/res, rename it as sonnet.mp3 and open it in any media player that supports subtitles (mpv, for example) |

The resulting file (sonnet.srt) will be completely out of sync with sonnet.mp3, but with aeneas v1.7.0 (|pip install aeneas==1.7.0|) it will produce the right timings and correct result.

I don't know if it is a bug or not but aeneas doesn't official supports Windows so I'll just leave it here for someone who tried to install it on Windows x64.

And thank you very much for this groundbreaking software. It's amazing!

kelciour commented 6 years ago

Windows (10? 8? 7?)

Windows 10.

readbeyond commented 6 years ago

OK, thanks.

Unfortunately I have had no time to try reproduce the issue, but the upcoming weekend should be a good time for such a thing.

AP

On 12/28/2017 10:06 PM, Nickolay wrote:

Windows (10? 8? 7?)

Windows 10.

readbeyond commented 6 years ago

Thank you. There is definitely something wrong with aeneas 1.7.3 on win64, it will take time to dig.

AP

On 12/28/2017 10:06 PM, Nickolay wrote:

Windows (10? 8? 7?)

Windows 10.