gracefully handle missing portaudio

This commit is contained in:
Paul Gauthier 2023-08-10 16:55:45 -03:00
parent fed24aa444
commit 7b993a9bbb
2 changed files with 16 additions and 4 deletions

View file

@ -8,8 +8,7 @@ import git
import tiktoken
from prompt_toolkit.completion import Completion
from aider import prompts
from aider.voice import record_and_transcribe
from aider import prompts, voice
from .dump import dump # noqa: F401
@ -437,7 +436,11 @@ class Commands:
def cmd_voice(self, args):
"Record and transcribe voice input"
text = record_and_transcribe()
if not voice.is_audio_available():
self.io.tool_error("Unable to import `sounddevice`, is portaudio installed?")
return
text = voice.record_and_transcribe()
self.io.user_input(text, log_only=False)
return text

View file

@ -3,12 +3,21 @@ import queue
import tempfile
import openai
try:
import sounddevice as sd
except OSError:
sd = None
import soundfile as sf
from .dump import dump # noqa: F401
def is_audio_available():
return sd is not None
def record_and_transcribe():
q = queue.Queue()