keonlee9420 / Expressive-FastSpeech2

PyTorch Implementation of Non-autoregressive Expressive (emotional, conversational) TTS based on FastSpeech2, supporting English, Korean, and your own languages.
Other
284 stars 47 forks source link

No such file or directory: './preparation/iemocap_fixed.txt' #6

Closed bagustris closed 2 years ago

bagustris commented 3 years ago

Hey, thanks for a great repository!

I tried to replicate your experiment for IEMOCAP data. I already have this dataset and experiment with this data for speech emotion recognition. However, I got the following error when running command:

$ python3 prepare_align.py config/IEMOCAP/preprocess.yaml
Traceback (most recent call last):
  File "prepare_align.py", line 21, in <module>
    main(config)
  File "prepare_align.py", line 12, in main
    iemocap.prepare_align(config)
  File "/home/aad13432ni/github/Expressive-FastSpeech2/preprocessor/iemocap.py", line 33, in prepare_align
    with open(fixed_text_path, 'r', encoding='utf-8') as f:
FileNotFoundError: [Errno 2] No such file or directory: './preparation/iemocap_fixed.txt'

I checked the original dataset and there is no file named iemocap_fixed. Where is this file come from?

keonlee9420 commented 3 years ago

Hi @bagustris , thanks for your attention. You can check the role of *_fixed.txt in here. Simply saying, this is to fix the script manually, and you may just create blank file at ./preparation/iemocap_fixed.txt if you don't have any of it.

bagustris commented 3 years ago

Thank @keonlee9420. It fixed that step.

It seems also you reorganized the original dataset structure. In this case, I didn't see sessions directory in the original dataset as required in argument config.

My original structure is only like this:

$ pwd
/data/IEMOCAP_full_release
$  tree -L 2 .
├── Session1
│   ├── dialog
│   ├── sentences
├── Session2
│   ├── dialog
│   ├── sentences
├── Session3
│   ├── dialog
│   ├── sentences
├── Session4
│   ├── dialog
│   ├── sentences
├── Session5
│   ├── dialog
│   ├── sentences

All those sessions you moved into directory sessions, right? Also, what is the difference between corpus_path and raw_path? When I run the prepare_data, I saw that it processed data from raw_path, not corpus_path. It will be helpful to show the structure of your dataset and your working directory like the tree's output above.

keonlee9420 commented 3 years ago
  1. No, I didn't. You can run the code with the original structure. The name sessions is used for an intermediate directory.
  2. As you can see in the config file, you should put your raw data path into corpus_path. Then prepare_align.py will automatically prepare the dataset (e.g., resampling the audio and cleaning the text) and then gather them into raw_path directory as follows:
    IEMOCAP
    ├── sessions
    │   ├── Ses01F_impro01
    │   ├── Ses01F_impro02

    So the data flows through corpus_path(raw data) -> raw_path/IEMOCAP -> preprocessed_data/IEMOCAP during the preprocessing phase described in README.md. Hope it helps.

bagustris commented 3 years ago

Hi @keonlee9420,

Thanks for your clear explanation. I can make it works now. However, it takes a long time if I tried with CPU. It runs for more than a week in my machine. For IEMOCAP dataset, how long did you run in GPU? Also, it will be beneficial to tell your GPU type for raw comparison.

keonlee9420 commented 3 years ago

Sorry for the late reply (maybe I'm too late). Using GPU is recommended. I trained the model on a single TITAN RTX, and it took about a day to get intelligible speech. Full convergence may take more than that.

yaohwang commented 3 years ago

Hi @bagustris , thanks for your attention. You can check the role of *_fixed.txt in here. Simply saying, this is to fix the script manually, and you may just create blank file at ./preparation/iemocap_fixed.txt if you don't have any of it.

thks @keonlee9420 for sharing your work. I've been stucked by this problem too, maybe u can put this fix into README.md, that would be help.

keonlee9420 commented 2 years ago

close due to inactivity