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

Oscilloscope suggestion #368

Open
zynmuse opened this issue Jun 24, 2022 · 4 comments
Open

Oscilloscope suggestion #368

zynmuse opened this issue Jun 24, 2022 · 4 comments

Comments

@zynmuse
Copy link

zynmuse commented Jun 24, 2022

Using the addsynth and selecting the oscilloscope tab.
It looks like the oscilloscope function has potential but is incomplete (work in progress?).

  1. The oscilloscope apparently shows the same trace twice. why not show just one trace. Or better still allow to select points in the processing train where the signal can be monitored ( eg to show the signal before and after filtering).
  2. The trace just shows the waveform, and is not sized to fit very well into the pane, Ought to have some time controls and ought to trigger on an edge.
  3. The labels to the right on the oscilloscope pane (MIXING, PUNCH or LEGATO can be selected) . These don't appear to have any effect on what is displayed.
  4. Ideally it should be possible to use the envelope start and length to automatically generate a single frame showing one complete note. This would be useful to see.
@fundamental
Copy link
Member

It looks like the oscilloscope function has potential but is incomplete (work in progress?).

I'd say that's a fair assessment. The watch point system was originally written to observe LFO/envelope values (by myself) and then was later extended in a Google Summer of Code event to include the oscilloscopes (by a student contributor). There's plenty of expansion left to the design and lots of rough corners that could be rounded out to make it more useful.

The oscilloscope apparently shows the same trace twice. why not show just one trace. Or better still allow to select points in the processing train where the signal can be monitored ( eg to show the signal before and after filtering).

I think the original goal was to demonstrate the capability of displaying multiple traces simultaneously in the UI (and thus recording multiple signals on the backend at the same time. There might be some additional signal trigger capture code modifications if you want them in the same plot to ensure that if either signal triggers (currently I think it's rising edge crossing a trigger point of 0.0f) then both signals get captured. Right now they're both independently triggered IIRC.

The trace just shows the waveform, and is not sized to fit very well into the pane, Ought to have some time controls and ought to trigger on an edge.

Agreed on both counts. Right now it's fixed length and should be triggering on an edge, just the threshold is not configurable.

The labels to the right on the oscilloscope pane (MIXING, PUNCH or LEGATO can be selected) . These don't appear to have any effect on what is displayed.

They used to during the feature development, so perhaps a regression has occurred. Either that or for the patch your testing with they're equivalent or otherwise indistinguishable.

Ideally it should be possible to use the envelope start and length to automatically generate a single frame showing one complete note. This would be useful to see.

Interesting. I hadn't considered that usecase, but it makes sense. I think the last direction to go for the work was to extend out the capture period and use a basic FFT in a non-realtime thread to analyze captured frames.

If you or anyone else wants to tackle this functionality I'm very in favor of enhancing it and I should be able to lend a hand in understanding the current behavior and bouncing through some design ideas. IMO being able to peak inside the signal pipelines of zyn could be very instructive to people learning about it, but the UI/UX has to be good enough that it's an approachable tool.

@zynmuse
Copy link
Author

zynmuse commented Jun 28, 2022

Thanks for your comments.

I don't have time to get that involved at present. I would welcome the mods as suggested if anyone has the time and the will power to make them!

FYI I was watching a youtube video in which a music producer was monitoring the envelope of a percussion sound using a scope in order to check and reduce the peak at the start using a compressor plugin. This would make the sound more powerful.

I thought I may be able to use the built in scope to monitor my percussion sound envelope in a similar way, hence my opening this issue.

@friedolino78
Copy link

I'm in a mood for adopting this issue.
besides the classical triggering methods we could use the available info about the played notes.

  • the display could be scaled to one period of the lowest note frequency
  • the display could be triggered by noteon and show a longer segment for watching transient sounds

@fundamental
Copy link
Member

the display could be scaled to one period of the lowest note frequency

'lowest note frequency' isn't something cleanly defined in zyn, but having a longer maximum recording length is a reasonable idea.

the display could be triggered by noteon and show a longer segment for watching transient sounds

This would not be trivial given the current sampling system design.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants