FileNotFoundError: [WinError 2] The system cannot find the specified file (Trying make a AI voice assistant)

33 Views Asked by At

I'm trying to make a voice chatbot using whisper, openai and gradio. My code is this below:

from dotenv import load_dotenv
import os
load_dotenv()
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")

openai.api_key = OPENAI_API_KEY

from openai import OpenAI
client = OpenAI()

def voice_chat(user_voice):

    messages = [
    {"role": "system", "content": "Você é um tipo de assistente gentil e prestativo"},
    ]       
    
    user_message = model.transcribe(user_voice, fp16=False)["text"]

    messages.append(
        {"role": "user", "content": user_message},
    )

    print(messages)

    chat = client.chat.completions.create(
        model="gpt-3.5-turbo", messages=messages
    )
    
    reply = chat['choices'][0]['message']['content']
    
    messages.append({"role": "assistant", "content": reply})

    gTTS(text=reply, lang='pt', slow=False).save("output.wav")

    return(reply, 'output.wav')

text_reply = gr.Textbox(label="ChatGPT Text")
voice_reply = gr.Audio('output.wav')

gr.Interface(
    title = 'AI Voice Assistant with ChatGPT AI', 
    fn=voice_chat, 
    inputs=[
        gr.Audio(sources='microphone', type="filepath")
    ],

    outputs=[
        text_reply,  voice_reply
    ], live = True).launch(debug = True)

I try to submit my audio and then it gives an error, and what appears is this:

Traceback (most recent call last):   File "c:\Users\samue\anaconda3\envs\cenv\lib\site-packages\gradio\queueing.py", line 489, in call_prediction
    output = await route_utils.call_process_api(   File "c:\Users\samue\anaconda3\envs\cenv\lib\site-packages\gradio\route_utils.py", line 232, in call_process_api
    output = await app.get_blocks().process_api(   File "c:\Users\samue\anaconda3\envs\cenv\lib\site-packages\gradio\blocks.py", line 1561, in process_api
    result = await self.call_function(   File "c:\Users\samue\anaconda3\envs\cenv\lib\site-packages\gradio\blocks.py", line 1179, in call_function
    prediction = await anyio.to_thread.run_sync(   File "c:\Users\samue\anaconda3\envs\cenv\lib\site-packages\anyio\to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(   File "c:\Users\samue\anaconda3\envs\cenv\lib\site-packages\anyio\_backends\_asyncio.py", line 2134, in run_sync_in_worker_thread
    return await future   File "c:\Users\samue\anaconda3\envs\cenv\lib\site-packages\anyio\_backends\_asyncio.py", line 851, in run
    result = context.run(func, *args)   File "c:\Users\samue\anaconda3\envs\cenv\lib\site-packages\gradio\utils.py", line 678, in wrapper
    response = f(*args, **kwargs)   File "C:\Users\samue\AppData\Local\Temp\ipykernel_21308\376805405.py", line 7, in voice_chat
    user_message = model.transcribe(user_voice, fp16=False)["text"]   File "c:\Users\samue\anaconda3\envs\cenv\lib\site-packages\whisper\transcribe.py", line 122, in transcribe
    mel = log_mel_spectrogram(audio, model.dims.n_mels, padding=N_SAMPLES)   File "c:\Users\samue\anaconda3\envs\cenv\lib\site-packages\whisper\audio.py", line 140, in log_mel_spectrogram
    audio = load_audio(audio)   File "c:\Users\samue\anaconda3\envs\cenv\lib\site-packages\whisper\audio.py", line 58, in load_audio
    out = run(cmd, capture_output=True, check=True).stdout   File "c:\Users\samue\anaconda3\envs\cenv\lib\subprocess.py", line 505, in run
    with Popen(*popenargs, **kwargs) as process:   File "c:\Users\samue\anaconda3\envs\cenv\lib\subprocess.py", line 951, in
__init__
    self._execute_child(args, executable, preexec_fn, close_fds,   File "c:\Users\samue\anaconda3\envs\cenv\lib\subprocess.py", line 1436, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] O sistema não pode encontrar o arquivo especificado

It is worth saying that: O sistema não pode encontrar o arquivo especificado is equivalent to The system cannot find the specified file

Help and solution, please.

0

There are 0 best solutions below