Skip to content

decodeInstrument in music.ts does not consider offset for amp and pitch LFO's amplitude #11330

Description

@UnsignedArduino
    function decodeInstrument(buf: Uint8Array, offset: number): Instrument {
        return {
            waveform: buf[offset],
            ampEnvelope: {
                attack: get16BitNumber(buf, offset + 1),
                decay: get16BitNumber(buf, offset + 3),
                sustain: get16BitNumber(buf, offset + 5),
                release: get16BitNumber(buf, offset + 7),
                amplitude: get16BitNumber(buf, offset + 9),
            },
            pitchEnvelope: {
                attack: get16BitNumber(buf, offset + 11),
                decay: get16BitNumber(buf, offset + 13),
                sustain: get16BitNumber(buf, offset + 15),
                release: get16BitNumber(buf, offset + 17),
                amplitude: get16BitNumber(buf, offset + 19),
            },
            ampLFO: {
                frequency: buf[offset + 21],
                amplitude: get16BitNumber(buf, 22)  // here
            },
            pitchLFO: {
                frequency: buf[offset + 24],
                amplitude: get16BitNumber(buf, 25)  // here
            },
            octave: buf[offset + 27]
        }
    }

They appear that they should be get16BitNumber(buf, offset + 22) and get16BitNumber(buf, offset + 25) similar to the LFO frequencies and envelopes and waveform.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions