dschandra commited on
Commit
30e1c24
·
verified ·
1 Parent(s): 0f8f2ef

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -3
app.py CHANGED
@@ -2,6 +2,7 @@ from flask import Flask, render_template_string, request, jsonify
2
  from datetime import datetime
3
  import speech_recognition as sr # Import speech recognition
4
  from tempfile import NamedTemporaryFile
 
5
  import os
6
 
7
  app = Flask(__name__)
@@ -141,16 +142,23 @@ def index():
141
  def process_audio():
142
  try:
143
  audio_file = request.files['audio']
144
- # Save the audio file temporarily
145
  temp_file = NamedTemporaryFile(delete=False, suffix=".wav")
146
  audio_file.save(temp_file.name)
147
 
 
 
 
 
148
  recognizer = sr.Recognizer()
149
- with sr.AudioFile(temp_file.name) as source:
150
  audio_data = recognizer.record(source)
151
  command = recognizer.recognize_google(audio_data)
152
  response = process_command(command)
153
- os.unlink(temp_file.name) # Remove the temporary file
 
 
 
154
  return jsonify({"response": response})
155
  except Exception as e:
156
  return jsonify({"response": f"An error occurred: {str(e)}"})
 
2
  from datetime import datetime
3
  import speech_recognition as sr # Import speech recognition
4
  from tempfile import NamedTemporaryFile
5
+ import ffmpeg
6
  import os
7
 
8
  app = Flask(__name__)
 
142
  def process_audio():
143
  try:
144
  audio_file = request.files['audio']
145
+ # Save the uploaded file temporarily
146
  temp_file = NamedTemporaryFile(delete=False, suffix=".wav")
147
  audio_file.save(temp_file.name)
148
 
149
+ # Convert the file to PCM WAV format if necessary
150
+ converted_file = NamedTemporaryFile(delete=False, suffix=".wav")
151
+ ffmpeg.input(temp_file.name).output(converted_file.name, acodec='pcm_s16le', ac=1, ar='16000').run(overwrite_output=True)
152
+
153
  recognizer = sr.Recognizer()
154
+ with sr.AudioFile(converted_file.name) as source:
155
  audio_data = recognizer.record(source)
156
  command = recognizer.recognize_google(audio_data)
157
  response = process_command(command)
158
+
159
+ # Clean up temporary files
160
+ os.unlink(temp_file.name)
161
+ os.unlink(converted_file.name)
162
  return jsonify({"response": response})
163
  except Exception as e:
164
  return jsonify({"response": f"An error occurred: {str(e)}"})