0

When I use speechbrain to do work with rffm files, I get the following error

speechbrain.core - Exception:
Traceback (most recent call last):
  File "F:/Speech/speechbrain/recipes/AMI/Diarization/experiment.py", line 647, in <module>
    best_pval = dev_pval_tuner(full_meta, "dev")
  File "F:/Speech/speechbrain/recipes/AMI/Diarization/experiment.py", line 364, in dev_pval_tuner
    MS, FA, SER, DER_ = DER(
  File "D:\anaconda\envs\speech_brain\lib\site-packages\speechbrain\utils\DER.py", line 108, in DER
    stdout = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
  File "D:\anaconda\envs\speech_brain\lib\subprocess.py", line 411, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "D:\anaconda\envs\speech_brain\lib\subprocess.py", line 489, in run
    with Popen(*popenargs, **kwargs) as process:
  File "D:\anaconda\envs\speech_brain\lib\subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "D:\anaconda\envs\speech_brain\lib\subprocess.py", line 1307, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
OSError: [WinError 193] %1 is not a valid Win32 application

I try to change the version of python, numpy version of python, and change 32-bit instead of 64-bit, but none of them work.

Henry Ecker
  • 34,399
  • 18
  • 41
  • 57
  • The failing code within `speechbrain` is trying to launch a Perl script. I would guess that the problem is that you simply don't have Perl installed on your system. Note that this package doesn't seem to be officially supported on Windows at all, there may be other issues. – jasonharper Feb 13 '23 at 20:18
  • Thank you, I have tried to install perl, but the problem is still existed。 it seems only a problem caused by subprocess.py,because processing rffm files needs to use it. I tried to use other way without speechbrain, but it still was OSError as same as this – FORpeace Feb 14 '23 at 08:16
  • !!!! I have solved the problem.The root of the problem is subprocess.check_output(cmd, stderr=subprocess.STDOUT), and it should be , subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True). need to add a shell argument. – FORpeace Feb 14 '23 at 08:58

0 Answers0