Sound track in NLA editor doesn't mute at the end of the NLA strip #84944

Open
opened 2021-01-21 21:45:16 +01:00 by Cristian Moga · 18 comments

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: GeForce GTX 1070 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 457.30

Blender Version
Broken: version: 2.92.0 Beta, branch: master, commit date: 2021-01-17 10:36, hash: blender/blender@2ee2f87f29
Worked: (newest version of Blender that worked as expected)

Short description of error
The sound plays over the end of the NlaTrack : Nla strip edited to end at frame X the sound is still playing after X (because the sound clip is longer)
The mute track property can't be animated and there is no point for the end of the nla strip since it only uses the start frame.
In video sequencer you are able to change the end of the sound clip, but not in NLA

as a plus the default Sound track NLA Strip doesn't show the correct duration of the imported soundclip.Bug.JPG

Exact steps for others to reproduce the error

add a speaker object
select a sound clip

in the NLA editor the default soundtrack NLA strip is not adapted to the duration of the imported soundclip
if you add a soundclip the new NLA strip has the correct size/ duration
if you change the end frame of the NLA strip it doesn't affect in anyway the soundclip duration

**System Information** Operating system: Windows-10-10.0.19041-SP0 64 Bits Graphics card: GeForce GTX 1070 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 457.30 **Blender Version** Broken: version: 2.92.0 Beta, branch: master, commit date: 2021-01-17 10:36, hash: `blender/blender@2ee2f87f29` Worked: (newest version of Blender that worked as expected) **Short description of error** The sound plays over the end of the NlaTrack : Nla strip edited to end at frame X the sound is still playing after X (because the sound clip is longer) The mute track property can't be animated and there is no point for the end of the nla strip since it only uses the start frame. In video sequencer you are able to change the end of the sound clip, but not in NLA as a plus the default Sound track NLA Strip doesn't show the correct duration of the imported soundclip.![Bug.JPG](https://archive.blender.org/developer/F9591443/Bug.JPG) **Exact steps for others to reproduce the error** add a speaker object select a sound clip in the NLA editor the default soundtrack NLA strip is not adapted to the duration of the imported soundclip if you add a soundclip the new NLA strip has the correct size/ duration if you change the end frame of the NLA strip it doesn't affect in anyway the soundclip duration
Author

Added subscriber: @in10siv

Added subscriber: @in10siv

Added subscriber: @mano-wii

Added subscriber: @mano-wii

I can confirm that the length of the strip does not appear to influence the duration of the sound.
Apparently the only thing that matters is where it starts.

The manual also says nothing about the duration of the sound:
https://docs.blender.org/manual/en/latest/editors/nla/strips.html#sound-clip-strips

So this seems to be a known issue.
But I'm not familiar with that area to know if it's a bug or known issue.

I can confirm that the length of the strip does not appear to influence the duration of the sound. Apparently the only thing that matters is where it starts. The manual also says nothing about the duration of the sound: https://docs.blender.org/manual/en/latest/editors/nla/strips.html#sound-clip-strips So this seems to be a known issue. But I'm not familiar with that area to know if it's a bug or known issue.
Member

Added subscriber: @wbmoss_dev

Added subscriber: @wbmoss_dev
Member

blender/blender-staging@022e815fbd Sound clip NLA Strips for Nexyon

This adds support for sound strip types but not actually playing sounds.

blender/blender-staging@13249b925e 3D Audio GSoC: Speaker objects fully functional!

This adds support for them to play sound based on the strip's start frame.

It doesn't look like a bug. It looks like sound strips are intended to only specify the start frame. I haven't found anything that suggests the strip's duration is supposed to do anything.

>blender/blender-staging@022e815fbd Sound clip NLA Strips for Nexyon This adds support for sound strip types but not actually playing sounds. > blender/blender-staging@13249b925e 3D Audio GSoC: Speaker objects fully functional! This adds support for them to play sound based on the strip's start frame. It doesn't look like a bug. It looks like sound strips are intended to only specify the start frame. I haven't found anything that suggests the strip's duration is supposed to do anything.
Author

I see, so that is the only thing it does, but i still feel that this is an issue of inconsistency in the first place.

I see, so that is the only thing it does, but i still feel that this is an issue of inconsistency in the first place.
Member

Added subscribers: @neXyon, @dr.sybren, @lichtwerk

Added subscribers: @neXyon, @dr.sybren, @lichtwerk
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Member

Lets confirm it for now though (it could still be closed as a Known Issue).

Not quite sure who could do the decision here though?

CC @dr.sybren
CC @neXyon

Lets confirm it for now though (it could still be closed as a Known Issue). Not quite sure who could do the decision here though? CC @dr.sybren CC @neXyon
Member

Correct, the NLA strip is only there to signal the start of the playback of the sound. I remember when I implemented this: I wanted a user interface similar to the dope sheet, where you could simply set key frames in which the sound starts to play, but that was not possible. Instead I used the NLA editor, where the strips have lengths... So this was actually a conscious decision to have this behaviour!

"Fixing" the issue would be as simple as changing the two FLT_MAX in sound.c to (double)strip->end / FPS. That could certainly be done, but might break existing files, where people use the NLA strips just for positioning the start of the playback. Also, this UI would then still be inconsistent with the VSE, since you cannot edit the start of the clip. Any extension or scaling at the beginning will basically end up moving the start of the sound to a different frame and lengthening/shortening the end instead of changing where in the sound file the sound starts to play back.

So in sum, it's a UI issue and I just had another idea on how to fix it: we could remove speakers and make it possible in the sequence editor to link a sound sequence to a 3D object (like an empty) or keep the speakers and allow linking only to those. Then we can do the corresponding editing in the sequencer. :)

PS: the default NLA strip doesn't have the correct length because it is added before the sound is added, so we don't even know yet, what the length of the sound is. If we keep the old behaviour that the NLA strips only set the start of the sound, it might actually be better to always just use the default length of 10 frames for the strip in order not to cause additional confusion, that the sound should stop at the end of the strip.

Correct, the NLA strip is only there to signal the start of the playback of the sound. I remember when I implemented this: I wanted a user interface similar to the dope sheet, where you could simply set key frames in which the sound starts to play, but that was not possible. Instead I used the NLA editor, where the strips have lengths... So this was actually a conscious decision to have this behaviour! "Fixing" the issue would be as simple as changing the two `FLT_MAX` in `sound.c` to `(double)strip->end / FPS`. That could certainly be done, but might break existing files, where people use the NLA strips just for positioning the start of the playback. Also, this UI would then still be inconsistent with the VSE, since you cannot edit the start of the clip. Any extension or scaling at the beginning will basically end up moving the start of the sound to a different frame and lengthening/shortening the end instead of changing where in the sound file the sound starts to play back. So in sum, it's a UI issue and I just had another idea on how to fix it: we could remove speakers and make it possible in the sequence editor to link a sound sequence to a 3D object (like an empty) or keep the speakers and allow linking only to those. Then we can do the corresponding editing in the sequencer. :) PS: the default NLA strip doesn't have the correct length because it is added before the sound is added, so we don't even know yet, what the length of the sound is. If we keep the old behaviour that the NLA strips only set the start of the sound, it might actually be better to always just use the default length of 10 frames for the strip in order not to cause additional confusion, that the sound should stop at the end of the strip.
Author

I love the idea to link a sound clip to a 3D object in the Sequencer, but i would not remove the speaker since you have more control over the cone of volume/orientation.

Keeping the Speaker and linking sound clips from the sequencer will make it better since you could add different sounds to a single Speaker(with the properties that you have set from the begging). I would remove the pitch and volume from the speaker object since you have them already in the sequencer(specific for each sound clip).

If we keep the NLA strip, at least an update of the first Strip after the sound is added would be better, at least for a visual representation, even if it doesn't change with the pitch (this behavior is the same in the sequencer).

I love the idea to link a sound clip to a 3D object in the Sequencer, but i would not remove the speaker since you have more control over the cone of volume/orientation. Keeping the Speaker and linking sound clips from the sequencer will make it better since you could add different sounds to a single Speaker(with the properties that you have set from the begging). I would remove the pitch and volume from the speaker object since you have them already in the sequencer(specific for each sound clip). If we keep the NLA strip, at least an update of the first Strip after the sound is added would be better, at least for a visual representation, even if it doesn't change with the pitch (this behavior is the same in the sequencer).
Author

proposal.jpg Proposal for the linking menu

![proposal.jpg](https://archive.blender.org/developer/F9603774/proposal.jpg) Proposal for the linking menu

In #84944#1103168, @neXyon wrote:
So this was actually a conscious decision to have this behaviour!

In that case, let's see this as an issue in the documentation. IMO such behaviours should be documented well. @neXyon do you feel up to updating some docs?

So in sum, it's a UI issue and I just had another idea on how to fix it: we could remove speakers and make it possible in the sequence editor to link a sound sequence to a 3D object (like an empty) or keep the speakers and allow linking only to those. Then we can do the corresponding editing in the sequencer. :)

I'm all for making the speaker objects more reliable/useful. That's not something to do in a bug report though ;-)

> In #84944#1103168, @neXyon wrote: > So this was actually a conscious decision to have this behaviour! In that case, let's see this as an issue in the documentation. IMO such behaviours should be documented well. @neXyon do you feel up to updating some docs? > So in sum, it's a UI issue and I just had another idea on how to fix it: we could remove speakers and make it possible in the sequence editor to link a sound sequence to a 3D object (like an empty) or keep the speakers and allow linking only to those. Then we can do the corresponding editing in the sequencer. :) I'm all for making the speaker objects more reliable/useful. That's not something to do in a bug report though ;-)
Member

Well, the question here is whether this should be fixed actually. As I wrote previously, it's quite easy to fix and with some file version magic it should also be possible to make old files work properly as well. It's more a UI vs previous/current behavior question. Who could best decide on this? I can then either update the docs or implement the behavior.

Well, the question here is whether this should be fixed actually. As I wrote previously, it's quite easy to fix and with some file version magic it should also be possible to make old files work properly as well. It's more a UI vs previous/current behavior question. Who could best decide on this? I can then either update the docs or implement the behavior.

Personally I would prefer to add this feature.
The length of the NLA strip in this case is useless and can confuse rather than help.
If this length is to be put to some use, muting the sound seems to be a good option.

If possible, to avoid breaking existing files, we could add versioning and increase the length of the NLA strip in these cases.

Personally I would prefer to add this feature. The length of the NLA strip in this case is useless and can confuse rather than help. If this length is to be put to some use, muting the sound seems to be a good option. If possible, to avoid breaking existing files, we could add versioning and increase the length of the NLA strip in these cases.
Member

Added subscriber: @BClark

Added subscriber: @BClark
Member

"If this length is to be put to some use, muting the sound seems to be a good option."

Agree

"If this length is to be put to some use, muting the sound seems to be a good option." Agree
Author

In #84944#1312250, @BClark wrote:
"If this length is to be put to some use, muting the sound seems to be a good option."

Agree

Totally agree, as long as it doesn't put the Speaker Object on mute.

> In #84944#1312250, @BClark wrote: > "If this length is to be put to some use, muting the sound seems to be a good option." > > Agree Totally agree, as long as it doesn't put the Speaker Object on mute.
Aaron Carlisle removed the
Module
Animation & Rigging
Module
Core
labels 2023-02-08 04:54:37 +01:00
Aaron Carlisle added the
Module
Animation & Rigging
label 2023-08-13 14:31:05 +02:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
7 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-manual#84944
No description provided.