docs: Audio workspace tab (Phase 1) — v1.3 changelog + README; drop orphaned transport spacer

This commit is contained in:
2026-07-02 15:18:38 +02:00
parent c57c078100
commit 578ad87b1a
2 changed files with 22 additions and 2 deletions
+9
View File
@@ -33,6 +33,14 @@ All clips are exactly 8 seconds — the standard length for foley sound datasets
- **Hardware encoding** — GPU-accelerated export via NVENC, VAAPI, QSV, AMF, or VideoToolbox - **Hardware encoding** — GPU-accelerated export via NVENC, VAAPI, QSV, AMF, or VideoToolbox
- **Subject tracking** — auto-adjust crop center using YOLOv8 detection (optional) - **Subject tracking** — auto-adjust crop center using YOLOv8 detection (optional)
### Audio extraction & editing
- **Extract audio area** — save an exact-length audio slice from the playhead (length steps by 1s, no upper cap)
- **Output format** — WAV / MP3 / FLAC / M4A / OGG / OPUS, remembered between sessions
- **Non-destructive edits** — fade in/out, EBU R128 normalize, and gain, applied via ffmpeg on extract (and audition)
- **Waveform preview** — a read-only strip of the current area (↻ to refresh; decode length-capped so long areas don't stall)
- **Audition** — Play/Stop the current area with the edits applied
### Audio scanning ### Audio scanning
- **Embedding models** — WAV2VEC2 (base/large), HuBERT (base/large/xlarge), BEATs - **Embedding models** — WAV2VEC2 (base/large), HuBERT (base/large/xlarge), BEATs
@@ -43,6 +51,7 @@ All clips are exactly 8 seconds — the standard length for foley sound datasets
- **Hard negatives** — mark false positives to refine training - **Hard negatives** — mark false positives to refine training
- **Model versioning** — timestamped backups with rollback support - **Model versioning** — timestamped backups with rollback support
- **Scan export** — batch export from scan results with spread and minimum duration filtering - **Scan export** — batch export from scan results with spread and minimum duration filtering
- **Location** — scan controls live in the **Audio** tab's *Scan / Classify* pane (formerly the *Scan* tab)
### Scan results panel ### Scan results panel
+13 -2
View File
@@ -4471,7 +4471,6 @@ class MainWindow(QMainWindow):
# Extract audio area — an exact-length audio slice from the playhead, # Extract audio area — an exact-length audio slice from the playhead,
# saved via a Save As dialog (format follows the chosen extension). # saved via a Save As dialog (format follows the chosen extension).
transport_row.addSpacing(12)
self._spn_audio_len = QDoubleSpinBox() self._spn_audio_len = QDoubleSpinBox()
# No practical upper cap — audio areas can be minutes long; ffmpeg stops # No practical upper cap — audio areas can be minutes long; ffmpeg stops
# cleanly at end-of-file if the source is shorter. Arrows step by 1s; # cleanly at end-of-file if the source is shorter. Arrows step by 1s;
@@ -4972,9 +4971,21 @@ class MainWindow(QMainWindow):
# ── Changelog ──────────────────────────────────────────── # ── Changelog ────────────────────────────────────────────
APP_VERSION = "1.2" APP_VERSION = "1.3"
_SPLIT_HEADER_H = 22 # deck split-column header height (keep both deck spots in sync) _SPLIT_HEADER_H = 22 # deck split-column header height (keep both deck spots in sync)
CHANGELOG: list[tuple[str, list[str]]] = [ CHANGELOG: list[tuple[str, list[str]]] = [
("1.3", [
"<b>Audio workspace tab</b> — the <b>Scan</b> control-deck tab is "
"now <b>Audio</b>, a <code>QToolBox</code> with two panes. "
"<i>Extract &amp; Edit</i> has the audio-area length, an output "
"<b>format</b> picker (WAV / MP3 / FLAC / M4A / OGG / OPUS, "
"remembered), non-destructive <b>fade in/out, normalize, and "
"gain</b> applied on extract, a read-only <b>waveform</b> strip "
"(↻ to refresh), and <b>Play/Stop</b> audition of the current area "
"with the edits applied. <i>Scan / Classify</i> keeps the model, "
"threshold, and scan/auto/speech/review controls. The extract "
"length + button moved off the transport row into this tab.",
]),
("1.2", [ ("1.2", [
"<b>Per-tab export folder</b> — each file-list tab now remembers " "<b>Per-tab export folder</b> — each file-list tab now remembers "
"its own output folder; switching tabs follows that tab's folder. " "its own output folder; switching tabs follows that tab's folder. "