Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Realtime: committed-utterance WAV written with fixed 16 kHz header breaks 24 kHz client commits (empty STT -> input_not_committed -> total silence)

Đang mở
#12,747 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@nexxtmobile đang làm issue này rồi.

Từ ngày 17/10/2026.

  • #12749 của @nexxtmobile — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
25/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
go
Lĩnh vực
audio-video-rtc

Hướng nghiên cứu

Read commitUtteranceWithTranscript and writeUtteranceWAV, including both call sites described in the issue. Check how the WAV header rate relates to session.InputSampleRate; done means 24 kHz client-committed audio is written with a 24 kHz header and transcribes correctly.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

area/api bug confirmed

Bug

In the OpenAI-Realtime pipeline, the client-commit path writes the committed
utterance to a temp WAV with a fixed 16 kHz header
(laudio.NewWAVHeader(uint32(len(utt))) in commitUtteranceWithTranscript,
and writeUtteranceWAV), while the input buffer holds audio at the
session input sample rate (e.g. 24 kHz for OpenAI-Realtime clients —
session.update audio.input.format.rate = 24000).

The file-based transcription backend then decodes 24 kHz PCM data with a
16 kHz header (1.5x speed/pitch), degrading transcription to garbage or
empty output. An empty transcript fails the follow-up response with
input_not_committed → total silence after the greeting (no reply at
all, recovery phrases not triggered either).

Reproduction

  1. Start a realtime session with audio.input.format.rate = 24000 and
    turn_detection: null (client-driven commits).
  2. Stream ~2 s of speech, send input_audio_buffer.commit.
  3. The committed WAV (temp file realtime-audio-chunk-*.wav) carries a
    16 kHz header; the transcription of 24 kHz content at 16 kHz is garbage
    or empty → response.done failed input_not_committed.

Offline proof: identical audio transcribes cleanly with a 24 kHz header and
produces empty output with a 16 kHz header.

Fix

writeUtteranceWAV takes the sample rate; both call sites pass
session.InputSampleRate via the existing laudio.NewWAVHeaderWithRate
(PR follows).

Impact

Every client-commit session with an input rate other than 16 kHz
(WebRTC sessions resample to 16 kHz and are not affected).

Ngôn ngữ chính
Go
Star
49.8k
Fork
4.5k
Merge trung bình
19 giờ 35 phút
Pull request đã merge (30 ngày)
353

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của mudler/LocalAI

Tất cả issue của mudler/LocalAI

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.