# @suaveplan/audio-fx-plugin-pitch-shifter - pitch-shifter plugin for the @suaveplan/audio-fx-plugin-* family. pitch-shifter plugin for the @suaveplan/audio-fx-plugin-* family. Member of the `@suaveplan/audio-fx-plugin-*` family. Universal (browser / server / offline / worklet identical). Depends on `@suaveplan/audio-fx-plugin-base` for the `AudioFxPlugin` contract; declares no other `@suaveplan/audio-fx-plugin-*` deps. ## Documentation tree - [pitch-shifter](./src/pitch-shifter/pitch-shifter.md) — `PitchShifterPlugin` is the universal granular pitch shifter. It writes incoming audio into a per-channel circular ring… - [pitch-shifter](./src/pitch-shifter/pitch-shifter.md) — `PitchShifterPlugin` is the universal granular pitch shifter. It writes incoming audio into a per-channel circular ring… - [schemas](./src/schemas/schemas.md) — Zod schemas validating the construction-time options and preset payload of `PitchShifterPlugin`. These run on the publi… - [schemas](./src/schemas/schemas.md) — Zod schemas validating the construction-time options and preset payload of `PitchShifterPlugin`. These run on the publi… ## Composition ```ts import { PluginChain, DefaultBusRegistry } from "@suaveplan/audio-fx-plugin-base/chain"; import { /* Plugin */ } from "@suaveplan/audio-fx-plugin-pitch-shifter"; const plugin = new /* Plugin */(); const chain = new PluginChain({ buses: new DefaultBusRegistry(), plugins: [plugin], }); ``` ## Status Replaces the `./pitch-shifter` subpath of the bundled `@suaveplan/audio-plugins-fx`.