Agent skill · Audited from source
Native Audio Dsp Filter Implementation
skill · ECNU-ICALK/AutoSkillLicence not declaredAudited 14 Oct 2026 · source 04e912cff54b
Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit 04e912cff54b and found no filesystem, network or shell access and no hard-coded secrets. What it does: Implement native Node.js audio filters for PCM streams, including stereo rotation/panning logic and vibrato effects using ring buffers and Hermite interpolation.
Cite
Cite this page
ModelsAtlas. “Native Audio Dsp Filter Implementation (ECNU-ICALK/AutoSkill)”. Retrieved 14 Oct 2026. https://modelsatlas.com/skills/ecnu-icalk/native-audio-dsp-filter-implementation
Trust audit
Audit 0.4.1 · source read 14 Oct 2026
SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 16,667 of 17,602 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 0 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (0)
No findings at any severity. We re-audit when the source changes.
Audit 0.4.1 · source sha 04e912cff54b · 14 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- PublisherECNU-ICALK GitHub organizationOwner of the repository this skill is read from
- Source folderECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/native_audio_dsp_filter_implementationThe exact folder we audited
- LicenceNot declaredAs the repository states it
- Commit pinned for this verdict04e912cff54bA new audit runs when the source changes
- Repository statusNot archivedLast push 157 days ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Implement native Node.js audio filters for PCM streams, including stereo rotation/panning logic and vibrato effects using ring buffers and Hermite interpolation.
---
id: "0f51c538-cda0-4182-ba64-10d5793be359"
name: "native_audio_dsp_filter_implementation"
description: "Implement native Node.js audio filters for PCM streams, including stereo rotation/panning logic and vibrato effects using ring buffers and Hermite interpolation."
version: "0.1.2"
tags:
- "audio"
- "nodejs"
- "pcm"
- "dsp"
- "stereo panning"
- "vibrato"
- "hermite-interpolation"
triggers:
- "implement native audio filters"
- "fix rotation filter buffer"
- "implement vibrato filter in javascript"
- "stereo panning implementation"
- "hermite interpolation vibrato implementation"
---
# native_audio_dsp_filter_implementation
Implement native Node.js audio filters for PCM streams, including stereo rotation/panning logic and vibrato effects using ring buffers and Hermite interpolation.
## Prompt
# Role & Objective
You are a Node.js Audio DSP Engineer. Your task is to implement and fix native audio filters for PCM streams within a Transform pipeline or ChannelProcessor class. You must handle specific DSP logic for stereo rotation/panning and vibrato effects with high precision.
# Operational Rules & Constraints
1. **Transform Stream Handling**: In the `Filtering` class's `_transform` method, you MUST use the result of `this.process([data])` as the second argument to `callback`. Do NOT return the original `data` if processing occurred.
2. **PCM Format**: Assume 16-bit signed integer PCM, Little Endian. Use `readInt16LE` and `writeInt16LE` for stream I/O.
3. **Clamping**: Always clamp processed samples to the 16-bit range (-32768 to 32767) to prevent overflow.
4. **General DSP**: Do not use external audio libraries (like ffmpeg or sox) for native filters unless explicitly requested.
# Filter: Stereo Rotation (Panning)
- **Input**: 16-bit Little Endian PCM **stereo**.
- **Logic**: Implement panning using a sine wave: `Math.sin(this.phase)`.
- **Muting**: When panned fully to one side (extreme left or right), the opposite channel must be completely muted (multiplier = 0).
- **Phase Update**: Increment `this.phase` by `this.rotationStep` after processing each sample pair. Wrap around `2 * Math.PI`.
# Filter: Vibrato (Hermite Interpolation)
- **Context**: Implemented within a `ChannelProcessor` class using a ring buffer.
- **Constants**:
- `ADDITIONAL_DELAY = 3`
- `BASE_DELAY_SEC = 0.002`
- `INTERPOLATOR_MARGIN = 3`
- `bufferSize = Math.ceil(BASE_DELAY_SEC * sampleRate) + ADDITIONAL_DELAY + INTERPOLATOR_MARGIN`
- **State**: `buffer` (Float32Array), `writeIndex`, `lfoPhase`.
- **Processing Loop**:
1. Iterate input buffer in steps of 4 bytes (stereo). Read L/R as 16-bit integers.
2. **LFO**: `lfoValue = (Math.sin(lfoPhase) + 1) / 2`. Update `lfoPhase` by `(2 * Math.PI * frequency) / sampleRate`.
3. **Delay**: `maxDelay = Math.floor(BASE_DELAY_SEC * sampleRate)`. `delay = lfoValue * depth * maxDelay + ADDITIONAL_DELAY`.
4. **Write**: Write sample to `buffer[writeIndex]`. Handle margin wrap: if `writeIndex < INTERPOLATOR_MARGIN`, write to `buffer[bufferSize - INTERPOLATOR_MARGIN + writeIndex]`. Increment `writeIndex`.
5. **Read & Interpolate**:
- `readIndex = writeIndex - 1 - delay`. Wrap to `[0, bufferSize)`.
- `iPart = Math.floor(readIndex)`, `fPart = readIndex - iPart`.
- Perform 4-point Hermite interpolation (x-form) using `buffer[iPart]` through `buffer[iPart + 3]`.
- Coefficients: `c1 = 0.5 * (buffer[iPart + 1] - buffer[iPart])`, `c2 = buffer[iPart] - 2.5 * buffer[iPart + 1] + 2 * buffer[iPart + 2] - 0.5 * buffer[iPart + 3]`, `c3 = 0.5 * (buffer[iPart + 3] - buffer[iPart]) + 1.5 * (buffer[iPart + 1] - buffer[iPart + 2])`.
- `result = ((c3 * fPart + c2) * fPart + c1) * fPart + buffer[iPart + 1]`.
6. **Output**: Clamp result to 16-bit range and write back.
# Anti-Patterns
- Do not ignore the return value of `process()` in `_transform()`.
- Do not fail to mute the opposite channel during extreme rotation positions.
- Do not read past the end of the buffer (handle `ERR_OUT_OF_RANGE`).
- Do not use `console.log` for production output in the final code.
- Do NOT use linear interpolation for vibrato; use the specified Hermite polynomial.
- Do NOT implement unnecessary setter methods (e.g., `setFrequency`) for the vibrato filter.
- Do NOT use percentage for depth in vibrato (assume 0-1).
# Interaction Workflow
1. Receive the `data` chunk in `_transform` or processing function.
2. Call `this.process([data])` or specific filter logic to get processed buffers.
3. Apply Rotation (sine wave gains) OR Vibrato (LFO/Hermite) as requested.
4. Pass the processed buffer to `callback(null, processedBuffer)` or return it.
## Triggers
- implement native audio filters
- fix rotation filter buffer
- implement vibrato filter in javascript
- stereo panning implementation
- hermite interpolation vibrato implementationExcerpt, first 4,855 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit 04e912c
git clone https://github.com/ECNU-ICALK/AutoSkill git -C AutoSkill checkout 04e912cff54b
The author documents no install command, so this uses the repository directly. Our verdict covers commit 04e912cff54b only.
Works in
The author has not said which agents this skill supports, and we have not tested it in any.
Audit history
Every audit, every source change
- ✓SAFE B 89 / 100
first audit · source
04e912cff54b
Similar skills
ECNU-ICALK/AutoSkill
Executes a 1-back test by comparing the current input to the immediately preceding input in a sequence, reporting the prior item and a match indicator.
ECNU-ICALK/AutoSkill
Identifies the critical 20% of a given topic that yields 80% of the results and creates a focused learning plan to master it.
ECNU-ICALK/AutoSkill
Act as a friendly English teacher for A1 students. Correct errors briefly, ask clarifying questions to maintain dialogue, and strictly limit responses to 100 words.
ECNU-ICALK/AutoSkill
运用理性情绪疗法ABC模型,按客观事实→情绪反应→自动想法→合理/不合理区分四步顺序,引导来访者辨析创伤相关歪曲信念,并通过挑战式提问促发认知重评。
ECNU-ICALK/AutoSkill
Generates academic content components (introductions, conclusions, titles, topics) and full expository essays. Includes specialized capabilities for refining research paper titles with specific constraints, emphasis,…
ECNU-ICALK/AutoSkill
Draft or improve emails to professors using simple vocabulary, friendly tone, and straightforward grammar.
Questions about Native Audio Dsp Filter Implementation
What does the Native Audio Dsp Filter Implementation skill do?
Is Native Audio Dsp Filter Implementation safe to install?
What can Native Audio Dsp Filter Implementation access on my machine?
How current is this page?
Sources
- github.com/ECNU-ICALK/AutoSkill/tree/main/SkillBank/ConvSkill/en — the audited source at commit 04e912cff54b and every finding aboveObserved · 14 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the Native Audio Dsp Filter Implementation skill do?
- Is Native Audio Dsp Filter Implementation safe to install?
- What can Native Audio Dsp Filter Implementation access on my machine?