# Snapinator development (Snap! programmers wanted)

Hey!

I meant in scratch. The only uses I have seen for the list block are to concatenate a list of one character strings.

Ah, right. Personally I think the behavior of (Snap!) JOIN when given non-text inputs is weird and useless; I would have restricted its domain to text (including numbers). But we do it because Scratch does.

@djdolphin The username is available in the Getters and setters library.

1 Like

It turns out the pitch effect is nice and easy to replicate. Don't need to touch the audio samples at all.

(Btw, I think it's unfortunate that Scratch uses all these weird, opaque units like decisemitones. Snap! does it right by using the SI unit for frequency here.)

there's a problem with that, when stop all sounds block is ran, the block keeps running without the sound.

much better (also, here's the script, but you can also use a list of samples in the input

and these work because the new sound reporter is much faster than in snap 5.4.5

Very nice! I love how you use the new audio primitives in exactly the way I was hoping them to be used, including looking up the equal temperament formula as discovered by 朱載堉 Zhu Zaiyu「律學新說」and formulated by Simon Stevin in the 16th/17th century!
BTW I'm going to show something very similar, the Karplus-Strong "digitar" algorithm this Thursday in my EC-TEL keynote address "The Music Comes Out Of The Piano" https://ectelfi20.org/sessions/morning-welcome-and-keynote-3. Apparently that talk is going to be live-streamed to https://www.youtube.com/channel/UCIJkmXGs46ZfV38KxXf4N1Q?view_as=subscriber you so don't have to register for the conference to watch it.

1 Like

Keynote at 8:30am in what time zone?

CEST, the conference was going to take place in Heidelberg before COVID-19 turned it into an online event.

So if we're still on Daylight Savings Time it's 00:30 for me. :~/ I guess I'll still be awake...

So that's 2:30 AM EDT. I'm up that late right now, but I really shouldn't be. Especially shouldn't stay up an extra 90 minutes past that, so I'm afraid I won't be able to watch live.

JS code for this block:

[scratchblocks]
speak [hello] ::pen
[/scratchblocks]

var msg = new SpeechSynthesisUtterance("hello");
window.speechSynthesis.speak(msg);


Yes, I know that there are other blocks that change the tune of the voice and this command can't do it.