fix_data_feat.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/usr/bin/env bash
  2. echo "$0 $@"
  3. data_dir=$1
  4. if [ ! -f ${data_dir}/feats.scp ]; then
  5. echo "$0: feats.scp is not found"
  6. exit 1;
  7. fi
  8. if [ ! -f ${data_dir}/text ]; then
  9. echo "$0: text is not found"
  10. exit 1;
  11. fi
  12. if [ ! -f ${data_dir}/speech_shape ]; then
  13. echo "$0: feature lengths is not found"
  14. exit 1;
  15. fi
  16. if [ ! -f ${data_dir}/text_shape ]; then
  17. echo "$0: text lengths is not found"
  18. exit 1;
  19. fi
  20. mkdir -p ${data_dir}/.backup
  21. awk '{print $1}' ${data_dir}/feats.scp > ${data_dir}/.backup/wav_id
  22. awk '{print $1}' ${data_dir}/text > ${data_dir}/.backup/text_id
  23. sort ${data_dir}/.backup/wav_id ${data_dir}/.backup/text_id | uniq -d > ${data_dir}/.backup/id
  24. cp ${data_dir}/feats.scp ${data_dir}/.backup/feats.scp
  25. cp ${data_dir}/text ${data_dir}/.backup/text
  26. cp ${data_dir}/speech_shape ${data_dir}/.backup/speech_shape
  27. cp ${data_dir}/text_shape ${data_dir}/.backup/text_shape
  28. mv ${data_dir}/feats.scp ${data_dir}/feats.scp.bak
  29. mv ${data_dir}/text ${data_dir}/text.bak
  30. mv ${data_dir}/speech_shape ${data_dir}/speech_shape.bak
  31. mv ${data_dir}/text_shape ${data_dir}/text_shape.bak
  32. utils/filter_scp.pl -f 1 ${data_dir}/.backup/id ${data_dir}/feats.scp.bak | sort -k1,1 -u > ${data_dir}/feats.scp
  33. utils/filter_scp.pl -f 1 ${data_dir}/.backup/id ${data_dir}/text.bak | sort -k1,1 -u > ${data_dir}/text
  34. utils/filter_scp.pl -f 1 ${data_dir}/.backup/id ${data_dir}/speech_shape.bak | sort -k1,1 -u > ${data_dir}/speech_shape
  35. utils/filter_scp.pl -f 1 ${data_dir}/.backup/id ${data_dir}/text_shape.bak | sort -k1,1 -u > ${data_dir}/text_shape
  36. rm ${data_dir}/feats.scp.bak
  37. rm ${data_dir}/text.bak
  38. rm ${data_dir}/speech_shape.bak
  39. rm ${data_dir}/text_shape.bak