Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

echogarden transcribe doesnt work #82

Open
shrimp-alfredo opened this issue Dec 13, 2024 · 1 comment
Open

echogarden transcribe doesnt work #82

shrimp-alfredo opened this issue Dec 13, 2024 · 1 comment

Comments

@shrimp-alfredo
Copy link

idk what im doing wrong but it doesnt work after installing the model it says this
image
full error: Error: D:\a_work\1\s\onnxruntime\core\providers\dml\dml_provider_factory.cc(495)\onnxruntime.dll!00007FF824670958: (caller: 00007FF824670CAA) Exception(1) tid(3204) 887A0004 The specified device interface or feature level is not supported on this system.
how to reproduce:
go in the command line and run echogarden transcribe file.mp3 then wait itll break

@rotemdan
Copy link
Member

rotemdan commented Dec 13, 2024

The error shows there is an issue with DirectML (Windows native API for GPU acceleration on introduced on Windows 10 v1903) when running speech language detection to detect the language of the audio passed (detection will run if a language is not specified). It looks like you're on Windows.

On Windows it passes ['dml', 'cpu'] providers to the ONNX runtime by default, for the recognition and speech language detection methods (both based on Whisper).

This means it will use DirectML if available and fall back to CPU if not. I can't control how this detection is done internally in the ONNX runtime.

It seems that on your hardware the ONNX runtime is having issues with using DirectML, but is not correctly falling back to CPU.

You can force it to use CPU for language detection with the option:

--languageDetection.whisper.encoderProvider=cpu

and for Whisper speech recognition with the option:

--whisper.encoderProvider=cpu

I allowed it to try DirectML on Windows because otherwise most users wouldn't even know what DirectML is, that they can enable it, and how. I was hoping that the ONNX runtime would be able to correctly fall back when DirectML fails. It seems in this particular case it's not doing it correctly.

It would be useful to know what hardware is it running on, especially whether if it has a GPU and which kind.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants