Skip to content

[Bug] DashScope 朗读句子之间有短暂「哒哒」爆音 #365

@chy5301

Description

@chy5301

Type

Bug

现象

桌面端使用 DashScope 引擎朗读时,每两句之间会有一个短暂的「哒哒」爆音(类似咔哒/爆破声),影响连续朗读的听感。

复现步骤

  1. 配置 DashScope,打开一本书,朗读一段多句文本;
  2. 仔细听句子与句子的衔接处;
  3. 观察:句间出现短暂「哒哒」爆音。

可核实的代码事实(仅供定位)

DashScope 每句是一次独立的 qwen3-tts-flash 合成,得到的 PCM 被逐段排进 Web Audio 时间轴(tts-players.tsflushPendingBytessource.start(startAt),startAt = max(ctx.currentTime, scheduledEnd),首尾相接)。爆音的两个可能来源:

  1. 接缝不连续(主因可能):相邻两句是各自独立合成的 PCM,衔接处波形不连续(起止振幅不为 0、无淡入淡出)时,硬拼接就会产生「哒哒」声;
  2. 奇数字节被丢弃(可核实的代码缺陷):flushPendingBytesconst numSamples = Math.floor(merged.length / 2),若某次合并的字节数为奇数,末尾半个样本的那个字节被直接丢弃且未结转到下次(pendingBytes 已清空),在该 flush/句子接缝处可能引入一次微小不连续 → 爆音。

可能的修复方向(仅建议)

  • 在缓冲块/句子接缝处做几毫秒的淡入淡出或对齐零点,消除硬拼接的不连续;
  • 修正奇数字节处理:把无法凑成完整 16-bit 样本的尾字节结转到下一次 flush,而不是丢弃,避免样本错位/不连续。

注:此为音频拼接层面的独立问题,与朗读的暂停/继续、引擎切换(#349)、进度同步(#358)均无关。

设备

  • Platform: Desktop (Windows), Tauri
  • App: v1.3.2
  • Locale: zh-CN
  • Engine: DashScope (qwen3-tts-flash)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions