Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Markers on Waveform #2587

Open
petersampsonaudacity opened this issue Feb 23, 2022 · 21 comments
Open

Markers on Waveform #2587

petersampsonaudacity opened this issue Feb 23, 2022 · 21 comments
Labels
Design / UX Bugs, enhancement requests and tasks a designer should look at Enhancement Request Or feature requests. Open-ended requests are better suited for discussions. medium feature medium-impact feature

Comments

@petersampsonaudacity
Copy link

petersampsonaudacity commented Feb 23, 2022

Is your feature request related to a problem? Please describe.
Unlike most video editors, Audacity has no facility to place markers on the waveform - markers that stay put in the waveform position where they are placed.

There have been many posts on the Forum over the years particularly from folk who come to Audacity from video editing - and this includes Forum elf (and Emeritus ex Audacity Team member) Greg Kozikowski

Describe the solution you'd like
Add with one keystroke a vertical mark that stays on the waveform and can be labeled. Common in video editors. Should be draggable but attached to the audio segment. Select between any two markers easily e.g. with double click. Snap a region to the markers. Should be implemented in addition to split lines.

Very necessary for long-form documentary editing, where you are identifying and then going back and handling many different selections from a long file. Also important if recordings are edited afterwards by others.

Describe alternatives you've considered
Audacity's Labels provide a workaround but are far from ideal - not easy to lock to a waveform or clip position.

Additional context
This has long been one of Audacity's most popular Feature requests:
https://wiki.audacityteam.org/wiki/Feature_Requests#markers

Tagging @Tantacrul as a UX/design issue

@petersampsonaudacity petersampsonaudacity added Enhancement Request Or feature requests. Open-ended requests are better suited for discussions. Design / UX Bugs, enhancement requests and tasks a designer should look at labels Feb 23, 2022
@petersampsonaudacity petersampsonaudacity added this to Undecided in Feature Requests via automation Feb 23, 2022
@Tantacrul
Copy link

Hmmm. This is a really nice idea! Thanks for making us aware of it.

I assume users want these markers to be utilised to export metadata of various kinds? What other kinds of uses would they be put to?

@petersampsonaudacity
Copy link
Author

petersampsonaudacity commented Feb 23, 2022

I'm not really a video editor (a pure shamateur in that field, just cobbling together small video underwater fishy clips)

I guess that Koz (Greg Kozilowski) is the best to ask about that - he is a professional in LA. I'll ping him an email to ask about use cases.

@Paul-Licameli
Copy link
Collaborator

Describe alternatives you've considered Audacity's Labels provide a workaround but are far from ideal - not easy to lock to a waveform or clip position.

Can you document why sync lock is not enough?

@petersampsonaudacity
Copy link
Author

petersampsonaudacity commented Feb 23, 2022

Can you document why sync lock is not enough?

People find sync-lock difficult to use (including me), it's not very well thought out or designed and in some use cases it is buggy. Working with and even defining multiple SLTGs is more than slightly tricksy.

I've emailed Koz to try and elicit some good IRL use-cases with the need for markers on the track.

@Tantacrul
Copy link

Off the top of my head, it would be a much more simple (and learnable) system for adding descriptions & metadata. However, I may have missed a more fundamental reason why someone might want this, so I await Koz's explanation :)

@petersampsonaudacity
Copy link
Author

Koz writes:

Video Markers
2022-02-23

I'm calling them video markers because my only experience
with them is with video editing. They have no relationship
with television frame boundaries or anything like that.

Clear your mind of all the talents and restrictions of Labels.

Say I want to delete a small portion of a timeline. I find my
beginning point and Mark In (I think it was Command+I, that part
is fuzzy. It may have been just "I") Then scan around and
look for the out point Mark Out. "O"

You don't have to baby-sit Marks. Once you set one they're
attached to that content until the sun cools off—or you
intentionally change it

You only get those two. There are no multiple marks or mark
groupings or families of marks or anything like that.

The two Marks are welded to the content. That's supersonically
important. Press Delete and the content and the Marks vanish.
You don't have to clean up after it. It's like the content
was never there.

Instead of deleting the content in the normal manner after
marking, I decide to edit, shift, scan, view, or manage the
timeline either before or after the marked area. The Marks
follow the content, not the time or some arbitrary timeline.

There is no drag-select the area between the two Marks. It's
permanently selected.

There is one piece I don't remember. I'm pretty sure you can
drag-select some content elsewhere and delete it without affecting
the Marks. That part is fuzzy.

Any time you press Mark-In or Mark-Out you get a Mark
point. If you already have a Mark, it moves. You only ever
get those two. If needed you can set Mark-Out before Mark-In.
The "IN" and "OUT" are just names and they make it easy for New
Users. It was a long time before I found I could reverse
them like that.

Marks are independent of the Zoom and view tools. Again,
they're bolted to the content.

