scratchfoundation / scratch-vm

Virtual Machine used to represent, run, and maintain the state of programs for Scratch 3.0
http://scratchfoundation.github.io/scratch-vm/
BSD 3-Clause "New" or "Revised" License
1.21k stars 1.5k forks source link

Scratch3_music uses MIDI note values where experimental Roland uses scale letter #938

Open CoolGames opened 6 years ago

CoolGames commented 6 years ago

Expected Behavior

I can play a scale for example if I start at E1 then step through 12 notes in Key of E at tempo 60 for 1 beat per note and .25 beat rest and play on external MIDI device. If I switch to another Key or tempo all notes behave correctly and play on the external MIDI in the new key.

Actual Behavior

I can play a scale if I know how to do MIDI in Scratch3 , but an experimental ScratchX note is designated as E with out the octave designated for external Roland Go:Keys 61k.

If I use the ScratchX then notes play numerically with beats and Roland plays a Key of E rhythm and is either a different tempo or unable to synchronize sounds generated by Scratch3_music by ASSETS sampled mp3.

Scratch3_music steps mathematically on non sharp or flat on internal sound produced from MP3. No ability to use MIDI sound fonts (yet).

notes and scales - screenshot_2018-02-19_19-50-02

Steps to Reproduce

Get a $300 Roland Go:keys 61k and try to play a scale in the key of E to the beat either in Scratch or transmitted tempo by the Roland.

Try attached SBX in Scratch 3.0 Notes_and_scales.zip

Operating System and Browser

Linux Ubuntu Studio 17.10 with Chrome Browser Version 62.0.3202.94 (Official Build) (64-bit)

thisandagain commented 6 years ago

Hi @coolgames it's a little hard to us (@ericrosenbaum and I) to understand what you are asking for here. It looks like you are asking for us to implement scales / keys in addition to the MIDI note number style we have currently for Scratch? Please confirm.

CoolGames commented 6 years ago

If I understand the SCRATCH implementation of MIDI NOTES for MUSIC then I can confirm the new MUSIC extension in developmental 3.0 has no MIDI facility yet.

I would like to play NOTE on the Go:Keys using the 3.0 software under development. Discussions seem to say no MIDI has been in SCRATCH since 1.4.

Alternatively: The SCRATCHX used for the Go:Keys has no way to play to the SOUND block NOTE at TEMPO variable that I can find. There are two new variables in the extension just added NOTE and VELOCITY and I can not figure where or how to use them as they disappear when I go to SOUND block.

In summary: SOUND block has TEMPO and NOTE but I can not see how it applies to Go:Keys which talks about MEASURE and KEY. It would seem I can change the KEY of the rhythm but the NOTE of the melody will not follow or even synchronize.

thisandagain commented 6 years ago

@CoolGames I see. You are requesting that we add support for MIDI communication (in addition to some other features that could make working wiki MIDI easier) to Scratch 3.0. Thanks for the suggestion. We will consider it.