huynhkimthien commited on
Commit
287106c
·
verified ·
1 Parent(s): 1a94ea5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -3
app.py CHANGED
@@ -82,15 +82,23 @@ async def voice_chat(request: Request):
82
  try:
83
  raw_audio = await request.body()
84
  sample_rate = 16000
85
- audio_np = np.frombuffer(raw_audio, dtype=np.int16)
 
 
 
 
 
 
 
 
86
 
87
  # Chuyển thành WAV
88
  wav_io = io.BytesIO()
89
- wav.write(wav_io, sample_rate, audio_np)
90
  wav_io.seek(0)
91
 
92
  with open("temp_audio.wav", "wb") as f:
93
- f.write(wav_io.read())
94
 
95
  # Whisper nhận dạng
96
  result = whisper_model.transcribe("temp_audio.wav", language="vi")
 
82
  try:
83
  raw_audio = await request.body()
84
  sample_rate = 16000
85
+
86
+ # Chuyển từ 3 bytes → int32
87
+ audio_np = np.frombuffer(raw_audio, dtype=np.uint8).reshape(-1, 3)
88
+ audio_int = (audio_np[:, 0].astype(np.int32) << 16) | \
89
+ (audio_np[:, 1].astype(np.int32) << 8) | \
90
+ audio_np[:, 2].astype(np.int32)
91
+
92
+ # Scale về int16 để ghi WAV
93
+ audio_int16 = (audio_int >> 8).astype(np.int16)
94
 
95
  # Chuyển thành WAV
96
  wav_io = io.BytesIO()
97
+ wav.write(wav_io, sample_rate, audio_int16)
98
  wav_io.seek(0)
99
 
100
  with open("temp_audio.wav", "wb") as f:
101
+ f.write(wav_io.read())
102
 
103
  # Whisper nhận dạng
104
  result = whisper_model.transcribe("temp_audio.wav", language="vi")