CSTR-Edinburgh / merlin

This is now the official location of the Merlin project.
http://www.cstr.ed.ac.uk/projects/merlin/
Apache License 2.0
1.31k stars 440 forks source link

Error encountered with voice_conversion #448

Closed djricafort closed 5 years ago

djricafort commented 5 years ago

I've installed all dependencies, tried using python 3.5 and 3.6 virtualenv. tried using anaconda environment but I still encounter this error. I've tried this using Ubuntu 16.04 and Ubuntu 18.04. this error occurs when executing ./03_align_src_with_target.sh for voice conversion here is the error log:

merlin/misc/scripts/voice_conversion/binary_io.py", line 30, in load_binary_file_frame
    features = features[:(dimension * frame_number)]
TypeError: slice indices must be integers or None or have an __index__ method
ZackHodari commented 5 years ago

You should look into the cause of this error. If the traceback says the indices are invalid, then either dimension or frame_number are wrong in some way.

My guess would be that frame_number is wrong from loading or saving a file. Check the contents of the file that is being loaded in case something went wrong in an earlier script.

djricafort commented 5 years ago

I fixed the error by downgrading numpy to numpy==1.11. However, when running ./05_train_acoustic_model.sh I now have this new error

WARNING (theano.tensor.blas): Using NumPy C-API based implementation for BLAS functions.
RuntimeError: module compiled against API version 0xc but this version of numpy is 0xa

upgrading numpy version to the latest would fix the error above but the output audio after voice conversion has no sound

ZackHodari commented 5 years ago

The version of numpy should not effect the original issue so I cannot know what has happened here without more information.

Did ./03_align_src_with_target.sh run correctly? What was the contents of dimension and frame_number?

djricafort commented 5 years ago

got it working now. In the file binary.io located at misc/scripts/voice_conversion, I changed line #29 to:

frame_number = int(features.size / dimension)