prosodylab / Prosodylab-Aligner

Python interface for forced audio alignment using HTK and SoX
http://prosodylab.org/tools/aligner/
MIT License
331 stars 77 forks source link

ERROR [+5010] InitSource: Cannot open source file OY0 #62

Closed nikhilxb closed 6 years ago

nikhilxb commented 7 years ago

I keep getting this error and can't figure out how to fix it. It seems like HTK is unable to find the phone OY0, despite my using the default `eng.yaml' settings.

Help much appreciated!

Including the Terminal output below:

Reading aligner from 'eng.zip'. Preparing corpus '../raw/prealign/'. Aligning corpus '../raw/prealign/'. ERROR [+5010] InitSource: Cannot open source file OY0 ERROR [+7010] LoadHMMSet: Can't find file ERROR [+3228] Initialise: LoadHMMSet failed FATAL ERROR - Terminating program HVite Traceback (most recent call last): File "/usr/local/miniconda3/lib/python3.6/runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "/usr/local/miniconda3/lib/python3.6/runpy.py", line 85, in _run_code exec(code, run_globals) File "/Users/Nikhil/Desktop/EVEVox/vox/data/prosodylab-align/aligner/__main__.py", line 130, in <module> aligner.align_and_score(corpus, aligned, scores) File "/Users/Nikhil/Desktop/EVEVox/vox/data/prosodylab-align/aligner/aligner.py", line 260, in align_and_score raise CalledProcessError(retcode, proc.args) subprocess.CalledProcessError: Command '['HVite', '-a', '-m', '-T', '1', '-o', 'SM', '-y', 'lab', '-b', 'sil', '-i', '../raw/prealign/.aligned.mlf', '-L', '/var/folders/wd/mv0h295x0dlfp72kkl1brv_h0000gn/T/tmp479n3oyk/label', '-C', '/var/folders/wd/mv0h295x0dlfp72kkl1brv_h0000gn/T/tmpn_4bkhah/HERest.cfg', '-S', '/var/folders/wd/mv0h295x0dlfp72kkl1brv_h0000gn/T/tmp479n3oyk/feature.scp', '-H', '/var/folders/wd/mv0h295x0dlfp72kkl1brv_h0000gn/T/tmpovp2bf8n/eng/macros', '-H', '/var/folders/wd/mv0h295x0dlfp72kkl1brv_h0000gn/T/tmpovp2bf8n/eng/hmmdefs', '-I', '/var/folders/wd/mv0h295x0dlfp72kkl1brv_h0000gn/T/tmp479n3oyk/words.mlf', '/var/folders/wd/mv0h295x0dlfp72kkl1brv_h0000gn/T/tmp479n3oyk/taskdict', '/var/folders/wd/mv0h295x0dlfp72kkl1brv_h0000gn/T/tmp479n3oyk/phons']' returned non-zero exit status 156

kylebgorman commented 7 years ago

Assuming you're using the default eng.yaml, I'd guess this indicates that you don't have any actual instances of this phone in your data, in which case the underlying HTK libraries will complain rather than failing gracefully. This is likely because OY is very rare, particularly when unstressed. If so, just delete that phone from the eng.yaml phoneme list and I believe things should behave?

On Thu, Jun 29, 2017 at 3:20 PM, Nikhil Bhattasali <notifications@github.com

wrote:

I keep getting this error and can't figure out how to fix it. It seems like HTK is unable to find the phone OY0, despite my using the default `eng.yaml' settings.

Help much appreciated!

Including the Terminal output below:

