SiSco.lv2
A simple audio oscilloscope with variable time scale in LV2 plugin format.
SiSco implements a classic oscilloscope display with time on the X-axis and signal level on the Y-axis (for an XY mode display please
see Stereo-Phase-scope part of the meters.lv2 plugin bundle).
The minimum time-scale is 50 micro-seconds per grid, yielding a maximum resolution of 960kHz at 48SPS. The maximum buffer-time is 15 seconds.
The time-scale setting [ (1) in the image below ] is the only parameter that affects data acquisition. All other settings act on the display of the data only.
The vertical axis displays floating-point audio-sample values with the unit [-1..+1].
The amplitude can be scaled by a factor of [-6..+6], negative values allow to invert polarity of the signal, the numeric readout is not affected by amplitude scaling.
Channels can be offset horizontally and vertically. The offset applies to the display only and does not span multiple buffers (the data does not extend beyond the original display). This allows to adjust the display in 'paused' mode after sampling a signal.
The LV2 plugin comes in 1-4 channel variants. The oscilloscope allows to visually hide channels as well as to freeze the current display buffer of each channel. Regardless of display, data-acquisition for every channel continues and the channel can be used for triggering.
Operation Modes
- No Triggering
- The Scope runs free, with the display update-frequency depending on audio-buffer-size and selected time-scale. For update-frequencies less than 10Hz a vertical bar of the current acquisition position is displayed. This bar separates recent data (left of it) and previously acquired data (right of it).
- Single Sweep
- Manually trigger acquisition using the push-button, honoring trigger settings. Acquires exactly one complete display buffer.
- Continuous Triggering
- Continuously triggered data acquisition with a fixed hold time between runs.
Usage
All control elements are operated in using the mouse:
- Click+Drag
- left/down: decrease, right/up: increase value. Hold the Ctrl key to increase sensitivity.
- Shift+Click
- reset to default value
- Scroll wheel
- up/down by 1 step (smallest possible adjustment for given setting). Rapid continuous scrolling increases the step-size.
In paused mode, the cursors can be positioned with mouse click on the canvas. Button 1 (left) sets the first cursor's position, button 3 (right) the second cursor.
User Interface Elements
- (1) Time-Scale Configuration
- Allows to set horizontal grid-spacing in a range from 50 µsec to 1 second. The maximum oversampling-factor is 32. If the plugin runs at sampling-rates below than 32KSPS, the actual grid may differ from the selected setting. Check numeric the display (2) for the actual scale. If this setting is modified while paused (3), it will only become effective with the next acquisition run. Changing the time-scale always clears the display-buffer memory.
- (2) Time-Scale Display
- Actual time-scale display. The unit per horizontal grid and the total range of data-acquisition is displayed in both seconds and Hz. Usually the value is identical to the setting of (1), but may differ for low or odd sample-rates. This readout is based on actual samples-per-pixel mapping and always valid for the displayed data.
- (3) Pause Toggle Button
- Allows to freeze the display in order to inspect acquired data. Pause is only available in free-run (no trigger) and in continuous-trigger after a complete acquisition cycle has been completed. Freezing the display also enables cursors (11, 12) to analyze the data.
- (4) Channel Settings
- Allows to alter the waveform display. These settings apply only to the display-buffer and can also be modified even when acquisition is paused.
- Vertical zoom (amplitude) and polarity can be set with the "Ampl" dial in a range from -6 to +6 (linear scale, corresponding to +15.5dB). The 'gang' button enables identical amplitude scaling for all channels.
- X/Y offset dials are in percent of screen width/height (-50..+50%). The exact X and Y offset values in time (horizontal) and pixel (vertical) units are detailed in the footer (10).
- A Channel can be hidden using the left-most (green) button,
- the display can be frozen (memory, red button),
- and the on-screen-display numeric annotations can be toggled and positioned (3rd button: black/white/blue/yellow off/center/left/right).
- (5) Amplitude Indicator
- Color-coded indication of channel-amplitude range (green: left/chn 1, red: right/chn 2, blue: chn 3, magenta: chn 4).
- (6) Trigger Mode and Type
- Allows to select trigger mode [Off, Manual, Cont'd] and Type [rising edge, falling edge and channel].
- (7) Manual Trigger Button
- Only available in Manual Trigger mode, initiate a single sweep honoring trigger-settings (8).
- (8) Trigger Settings
- When triggering is enabled, the trigger-level can be set in the range corresponding to raw audio-data [-1..+1]. The X-position allows to position the trigger point in percent of screen-width. Note that the wave-form will only be displayed once the trigger position has been reached (setting this value to 100% will avoid any redraw flickering). The hold-time is only available in continuous trigger mode. It specifies the minimal delay between two acquisition cycles.
- (9) Trigger Indicator
- A vertical dashed line indicating trigger position and channel and a cross at the given trigger level.
- (10) Channel Info Area
- Shows the numeric data corresponding to the Channel X,Y offsets (4).
- (11) Trigger / Cursor Info Area
- When paused, this area displays the time delta between the two cursor points in both seconds and hertz. When running, this area is used to display trigger-status (if any).
- (12) Cursor Settings
- Allows to set horizontal position of cursors for numeric readout when the display is paused. Regardless of channels, two cursors are available. The x-position is given in pixels from the left screen edge. The channel number for each cursor defines the numeric readout: The sample-value of the specified channel at given x-position is printed on the display.
- (13) Cursor and Numerics
- Visual Markers indicating signal level at given cursor position for the chosen channel. At low-zoom levels - ie when one pixel corresponds to more than one raw audio sample - the minimum and maximum signal level at the marker-position is displayed. Additionally detailed per channel information can be displayed for the time range between the two marker positions. The latter includes RMS, peak-to-peak and absolute values. This on-screen-display is only available in paused mode (1) and can be toggled using the channel-display settings (4). If the selected area spans two acquisition cycles, a separation marker is added to the display and the OSD is postfixed with an asterisk.
Class | Name | Audio/Midi/CTRL | Description |
URI |
---|
in | out |
Analyser | Simple Scope (3 channel) | 3/0/1 | 3/0/1 | Three channel audio oscilloscope with variable time scale, triggering, markers and numeric readout. | http://gareus.org/oss/lv2/sisco#3chan |
Analyser | Simple Scope (3 channel) GTK | 3/0/1 | 3/0/1 | Three channel audio oscilloscope with variable time scale, triggering, markers and numeric readout. | http://gareus.org/oss/lv2/sisco#3chan_gtk |
Analyser | Simple Scope (4 channel) | 4/0/1 | 4/0/1 | Four channel audio oscilloscope with variable time scale, triggering, markers and numeric readout. | http://gareus.org/oss/lv2/sisco#4chan |
Analyser | Simple Scope (4 channel) GTK | 4/0/1 | 4/0/1 | Four channel audio oscilloscope with variable time scale, triggering, markers and numeric readout. | http://gareus.org/oss/lv2/sisco#4chan_gtk |
Analyser | Simple Scope (Mono) | 1/0/1 | 1/0/1 | Single channel audio oscilloscope with variable time scale, triggering, markers and numeric readout. | http://gareus.org/oss/lv2/sisco#Mono |
Analyser | Simple Scope (Mono) GTK | 1/0/1 | 1/0/1 | Single channel audio oscilloscope with variable time scale, triggering, markers and numeric readout. | http://gareus.org/oss/lv2/sisco#Mono_gtk |
Analyser | Simple Scope (Stereo) | 2/0/1 | 2/0/1 | Two channel audio oscilloscope with variable time scale, triggering, markers and numeric readout. | http://gareus.org/oss/lv2/sisco#Stereo |
Analyser | Simple Scope (Stereo) GTK | 2/0/1 | 2/0/1 | Two channel audio oscilloscope with variable time scale, triggering, markers and numeric readout. | http://gareus.org/oss/lv2/sisco#Stereo_gtk |
|