Compare commits

..

No commits in common. "e6d9f5ad9d69e8f2eb0697f58a562292f67488e0" and "dba250b7982dbeae55a3e75b41478556f53105ab" have entirely different histories.

20
app.py
View File

@ -45,7 +45,17 @@ def start_recording():
is_recording = True
start_time = time.time() # Record the start time
print("Recording started...")
recorded_audio = sd.rec(int(SAMPLE_RATE * 600), samplerate=SAMPLE_RATE, channels=1, dtype=np.float32)
recorded_audio = [] # Start with an empty list to store audio chunks
# Start recording continuously
def callback(indata, frames, time, status):
if is_recording: # Append audio data only while recording
recorded_audio.append(indata.copy())
stream = sd.InputStream(
samplerate=SAMPLE_RATE, channels=1, dtype=np.float32, callback=callback
)
stream.start() # Start the stream
return "Recording... Click 'Stop Recording' to finish."
@ -57,8 +67,12 @@ def stop_recording():
is_recording = False
elapsed_time = time.time() - start_time # Calculate elapsed time
print(f"Recording stopped. Duration: {elapsed_time:.2f} seconds.")
save_audio_to_wav(recorded_audio[:int(SAMPLE_RATE * elapsed_time)], FILENAME) # Truncate to actual duration
return "Recording stopped. Click 'Transcribe' to see the result."
# Combine all recorded chunks into a single array
audio_data = np.concatenate(recorded_audio, axis=0)
save_audio_to_wav(audio_data[: int(SAMPLE_RATE * elapsed_time)], FILENAME)
return f"Recording stopped. Duration: {elapsed_time:.2f} seconds. Click 'Transcribe' to see the result."
def save_audio_to_wav(audio, filename):