You can delete the actual Marks if you decide you don't need
them after all and I don't remember the keystrokes.

I don't think Marks follow you into the finished work or Project.
They're strictly editing tools.

You could be dumped into a messy, sloppy shoot and quickly reduce
it to a clean, orderly, cut-and-finished news segment or podcast.

I was using them for quick cutting, but you can apply an effect
to a marked segment.

I vividly remember the first time I had to apply an Audacity
effect to a segment wider than my window.

"Mark-In. Wait. Where are the Mark keys?"

@petersampsonaudacity
Copy link
Author

And the Koz added

It's little rough to illustrate Markers in action,
but here's a quickie.

Open a raw news report from the field. It has the
setup trash at the front, "Hello Test, Test Test. Why
does this microphone smell like cat urine?" and the
tear-down trash at the end, [pause] "Work
for you? Terrific, see you back in Editorial."

HOME, Mark-In.

Scan forward until you find the first words of the
piece. Mark-Out, Delete.

END, Mark-Out.

Scan backward until you find the end of the formal
report. Mark-In, Delete.

Not counting the scanning, searching, and possibly
Zooming, I just precisely trimmed both ends of a news
report with eight keystrokes and five keys.

@Tantacrul
Copy link

Tantacrul commented Feb 24, 2022

OK got it. Definitely a productivity improvement. Since I think we should also support video display in Audacity (for sound design & mixing), this would be even more valuable.

@teetow
Copy link
Contributor

teetow commented Feb 24, 2022

This would be very useful, and there's a lot of prior art to look at.

Markers and Regions are already part of the WAV spec, and the timeline editors I'm most familiar with exposes them as editable artifacts -- "bolted to the content" as described above. You also have the option to create them on the timeline itself, in which case they can optionally be included when exporting to WAV (or other formats that understand the CUE, LABL and LTXT chunks from the WAV spec). My workflow in game development made heavy use of them, even to the point where our game engine parsed them.

They can show up in any kind of segmented content like interviews or podcasts, as time division markers in drum beats, or when working with field recorded audio (hardware recorders like the Zoom H4 lets you drop markers mid-session). It's also how some software implements looped recording -- each take is indicated by a marker or a region.

Markers and regions have significant general utility, but off the top of my head, they could help with: selecting part of or trimming an event to a section of interest, splitting an event into chunks, assisting time-stretching and time-mapping features (e.g. making a drum beat adapt to the project tempo), extracting groove and tempo maps, etc.

@petersampsonaudacity
Copy link
Author

petersampsonaudacity commented Feb 24, 2022

Can you document why sync lock is not enough?

Having now read and understood Koz' exposition I can state more clearly why it's harder with labels.

Use case removing the middle minute or so of a 3 minute song

  1. Import a 3 minute song
  2. switch to normal zoom (for ease of finding/auditioning the cut points)
  3. move to around one minute
  4. Audition to find your initial cut-point - the Mark-in
  5. drop a label there (Ctrl+B for cursor position or Ctrl+M for play position - I'd' opt for cursor posn. for accuracy)
  6. now move to around the 2 minute time
  7. Observe: your label from step 5 is now off-screen
  8. Audition to find your final cut-point
  9. drop a label there - the Mark-out
  10. zoom out so that both labels are on screen
  11. click and drag in the waveform from the label at step 5 to the label at step 9 to make the selection
  12. Press Delete or Ctrl+K
  13. Observe: the audio from the Mark-in to the Mark-out is deleted (as you want)
  14. Observe: you get left with two unnecessary labels (if, that is, you are using the sensible non-default setting in Interface prefs for "Retain labels if selection snaps to a label") which you then need to delete. And only one of them marks the cut point.
    If you have the default setting for that. then the labels get deleted automatically - but with this use-case you get left with a useless empty label track.

And unlike this simple scenario, the user may already have a label track with many useful labels, some of which could confuse this procedure.

Workaround would be to create a new label track and work with that - but that is even more cumbersome.

@DavidBailes
Copy link
Collaborator

Use case removing the middle minute or so of a 3 minute song

This particular use case can be done easily using the commands "Store Cursor Position", and "Cursor to Stored Cursor Position" on the Select menu.

@petersampsonaudacity
Copy link
Author

petersampsonaudacity commented Feb 25, 2022

This particular use case can be done easily using the commands "Store Cursor Position", and "Cursor to Stored Cursor Position" on the Select menu.

Indeed, and thanks for that tip - but these I suspect are obscure (not very "discoverable") commands for many users, I suspect that they are much more often used by VI users.
Plus neither of them comes with a system-defined shortcut in either of the two sets of shortcuts: Standard and Full.

My use case is not to seek existing ways of doing this but rather an illustration of why Koz' Mark-in and Mark-out points on waveforms are a really good way of doing this (for non-VI users anyway - I acknowledge they may well be useless for VI users).

