Discuss Scratch
- Discussion Forums
- » Advanced Topics
- » Using a synthesiser with Scratch?
- Jonathan50
-
Scratcher
1000+ posts
Using a synthesiser with Scratch?
I'm curious if anybody has ever used a MIDI synthesiser or sound module with Scratch 1.4. I noticed that you can open a menu to select a MIDI output by running something like
in a workspace (only I don't have anything to use it with…)
(ScratchFrameMorph allInstances at: 1) openMIDI
Last edited by Jonathan50 (Nov. 2, 2018 21:13:55)
- Jonathan50
-
Scratcher
1000+ posts
Using a synthesiser with Scratch?
What??? After all these years it works on MS Windows. I thought it was kinda impossible. But Scratch 1.4 can drive a physical instrument. But Win seems to not work with my keyboard the first time you try playing something in a given program – but if you change the output device a couple of times or something, it works! 
Also ocular thinks this is the only post on the forums saying “openMIDI.” I thought I wrote more.

Also ocular thinks this is the only post on the forums saying “openMIDI.” I thought I wrote more.
- Steve0Greatness
-
Scratcher
1000+ posts
Using a synthesiser with Scratch?
This guy returned literally 5 years later. This guy is dedicated to using a synth in Scratch.
- Jonathan50
-
Scratcher
1000+ posts
Using a synthesiser with Scratch?
This guy returned literally 5 years later. This guy is dedicated to using a synth in Scratch.Kinda although if I was really dedicated I would've figured it in a week instead of almost-stumbling on the answer while trying to use my keyboard for something else?
(Edit: wait I've only had a keyboard for like a year or two, though I tried this before a couple or so times)Next question: Java Player, and early Flash/experimental viewer/Scratch 2(? or did it never support MIDI)
Last edited by Jonathan50 (Dec. 8, 2023 10:22:47)
- retro_person
-
Scratcher
100+ posts
Using a synthesiser with Scratch?
If you're looking into early Scratch 2.0 stuff, I suggest checking this and this out. The former contains source code and Flash files for a very early 2.0 version from 2009 (confirmed as the final version uses some of the source code from here), and the latter Flash files from early 2010.This guy returned literally 5 years later. This guy is dedicated to using a synth in Scratch.Kinda although if I was really dedicated I would've figured it in a week instead of almost-stumbling on the answer while trying to use my keyboard for something else?(Edit: wait I've only had a keyboard for like a year or two, though I tried this before a couple or so times)
Next question: Java Player, and early Flash/experimental viewer/Scratch 2(? or did it never support MIDI)
- Jonathan50
-
Scratcher
1000+ posts
Using a synthesiser with Scratch?
If you're looking into early Scratch 2.0 stuff, I suggest checking this and this out. The former contains source code and Flash files for a very early 2.0 version from 2009 (confirmed as the final version uses some of the source code from here), and the latter Flash files from early 2010.How did people find all these websites in the past few years? Just googling the initials of every Scratch team member plus “.swf” or “.image”?
Ok. The first doesn't have any sound blocks except “pop.”. I checked one version of the experimental viewer from the latter and it seems PLAY NOTE has only one two instruments. But for some reason I thought there was a time before the present set of 21 instruments with WAV samples were added (I have a vague memory of some reference to MIDI in the experimental viewer, unless I'm making it up)
I think basically every swf that was at least semi-public is publicly on the ScratchR Assembla repository (including the 1.4 Flash player, experimental viewer, and Scratch 2 alpha, with their histories). It was a long time before I realized that the 1.4 Flash Player, experimental viewer, and Scratch 2 all had the same codebase (I think I was looking at decompiled stuff) – for all I know that was a no-brainer to everyone else?
People have probably already extended Scratch 3 and Snap! to use the Web MIDI API? I had that idea with Snap! before I had a keyboard.
Last edited by Jonathan50 (Dec. 9, 2023 06:27:47)
- retro_person
-
Scratcher
100+ posts
Using a synthesiser with Scratch?
How did people find all these websites in the past few years? Just googling the initials of every Scratch team member plus “.swf” or “.image”?That's quite a long tale, but to make a long story short, back in September 2022, me and a group of friends interested in old Scratch versions stumbled upon this archived page under this particular directory. This file (although I later realized was included with every Squeak distribution) was present in early Scratch 0.x builds, and located directly under the main page of the /~jmaloney/ site. Therefore, I decided to try Scratch.exe and Scratch.zip, both of which worked. Later, I attempted Scratch28May05.zip, which, to my amazement, worked. Eventually, djdolphin helped write an automated scraper which would look for ScratchDDMMMYY.zip under the original webpage, which were assembled into one file here. Eventually, by guessing various names, it was discovered that directories such as /~jmaloney/ms/ and /~jmaloeney/blox/ existed, which is how those versions were found. As for this directory, I simply found it once by Googling: ‘site:playfulinvention.com “Index of”’.
But for some reason I thought there was a time before the present set of 21 instruments with WAV samples were added (I have a vague memory of some reference to MIDI in the experimental viewer, unless I'm making it up)You are correct! Versions such as v2011.09.26 labeled themselves as MIDIScratch.
I think basically every swf that was at least semi-public is publicly on the ScratchR Assembla repository (including the 1.4 Flash player, experimental viewer, and Scratch 2 alpha, with their histories). It was a long time before I realized that the 1.4 Flash Player, experimental viewer, and Scratch 2 all had the same codebase (I think I was looking at decompiled stuff) – for all I know that was a no-brainer to everyone else?Yes, I was aware of that, as djdolphin had brought it up after we found those 2.0 versions. However, the earliest commit containing a Scratch 2.0 SWF in the Assembla repository was from July 26, 2010, whereas these builds date back to May 22, 2010, and stop around July/August, presumably when they were copied to the ScratchR2 repository, which is why we found the older builds interesting. They also featured a different and slightly less functional UI than the August 2010 and newer builds.
Last edited by retro_person (Dec. 9, 2023 02:41:33)
- Jonathan50
-
Scratcher
1000+ posts
Using a synthesiser with Scratch?
That's quite a long tale, but to make a long story short,Ah, thanks. (I remember scratcharchive.cf)
You are correct! Versions such as v2011.09.26 labeled themselves as MIDIScratch.Odd, I feel like I saw that but I can't think when since the experimental viewer stops Aug 2010 so it won't be on Assembla
Maybe I also saw this class called MidiPrims in FFDec. It's in at least in some 1nn (wonder where medians found those alpha versions before 191) and 2nn versions, but oddly not in PlayerOnly v37 (Oct 2011), and since that comes in between chronologically, maybe there's no connection between MidiPrims and MIDIScratch. It has blocks

which (unlike the actual PLAY NOTE etc. which are also present) I don't think do anything – seems like it was meant to be an HTTP extension or the like. (Odd mention of “java”.)
Sorry for all the meta-discussion.

Edit: Oh, those blocks are in MIDIScratch's Sound category (and now I'm pretty sure I've tried it before)… and the menu lets you set a host IP address, so it must've been an HTTP extension (they stayed on in the offline editor…) But I guess you need a server program (like the Scratch Device Manager), and we don't have that. I thought maybe Flash would've had a MIDI API but perhaps not. (I guess it was written in Java)
Last edited by Jonathan50 (Dec. 9, 2023 06:23:30)
- Jonathan50
-
Scratcher
1000+ posts
Using a synthesiser with Scratch?
The Java player seems to have the whole range of General MIDI instruments (edit: not all the instruments are right but I think they're better than Flash; it doesn't use the OS's synth but maybe it's some Java MIDI API) (I guess that made it a lot better than the Flash player for a few projects, XD). So maybe it could be hacked easily enough to work with a keyboard (edit: yeah, that would be pointless). And I think this is the sum of my contributions.
Last edited by Jonathan50 (Dec. 9, 2023 06:36:51)
- Discussion Forums
- » Advanced Topics
-
» Using a synthesiser with Scratch?