mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-29 08:44:59 +00:00
Refactor record_and_transcribe function to remove unnecessary api_key parameter and import dump module.
This commit is contained in:
parent
9b526d51e4
commit
d74a3ce123
1 changed files with 11 additions and 15 deletions
|
@ -8,11 +8,11 @@ import queue
|
||||||
import soundfile as sf
|
import soundfile as sf
|
||||||
import os
|
import os
|
||||||
|
|
||||||
def record_and_transcribe(api_key):
|
from .dump import dump
|
||||||
|
|
||||||
# Set the sample rate and duration for the recording
|
def record_and_transcribe():
|
||||||
sample_rate = 16000 # 16kHz
|
|
||||||
duration = 10 # in seconds
|
q = queue.Queue()
|
||||||
|
|
||||||
def callback(indata, frames, time, status):
|
def callback(indata, frames, time, status):
|
||||||
"""This is called (from a separate thread) for each audio block."""
|
"""This is called (from a separate thread) for each audio block."""
|
||||||
|
@ -23,27 +23,23 @@ def record_and_transcribe(api_key):
|
||||||
|
|
||||||
filename = tempfile.mktemp(prefix='delme_rec_unlimited_', suffix='.wav', dir='')
|
filename = tempfile.mktemp(prefix='delme_rec_unlimited_', suffix='.wav', dir='')
|
||||||
|
|
||||||
q = queue.Queue()
|
sample_rate = 16000 # 16kHz
|
||||||
|
|
||||||
# Make sure the file is opened before recording anything:
|
|
||||||
with sf.SoundFile(filename, mode='x', samplerate=sample_rate, channels=1) as file:
|
with sf.SoundFile(filename, mode='x', samplerate=sample_rate, channels=1) as file:
|
||||||
with sd.InputStream(samplerate=sample_rate, channels=1, callback=callback):
|
with sd.InputStream(samplerate=sample_rate, channels=1, callback=callback):
|
||||||
input('Press enter when done')
|
input('Press ENTER when done speaking...')
|
||||||
|
|
||||||
while not q.empty():
|
while not q.empty():
|
||||||
print('.')
|
|
||||||
file.write(q.get())
|
file.write(q.get())
|
||||||
|
|
||||||
print('done')
|
with open(filename, 'rb') as fh:
|
||||||
|
transcript = openai.Audio.transcribe("whisper-1", fh)
|
||||||
|
|
||||||
# Transcribe the audio using the Whisper API
|
text = transcript['text']
|
||||||
response = openai.Whisper.asr.create(audio_data=recording_bytes)
|
return text
|
||||||
|
|
||||||
# Return the transcription
|
|
||||||
return response['choices'][0]['text']
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
api_key = os.getenv('OPENAI_API_KEY')
|
api_key = os.getenv('OPENAI_API_KEY')
|
||||||
if not api_key:
|
if not api_key:
|
||||||
raise ValueError("Please set the OPENAI_API_KEY environment variable.")
|
raise ValueError("Please set the OPENAI_API_KEY environment variable.")
|
||||||
print(record_and_transcribe(api_key))
|
print(record_and_transcribe())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue