You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/engineering/implementation-plan.md
+42Lines changed: 42 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -185,3 +185,45 @@ Baseline verification for each code task is `pnpm tsc`. The repo has no test run
185
185
**Acceptance criteria**: A recorded source can be saved as project audio, chopped, assigned to pack slots as snapshots, and exported through profiles; `pnpm tsc` passes.
186
186
187
187
**Depends on**: Phase 4.
188
+
189
+
## Phase 6: Audio Intelligence and Melodic Sampling
190
+
191
+
### Task 6.1 - Smart chop suggestions
192
+
193
+
**Goal**: Surface a ranked list of candidate chop points so producers do not have to scan long sources manually.
194
+
195
+
**Scope**: Extend `src/lib/audioAnalysis.ts` to score candidate points by transient density, energy level, and musical phrasing. Expose the ranked list as a UI affordance in the Chop view that the user can accept, reject, or adjust. Do not auto-apply — suggestions are proposals, not decisions. The reference is Serato Sample's "Auto-Sample" (up to 25 ranked candidates).
196
+
197
+
**Acceptance criteria**: Chop view shows proposed points ranked by musical interest; user can accept individual suggestions or dismiss all; accepted suggestions become normal editable regions; `pnpm tsc` passes.
198
+
199
+
**Depends on**: Phase 5.
200
+
201
+
### Task 6.2 - Pitch shift and time stretch on export
202
+
203
+
**Goal**: Let producers tune or tempo-match samples without opening a DAW.
204
+
205
+
**Scope**: Add pitch shift and time stretch parameters to pack slot export settings. Implement via ffmpeg's `rubberband` or `atempo`/`asetrate` filters in `electron/main/`, or evaluate a higher-quality native library. Quality is the key constraint — the market benchmark is Serato Pitch 'n Time; the feature should be competitive, not just present.
206
+
207
+
**Acceptance criteria**: Pack slot export settings accept semitone pitch offset and BPM ratio; exported files are audibly correct at moderate shifts (±4 semitones, 80–130% tempo); quality is acceptable for production use; `pnpm tsc` passes.
208
+
209
+
**Depends on**: Phase 4.
210
+
211
+
### Task 6.3 - Stem separation before chopping
212
+
213
+
**Goal**: Let producers isolate drums, bass, melody, or vocals from a mixed source before marking chop points.
214
+
215
+
**Scope**: Integrate a stem separation library (e.g. Demucs via a child process in Electron main, or a WebAssembly port) and expose it as a source pre-processing step in the Chop view. The separated stems become separate source audio that feeds the normal chop workflow. Serato Sample v2.0 proved producer demand — this is a first-class feature, not a fringe utility.
216
+
217
+
**Acceptance criteria**: User can separate a source into stems from the Chop view; each stem opens as a separate source for chopping; separation runs locally with no external service dependency; `pnpm tsc` passes.
218
+
219
+
**Depends on**: Phase 5.
220
+
221
+
### Task 6.4 - Keyboard / melodic sampling mode
222
+
223
+
**Goal**: Allow a chop or sample to be played chromatically across a keyboard range.
224
+
225
+
**Scope**: Add a keyboard mode to the Chop view or Pack Builder that maps a selected region to a pitch range (C2–C5 or similar). In the renderer, use Web Audio API pitch shifting to preview pitched versions. On export, generate one file per semitone step (or a multi-sample format) through the target profile.
226
+
227
+
**Acceptance criteria**: User can assign a chop to a keyboard range; previewing plays the correct pitch; export writes correctly named files per the selected target profile; `pnpm tsc` passes.
Copy file name to clipboardExpand all lines: docs/product/roadmap.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,14 +23,15 @@ Phase 3 intelligence work is mostly complete: BPM detection, key detection, and
23
23
-[ ] Batch folder import and source-agnostic ingestion - bring existing sample folders into the workflow quickly.
24
24
-[x] Update-from-source affordance - show when a pack slot's original chop has changed and let the user refresh intentionally.
25
25
-[ ] Library management tools - support tagging, cleanup, auditioning, and metadata maintenance.
26
-
-[ ] Pitch shift/time stretch export options - tune or tempo-match exported packs without requiring a DAW.
26
+
-[ ] Pitch shift/time stretch export options - tune or tempo-match exported packs without requiring a DAW. Quality should be competitive with Serato Pitch 'n Time as the market benchmark — the goal is not just having the feature but being good enough that producers do not feel they are downgrading from their DAW.
27
+
-[ ] Stem separation before chopping - isolate drums, bass, melody, or vocals from a mixed source (vinyl, full mixes, DAW bounces) before marking chop points. Serato Sample v2.0 made this a first-class feature and proved producer demand is real; not a fringe use case.
27
28
-[ ] More target profiles - add hardware/software presets such as Teenage Engineering EP-133, Elektron Digitakt, Polyend Play, Isla Instruments S2400, DAW folder layouts, and generic pad-controller mappings when the export model supports them cleanly.
28
29
29
30
## Nice-to-have
30
31
31
32
-[ ] AI auto-tagging and similar sound search - speed up library organization and pack discovery.
32
-
-[ ] Smart chop suggestions - propose useful chop points while keeping user control.
33
-
-[ ]Stem separation - isolate material before chopping when the source contains mixed audio.
33
+
-[ ] Smart chop suggestions - propose a ranked list of chop points sorted by musical interest (transient density, energy, musical phrasing). Serato Sample's "Auto-Sample" finds up to 25 candidate points automatically; the goal here is a surfaced suggestion list the user can accept, reject, or refine rather than raw transient markers.
34
+
-[ ]Keyboard / melodic sampling mode - spread a chop or sample across a keyboard range for melodic and pitched use. Relevant for producers who work outside drum-machine pad workflows and want to play a sample chromatically.
34
35
-[ ] Pack coherence analysis - flag samples that clash tonally or rhythmically.
35
36
-[ ] MIDI export or DAW-oriented companion outputs - make packs easier to use outside hardware workflows.
36
37
-[ ] Waveform comparison - compare two samples visually for alignment or complementary pad placement.
0 commit comments