And one thing I would find tricksy about using this method is that there is no visual cue for the store cursor position

@petersampsonaudacity
Copy link
Author

And one thing I would find tricksy about using this method is that there is no visual cue for the store cursor position

I logged this as a new issue:
No visual cue for stored cursor position #2592

@occultsoftworks
Copy link

Just echoing the above sentiment from Teetow. This is a system that would be of immense use in Games Audio, giving us the power to specify on a content level events and regions inside the audio track. It looks like this is a long-used element of the Source Engine, and is being added to Unreal Engine 5. I recently modified my own version of UE4 to support them as well.

It looks like there's some external resources related to supporting these in code:
https://bleepsandpops.com/post/37792760450/adding-cue-points-to-wav-files-in-c

And this is a good example of how it is used by the Source Modding Community:
https://developer.valvesoftware.com/wiki/Looping_a_Sound

@LWinterberg LWinterberg moved this from Undecided to Accepted in Feature Requests Feb 26, 2022
@andrewboie
Copy link

My use-case for this: I'm trying to digitize/archive a massive vinyl collection.

The workflow I ended up settling on involves recording on a solid-state Zoom recorder, where on the SD card we have one WAV file per release; I stop the recording and start again as I go to the next record. It's easy enough to do this while I am working my day job.

Once the card fills up, I go into Sound Forge, and then write WAV cue points to correspond to the track boundaries, trimming as I go. I then rename each file to correspond to the Discogs ID of the release.

Some Python I wrote to query Discogs does the rest. It splits the WAV into separate tracks, pulls down all the Discogs metadata, and converts to AIFF with a complete ID3 tag with cover art.

Being able to write the CUE points to the WAV file is the key feature I need. I have not been able to find a DAW besides Sound Forge that makes this easy. It would be great if Audacity could support it.

@LWinterberg
Copy link
Member

I think there's two concepts being talked about in here:

  1. in/out markers and three-point editing
  2. label-like markers and cue points

koz is talking about the former, teetow, occult and andrew about the latter.

@occultsoftworks
Copy link

I think the problem is overloading of the term "Marker", which a lot of other audio editing software use to refer to Cue Points.

@LWinterberg
Copy link
Member

I'm not yet entirely clear about how three-point editing would work properly in Audacity, given we don't have a separate timeline and file previewer like Premiere does, though maybe something like #2462 would require/benefit from it.

Without having thought through everything exactly, I wonder if having separate clip markers and project markers would be beneficial:

  • Clip markers, living within the waveform/just above it, moving together with them through the world. Might look somewhat similar to Ocen:
    • image
  • Project markers, living in the timeline and being solely commited to the time they've been placed in. They would have a line going across the entire project and get exported together with the project (like Vegas)
    • image

This would allow getting rid of sync lock as a tool to keep labels aligned with the waveform, as the marker either always stays in sync (clip marker) or never does (project marker). Actually, it might replace label tracks completely.

@petersampsonaudacity
Copy link
Author

petersampsonaudacity commented Feb 28, 2022

This would allow getting rid of sync lock as a tool to keep labels aligned with the waveform, as the marker either always stays in sync (clip marker) or never does (project marker).

So how would that deal with the use case when one has multiple different, independent, sets of sync-locked track groups in the same project (you do this by having a different label track under each SLTG)
See this page in the Manual: https://manual.audacityteam.org/man/sync_locked_track_groups.html#example

@LWinterberg
Copy link
Member

So how would that deal with the use case when one has multiple different, independent, sets of sync-locked track groups in the same project (you do this by having a different label track under each SLTG)

With a grouping feature where you can select some clips and then do something like right click > group clips. This also would be more versatile than the current sync lock as it would allow grouping only some, but not all clips in a track

@nekohayo
Copy link

A hearty +1 for this from the "labelling" perspective, and an additional usecase / user story as someone who has loved the way this is handled in Vegas:

I use label-like markers and regions as "annotations" to either keep notes on which parts need some particular work (that I don't have time to work on now, or maybe that could be worked on collaboratively with someone) or to identify important parts when analyzing/transcribing a discussion recording. Assuming they are very easy/frictionless to insert, they're kind of like digital Post-It notes for me, with the added benefit that they can allow accurately setting the editing cursor back to a previously identified position (they also act like bookmarks in that way).

The ability to export them as a .srt file (or similar standard subtitling formats) would be icing on the cake, and perhaps this is not the intent of this ticket here, but I'm mentioning that potential usecase too "while I'm here" anyway, in case you find it insightful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Design / UX Bugs, enhancement requests and tasks a designer should look at Enhancement Request Or feature requests. Open-ended requests are better suited for discussions. medium feature medium-impact feature
Projects
Status: timeline: eventually
Development

No branches or pull requests

9 participants