Reading aligner from 'eng.zip'. Preparing corpus '../raw/prealign/'. Aligning corpus '../raw/prealign/'. ERROR [+5010] InitSource: Cannot open source file OY0 ERROR [+7010] LoadHMMSet: Can't find file ERROR [+3228] Initialise: LoadHMMSet failed FATAL ERROR - Terminating program HVite Traceback (most recent call last): File "/usr/local/miniconda3/lib/python3.6/runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "/usr/local/miniconda3/lib/python3.6/runpy.py", line 85, in _run_code exec(code, run_globals) File "/Users/Nikhil/Desktop/EVEVox/vox/data/prosodylab-align/aligner/main.py", line 130, in aligner.align_and_score(corpus, aligned, scores) File "/Users/Nikhil/Desktop/EVEVox/vox/data/prosodylab-align/aligner/aligner.py", line 260, in align_and_score raise CalledProcessError(retcode, proc.args) subprocess.CalledProcessError: Command '['HVite', '-a', '-m', '-T', '1', '-o', 'SM', '-y', 'lab', '-b', 'sil', '-i', '../raw/prealign/.aligned.mlf', '-L', '/var/folders/wd/mv0h295x0dlfp72kkl1brvh0000gn/T/tmp479n3oyk/label', '-C', '/var/folders/wd/mv0h295x0dlfp72kkl1brv h0000gn/T/tmpn_4bkhah/HERest.cfg', '-S', '/var/folders/wd/ mv0h295x0dlfp72kkl1brv_h0000gn/T/tmp479n3oyk/feature.scp', '-H', '/var/folders/wd/mv0h295x0dlfp72kkl1brv_h0000gn/T/tmpovp2bf8n/eng/macros', '-H', '/var/folders/wd/mv0h295x0dlfp72kkl1brv_h0000gn/T/tmpovp2bf8n/eng/hmmdefs', '-I', '/var/folders/wd/mv0h295x0dlfp72kkl1brv_h0000gn/T/tmp479n3oyk/words.mlf', '/var/folders/wd/mv0h295x0dlfp72kkl1brv_h0000gn/T/tmp479n3oyk/taskdict', '/var/folders/wd/mv0h295x0dlfp72kkl1brv_h0000gn/T/tmp479n3oyk/phons']' returned non-zero exit status 156

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/prosodylab/Prosodylab-Aligner/issues/62, or mute the thread https://github.com/notifications/unsubscribe-auth/AAJuOTCM9BPNXiVqWItikxUYXU2Hl8TWks5sI_j2gaJpZM4OJwRI .

kylebgorman commented 6 years ago

Checking back up on this---could you update us with whether that helped, and if so close the issue?

nikhilxb commented 6 years ago

I was unable to get it to work and didn't invest much more time trying to figure it out. Sorry I can't be of more help, and thanks for following up.

jsmagnuson commented 4 years ago

This actually seems to happen if you HAVE items with OY0 in your alignment set. I had these two items in a set:

GEOID JH IY1 OY0 D VOISINE V OY0 Z IY1 N

And I had wav and lab files to go with them. I get the error described in the original post. If I change the instances of OY0 to OY1 in the .dict file, the error goes away. So it seems maybe HTK is not prepared to encounter OY0...

kylebgorman commented 4 years ago

Right, if you have a phoneme not seen in the training data, it's going to complain.

I don't command either of those as English words but I would probably use OY2 instead of OY1.

K

On Sun, Dec 22, 2019 at 9:10 AM jsmagnuson notifications@github.com wrote:

This actually seems to happen if you HAVE items with OY0 in your alignment set. I had these two items in a set:

GEOID JH IY1 OY0 D VOISINE V OY0 Z IY1 N

And I had wav and lab files to go with them. I get the error described in the original post. If I change the instances of OY0 to OY1 in the .dict file, the error goes away. So it seems maybe HTK is not prepared to encounter OY0...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/prosodylab/Prosodylab-Aligner/issues/62?email_source=notifications&email_token=AABG4OKRFFY3NDJXVLEUPFTQZ5YOBA5CNFSM4DRHAREKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHPQ7DY#issuecomment-568266639, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABG4ONQRQIOQXPTHQY7Y5LQZ5YOBANCNFSM4DRHAREA .