Representing Sharps & Flats in Musical Notes?

@dardoro Using the "Unicode [9837] as Letter" as code block seems to generate a flat symbol.

![Unicode for Flat Symbol|245x56](upload://rPQ0jfcroOASkCr2Gsnm5VdRv3W.png)

@jens We totally agree about the potential of MIDI. We just got MIDI keyboard capture working with Snap! / TuneScope, and hope to post a video soon.

@jens We're viewing our exploration of extended music capabilities in Snap! as a precursor of a code-based Digital Audio Workstation. Here's a link to a video that provides an overview:

You can accepe lower case b as input to mean flat, and use a MAP (or maybe DEEP MAP, if appropriate) to convert "b" to "♭" on output.

Love your video @glenbull, Those instruments sound absolutely awesome!

Right, lowercase b is also my suggestion for indicating "flat", civilized musical countries avoid ambiguities by naming what is otherwise known as "B natural" by the letter "H", so if you stay within the most common "church keys" (C/F) you're not even going to have to use a "flat" notation ever.

#WOW :smiley:

Is there a preview available to play with?

@cymplecy This is definitely a work in progress. However, beginning this week, we are posting a strand each week in which members of the Snap! community can explore some of the topics mentioned at the end of the video. The strand for the coming week is posted here:

We would welcome questions (if the activities in the tutorial accompanying the module are not clear). Once you have had an opportunity to explore, we would welcome feedback.

Are you interested/wanting feedback on possible bugs?

No problem if not at that stage - I'll just keep playing with TuneScope :smiley:

@cymplecy Yes ... we're definitely interested in identifying bugs and issues. The folks in the our CS department have a limited number of hours per week to address issues, but we're maintaining a list of problems even when we can't get to them right away. We're also happy to answer questions if the text documentation and or accompanying instructional videos are clear.

This doesn't work as expected
I am hearing a repetition of the last note at the end

@cymplecy Thanks for sharing this issue; we’ll take a look to see what the problem is.

Blech, this is asking for a miscounting of one of the inputs. Why not

Screen Shot 2021-10-15 at 9.32.37 PM

I actually have a few blocks I made a while ago that might help with this.

I'm not sure if you need these though.

(and before you ask, yes, I did in fact edit the xml for a block)

@bh You’re correct that mismatched inputs is a potential issue. The current format (not surprisingly) is partly a legacy issue. We first introduced notes and durations as separate lists because we didn’t want to get into combining multiple lists into tables (and rotating rows and columns) at an early stage with novice coders. That early decision rippled through subsequent modules.

Another factor was that we only recently managed to synchronize latencies and timing across multiple tracks so that timing worked reasonably well. Since longer tunes that didn’t drift out of synch weren’t feasible, mismatched inputs weren’t as much of an issue.

A final problem was that we were trying to get a handle on music theory. We wanted activities to be equally inviting to musical novices and experienced musicians,and weren’t sure what formats would best facilitate this. We revised about sixty percent of the materials between the second and third times that we offered the course. We’re still not there but hope that we are converging on more accessible, usable activities.

So possibly in the next revision (during the Christmas break) we should revisit how notes and durations are organized (along with a number of other aspects).

... and my duration menu is laughably lacking. Probably that too should be broken into two inputs, duration {Whole|Half|Quarter|Eighth|Sixteenth|etc.} and duration modifier{(none)|dotted|double-dotted|triplet|quadruplet|trill|etc.}

I guess you're only partly teaching computer science, but I think of this sort of activity as an invitation to teach abstract data types, such as notes. :~)

Anyone who thinks that sans serif typefaces are readable should check out the word "trill" above and its punctuation.)

The guitar doesn't seem to be in tune with the other instruments
(Sounds low on my system)

@bh @jbw3r We created a Duration block that has note duration (whole, half, etc.) and modifier (dotted, triplet, etc.) inputs:

Duration Block

Users can either enter values directly into the Play Note block or use the Duration block to generate the values:

Play Note Block

At present we only have values for the Dotted and Triplet modifiers in the lookup table, but it is extensible so that anyone who wants can enter any extensions that they need. Here's a link to the documentation:

Here is a link to the updated duration block:

@cymplecy @jbw3r We'll double-check this to see if the tuning is off. Thanks for bringing this to our attention.

@jens @jbw3r We have adopted your suggestion of using a lower-case "b" to represent flats. (Thanks for the suggestion!)

We are using the W3C Web Audio API to create instruments. (This method also enables us to add our own sampled instruments if we want.)

When Version 7 is moved to production, we would like to create a Snap! library with the music extensions that we have developed. Do you think that might be feasible within the Version 7 framework?

this sounds fantastic, Glen! I would love to see an extension with your awesome instruments in Snap!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.