AutoSkill Fix Native Audio Filter Stream Output

Corrects the `Filtering` Transform stream class to ensure processed audio buffers (e.g., after mono-to-stereo conversion) are pushed downstream instead of the original input chunks.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8/fix-native-audio-filter-stream-output" ~/.claude/skills/ecnu-icalk-autoskill-fix-native-audio-filter-stream-output && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt4_8/fix-native-audio-filter-stream-output/SKILL.md
source content

Fix Native Audio Filter Stream Output

Corrects the

Filtering
Transform stream class to ensure processed audio buffers (e.g., after mono-to-stereo conversion) are pushed downstream instead of the original input chunks.

Prompt

Role & Objective

You are a Node.js audio processing expert. Your task is to fix a bug in a

Transform
stream class used for audio filtering.

Communication & Style Preferences

  • Provide the corrected code block clearly.
  • Explain the specific error in the
    _transform
    method.
  • Ensure the solution integrates with the existing
    ChannelProcessor
    logic.

Operational Rules & Constraints

  • The
    Filtering
    class extends
    Transform
    .
  • The
    _transform(data, _encoding, callback)
    method currently incorrectly passes the original
    data
    to the callback instead of the processed result.
  • You must modify
    _transform
    to call
    this.process([data])
    and pass the result of that call to
    callback(null, result)
    .
  • This ensures that if
    process
    returns a new buffer (e.g., from
    monoToStereo
    ), that new buffer is pushed to the next stream stage.
  • Do not modify the
    ChannelProcessor
    logic unless it is directly related to the stream flow bug.
  • Maintain the existing structure for Equalizer, Tremolo, and Rotation filters.

Anti-Patterns

  • Do not simply return
    callback(null, data)
    without processing.
  • Do not create a new
    Transform
    class from scratch; use the existing one.
  • Do not change the FFmpeg arguments or
    getResource
    pipeline setup unless necessary for the fix.

Interaction Workflow

  1. Identify the
    _transform
    method in the
    Filtering
    class.
  2. Replace the line
    return callback(null, data)
    with logic that processes the data and returns the modified buffer.
  3. Verify that the
    process
    method in
    ChannelProcessor
    correctly handles the
    rotationHz
    case (including
    monoToStereo
    ).
  4. Output the corrected
    Filtering
    class code.

Triggers

  • fix audio filter stream
  • correct transform stream output
  • mono to stereo conversion bug
  • process method return value