Skip to content

[Bug] Glide block does not produce true glissando effect (missing portamento) #7257

@Prince1895

Description

@Prince1895

Description

The Glide block is intended to create a glissando effect by blending overlapping successive notes. However, it currently does not apply a true pitch glide (portamento) through the synthesizer.
As noted in a TODO inside js/blocks/OrnamentBlocks.js (inside the GlideBlock class):

"Duration should be the sum of all the notes (like in a tie). If we set the synth portamento and use setNote for all but the first note, it should produce a glissando."

Expected Behavior

  1. The duration of the glide should be correctly calculated as the sum of all notes enclosed.
  2. The synthesizer should utilize Tone.js' portamento property (or setNote for subsequent notes) to create a continuous, sliding pitch effect between the notes rather than discrete steps.

Screenshot

Image

Multiple note blocks (with distinct pitches) placed inside the mouth of the glide block.

No duration argument attached to the top of the glide block (which means it defaulted to a 1/16th of a beat transition time).

How to Reproduce

  1. Open MusicBlocks.
  2. Create a sequence of notes with different pitches.
  3. Wrap them in a Glide block.
  4. Play the sequence. Notice that the notes play individually rather than sliding smoothly from one pitch to the next.

Environment:

  • Version: master branch
  • File: js/blocks/OrnamentBlocks.js

I would like to work on this issue and submit a PR for it!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    In Progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions