docs: Audio workspace tab (Phase 1) — v1.3 changelog + README; drop orphaned transport spacer
This commit is contained in:
@@ -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
|
||||
- **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
|
||||
|
||||
- **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
|
||||
- **Model versioning** — timestamped backups with rollback support
|
||||
- **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
|
||||
|
||||
|
||||
@@ -4471,7 +4471,6 @@ class MainWindow(QMainWindow):
|
||||
|
||||
# Extract audio area — an exact-length audio slice from the playhead,
|
||||
# saved via a Save As dialog (format follows the chosen extension).
|
||||
transport_row.addSpacing(12)
|
||||
self._spn_audio_len = QDoubleSpinBox()
|
||||
# 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;
|
||||
@@ -4972,9 +4971,21 @@ class MainWindow(QMainWindow):
|
||||
|
||||
# ── Changelog ────────────────────────────────────────────
|
||||
|
||||
APP_VERSION = "1.2"
|
||||
APP_VERSION = "1.3"
|
||||
_SPLIT_HEADER_H = 22 # deck split-column header height (keep both deck spots in sync)
|
||||
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 & 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", [
|
||||
"<b>Per-tab export folder</b> — each file-list tab now remembers "
|
||||
"its own output folder; switching tabs follows that tab's folder. "
|
||||
|
||||
Reference in New Issue
Block a user