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.44k stars 218 forks source link

Syncmap returns entire audio clip without splitting lines #303

Closed stirlingcarter closed 10 months ago

stirlingcarter commented 10 months ago

Hi, I'm using a clear TTS mp3 of the following blurb.

October has a Friday the 13th this year. Only time in my schedule for one Jason movie, Which is the best one? Id love to do a power binge through the series but dont have the time. Too many Halloween things to cram into one month. Friday the 13th we want to watch one Jason movie but its been ages and dont recall much of the series. Which did you think was the most entertaining as a whole? Not necessarily the best movie, but the most entertaining? Original 80's movies, Jason goes to Hell, Jason X, Freddy vs Jason, and the 2009 reboot all fair game.

But unfortunately, I can't seem to get any results for my syncmap other than:

Syncmap content: {
 "fragments": [
  {
   "begin": "0.000",
   "children": [],
   "end": "34.480",
   "id": "f000001",
   "language": "eng",
   "lines": [
    "October has a Friday the 13th this year. Only time in my schedule for one Jason movie, Which is the best one? Id love to do a power binge through the series but dont have the time. Too many Halloween things to cram into one month. Friday the 13th we want to watch one Jason movie but its been ages and dont recall much of the series. Which did you think was the most entertaining as a whole? Not necessarily the best movie, but the most entertaining? Original 80's movies, Jason goes to Hell, Jason X, Freddy vs Jason, and the 2009 reboot all fair game."
   ]
  }
 ]
}

Installation diagnostics results are favorable:

(myenv) [root@ip-172-31-63-198 aeneas]# python -m aeneas.diagnostics 
[INFO] ffprobe        OK
[INFO] ffmpeg         OK
[INFO] espeak         OK
[INFO] aeneas.tools   OK
[INFO] shell encoding OK
[INFO] aeneas.cdtw    AVAILABLE
[INFO] aeneas.cmfcc   AVAILABLE
[INFO] aeneas.cew     AVAILABLE
[INFO] All required dependencies are met and all available Python C extensions are working

The syncmap contents confirm that aeneas can read the content, as the length is correct. I am at a loss as to why I'm unable to produce results with this tool. Any ideas? I'm running the following snippet in an Amazon Linux 2 environment.

result = ExecuteTaskCLI(use_sys=False).run(arguments=[
                None, 
                audio_tempf.name,
                text_tempf.name,
                u"task_language=eng|is_text_type=plain|os_task_file_format=json",
                syncmap_tempf.name
            ])

            if result == 0: 
                print("Task executed successfully!")

                with open(syncmap_tempf.name, 'r') as f:
                    content = f.read()
                    print("Syncmap content:", content)

Using the python lib directly in the script produces the same results.

stirlingcarter commented 10 months ago

Closing this immediately after opening, maybe it can be helpful to a programmer as dense/poorly rested as myself ;) The program executed as expected, be sure to separate your intended lines with newlines