Posts tagged with “Notation/tab rendering”

You can finally add and remove hairpins — aka crescendo or decrescendo markings — in the Soundslice notation editor.

Previously, we only supported hairpins if you happened to import a MusicXML file that already had them defined. Now, you can create and remove them directly within our editor.

Use these two new buttons in our editor’s “More notations” menu:


To create a hairpin, select a bunch of notes and click the appropriate button to specify a crescendo or decrescendo. That’s it!


While we were at it, we improved the way we display hairpins. If a hairpin is split across multiple staves, then we’ll now make sure that the hairpin isn’t fully closed at the stave break. Here’s a before-and-after:


It’s subtle change that communicates the intent of the hairpin more clearly.

Over the past month, we’ve rolled out several improvements to how our music looks — plus some new functionality in our notation editor. Here’s an overview.

Slur positions

Our system has always used built-in rules to determine whether slurs should be displayed above or below a staff.


Now, you can manually override our automatic positioning. Use the new “Toggle slur side” button in our notation editor.


You can also assign a custom keyboard shortcut for this, if you’d like.

Relatedly, we now preserve the slur position for any music you import from MusicXML files going forward. (Previously, we ignored that information.)

Better accidental positioning with multiple voices

Previously, in music with multiple voices, our rendering engine was quite naive about accidentals, resulting in ugly clashes like this:


Now, we take multiple voices into account when positioning accidentals, to ensure they don’t collide:


Much better!

On a similar note, our rendering engine is now smarter about whether an accidental is strictly necessary in a multiple-voice context.

In this example, the second A♭ isn’t necessary, because it’s already been made active by the first note in the bar:


That’s how we used to render it, because our algorithm for accidentals didn’t properly take multiple voices into account. Now, we do the right thing and hide that second accidental:


Of course, you can still manually display the accidental if you’d like. Which brings us to...

Forced accidentals

Previously, our system would only display an accidental if it was absolutely necessary, or if you specified a cautionary accidental within parentheses. Now, you have the ability to force the display of any accidental.

To do this, just highlight the note in our notation editor and click one of the accidental buttons.

In addition, we’ll now detect forced accidentals for any music you import from MusicXML going forward.

Cautionary time signatures

We now display a cautionary time signature at the end of a stave, if the first bar in the next stave has a different time signature:


Note that our system lays out notation according to your device’s screen size and your current zoom level — so cautionary time signatures will appear automatically when the situation presents itself.

We’re announcing a bunch of new features and improvements today:

Embed channel posts

An exciting new option for those of you posting to channels: You can now embed your channel posts in other websites — for free.

Each channel post now has an “Embed” tab on its page (example). Click that to get the embed code for the post. Then just copy and paste that code into your own website. If you’ve ever embedded a YouTube video, you’ll feel right at home.


The embed looks like this (go on, press Play!):

This is our “miniplayer,” which is optimized for giving a quick taste of the music as opposed to being a full practice environment. It has a “View full version” link, along with a link back to your Soundslice channel.

Some ideas for why you’d want to embed a channel post in your website:

  • For bloggers: Easily share licks/ideas in your music-focused blog, so that people can hear the real audio and see synced notation
  • For course creators: Promote a course you’re selling in our store
  • For Soundslice licensing customers: Give your potential customers an idea of the high-quality music learning experience paying members get access to
  • For music teachers: Give your potential students an idea of the high-quality music learning experience you’re using with your private students

Strum directions

You can now add strum directions to your slices. These are arrows that specify whether to strum upward or downward:

To add this to your slices, use the new “Strum upward” and “Strum downward” buttons in our notation editor‘s “More notations” section. This works for music with and without tablature.


Disable synth playback

Each slice you create on our site has synthetic playback active by default, regardless of whether you’ve synced it with separate audio/video. You can now disable the synthetic playback option, such that only the “real audio” recordings are available for that slice.

Some reasons for why you might want to do this:

  • The specific piece of music doesn’t have pitched notes (e.g., it’s only chord diagrams)
  • You want to minimize choice/confusion for your students/customers
  • You simply don’t like the synth playback and don’t see value in it

To disable synth playback for one of your slices, edit the slice, click “Settings” and choose the (new!) “Advanced” menu. This is available for all paying Soundslice customers.


Update your channel posts without unpublishing

Previously, if you published a slice to your channel and wanted to make a change to its channel post settings, the only way to do that was to unpublish it, make the changes, then republish. That was rather annoying…!

Now, you can edit the channel post’s information without unpublishing. Much better.

Ability to put a course on sale

For those of you selling courses in our store, you can now mark a course as “for sale.” Previously, you could have simply changed the price, but that didn’t communicate that the course was on sale. With our new feature, the old price will remain on the page, crossed out, for context.

More info is here.

Loading indicator

For those of you on slower connections, we’ve added a loading indicator in our player. Previously, the notation area of our player simply stayed blank until it loaded. Now you’ll be assured that things are loading.

A larger default video width

We’ve increased the default width of videos in our player. Previously, they were a bit too small. The video will now be 40% of the player’s width:


Although it’s always been possible to resize videos easily, by dragging the vertical line between the video and notation, this is a nicer default.

Here are some improvements we’ve made recently:

Better rendering of half notes in stemmed tab

Previously, our stemmed tab view treated quarter notes and half notes in exactly the same way, which made it impossible to tell them apart:


Now, half notes use shorter stems, while quarter note stems continue to extend all the way through the strings. This should clear up any ambiguity.


New “About Soundslice” page

We’ve revamped our About section. Have a look!

Nicer design of “Add recording” screen

We’ve added some icons and removed the cheap-looking radio buttons. Here’s how it used to look:


And here’s the new look:


Proper key signatures with capos and tuning shifts

We made an improvement to our recent new options for capo and shifted guitar tunings. If you choose “Ignore tuning shift in notation” or “Ignore capo in notation” for a track, then we’ll automatically update the track’s key signature so that it takes the ignored shifts into account.

For example, if your slice is in the key of G major and you have a tab track that’s set to “Tune down 1/2 step,” then we’ll change that track’s key signature to Ab major. (Previously it remained in G major.) If you don’t want this behavior, just uncheck “Ignore tuning shift in notation” or “Ignore capo in notation” in our notation editor’s Tracks menu.

Changed enable_synth parameter in embeds

For those of you embedding Soundslice, we’ve changed the way the enable_synth=0 URL parameter works.

Previously, if you specified enable_synth=0 in a slice that had no recordings, playback wouldn’t be possible because our player got confused. Now, we’ll still allow playback — just with no audio. This is useful if you’re doing a sophisticated integration with your own audio playback engine.

If you use enable_synth=0 in a slice that does have recordings, then the synth player will be hidden, as before.

Right on the heels of our recent notation engine improvements, here’s a nice new way of formatting text within your slices.

Previously, we only supported “text above” and “text below,” which look like this:


This type of text always gets its own dedicated margin — which, in practice, means it can be quite far from the notes it’s describing. It works well for high-level descriptions of music but not well for performance instructions and expressions such as accel.

Now, we support a second type of text — expression text — which is positioned much closer to the associated note.


You can place it either above or below notes, and it can be optionally italicized (a longtime convention for expression text).

To create this type of text, use the new “expression” buttons in our notation editor (documented here). We’ve also updated our MusicXML importer to use that style of text when appropriate.

Here’s something that’s super geeky but many Soundslice users will appreciate: we’ve greatly improved our sheet-music drawing engine to do a much better job of positioning things.

Screenshot of notation

Some quick background: all of our notation is positioned automatically, responding to your device’s size and your chosen view preferences (zoom level, hidden elements, etc.). This means our engine needs to be smart at placing the dozens of possible symbols in thousands of possible situations.

The goal is to lay out all the symbols — slurs, articulations, dynamics, fermata, etc. — while avoiding clashes and making the music easy to read.

We’ve historically done an OK job at this, but two challenges have slowly built up over time. First, we’ve continually added support for many more musical symbols — complicating matters for our rendering engine. Second, our customer base has gotten larger and more sophisticated, demanding higher standards and inputting more complicated pieces of music.

We needed to rethink our system — our collision-detection algorithms — from the ground up. And I’m happy to announce that we’ve launched a brand-new engine!

Effective immediately, all music on Soundslice is positioned with our much-improved algorithms. If you’ve created slices, you don’t have to do anything to update them; they’re already using the new system.

In many cases, the improvements are subtle, but here are a few specific examples.

Probably the most common noticeable improvement concerns symbols directly above or below notes. All of the dozen-or-so markings you can stack — such as fingerings, articulations, text, trills or bowing directions — are now properly positioned so that they don’t collide:

Screenshot of notation

Our old engine often had problems with slurs especially. We’ve fixed many slur positioning problems:

Screenshot of notation

For music with multiple voices, layout gets particularly complex. We’ve made great progress in this area:

Screenshot of notation

Even in cases where there weren’t collisions, we’ve improved positioning to be tighter and make better use of space. A good example is ottava symbols (8va and 8vb). Previously, they were always allotted a dedicated “row” of space, which could lead to comically large gaps:

Screenshot of notation

Finally, here’s an especially fun one, an extreme edge case that comes from our internal test collection. (The music is nonsensical; this is merely meant to challenge our system.)

Screenshot of notation

Much better! Of course, there’s still more work to do, because music notation is a complex beast. But we’re confident we’ve made some great strides with this update, and we’re in a strong position to continue improving the engine. If you ever find specific music that doesn’t look good in Soundslice, please get in touch with a link or screenshot. Onward!

Here’s a new feature that several people have requested: you can now customize bar numbering in your slices.

Before this change, bar numbering in Soundslice was simple and “dumb.” The first bar was labeled as number 1, and the number increased by one for each subsequent bar. There was no way to change that.

Now, you can use our notation editor to override the bar numbers however you’d like. For example, you might want to:

  • Change the bar number to 0 for a pick-up bar, so that the first full bar gets marked as bar 1 instead of 2.
  • Reset the bar number to 1 for each lick/phrase within a larger lesson.
  • Change the first bar’s number to a larger number, to communicate that it’s an excerpt of a longer piece.

Here’s an example of the second idea:


This slice includes two licks, and we’ve reset the bar number for the second lick (hence the bar number “1” at the start of the second stave).

If you’ve overridden a bar number, all subsequent bars will be labeled relative to your override — so you only need to override one bar. For example, if you change the first bar’s number to “9,” the second bar will automatically be labeled as bar 10, and so on, without you needing to override the subsequent bars.

If you’ve overridden a bar number, the number will always be displayed in notation. Otherwise, we only render bar numbers for the first bar in each stave. Eventually we plan to add a “Display bar number for each bar” setting.

You’ll find the new “Override bar number” feature in our notation editor (see the help page here). We’ve also improved our MusicXML importer to automatically detect custom bar numbers for any MusicXML files you upload moving forward.

Here’s a new feature for those of you using our tab editor with capo or shifted guitar tunings: you can now control whether the standard notation takes the capo/tuning into account.

Previously, if you used a shifted tuning such as “Tune down 1 step,” our standard notation would always reflect the sounded pitch. For example, here we see some tablature in a shifted tuning, with the notation reflecting the sounded pitch:

Screenshot of notation

The problem is, this notation is a bit hard to read, because you have to keep in mind your strings are all shifted a whole step down. It’s much easier to read if it’s relative to standard tuning. (This is similar to the concept of transposing instruments.)

That’s where our new feature comes in. The “Add track” and “Change track” menus now have an “Ignore tuning shift in notation” option. If you check the checkbox, then the notation will ignore the tuning shift. Hence, our above example would look like this:

Screenshot of notation

Much easier to read. An experienced reader will be able to see this is an open G shape, without needing to do the mental gymnastics of the tuning shift.

Note that you’ll only see the “Ignore tuning shift in notation” option if your tab track has a shifted tuning, with six strings. If it uses a non-shifted tuning, such as Drop D or Fourths tuning, we’ll always take the tuning into account in the notation.


We’ve also added a similar option for capos. When you add or edit a track with tablature and specify a capo, you’ll now see the option “Ignore capo in notation.” It’s checked by default.

This is a bit less exciting than the shifted tuning feature, because our notation engine already ignored capos — but now you can opt in to taking the capo into account.

We’ve improved our tablature rendering today to make hammer-ons and pull-offs more beautiful and easier to read.

Previously, we displayed a little slur between every note, like this:


Now, we automatically detect when subsequent notes are all part of the same hammer-on or pull-off, and we display a single slur, like this:


Much clearer!

We’ve made this rendering more sophisticated, as well. It’ll now draw slurs in the other direction if there’s not enough space above (due to other notes in the tab). And it’ll fall back to a smaller slur style if all else fails.


This change is live now for all tablature sitewide.

Finally! Soundslice now supports cautionary accidentals, otherwise known as courtesy accidentals or reminder accidentals.

These basically mean: “an accidental is not technically necessary to display here, but it’s being displayed as a courtesy to prevent confusion.”

This example has one in the second bar, to remind the reader that the note on the B staff line should be a B flat (because in the previous bar it was a B natural):


At the moment, Soundslice always renders cautionary accidentals within parentheses. Eventually we might add the ability to hide the parentheses, either slice-wide or on a note-by-note basis.

Entering cautionary accidentals

If you create slices by importing from MusicXML files, then you’re in good shape: we’ve improved our MusicXML importer to detect cautionary accidentals automatically.

Our built-in notation editor also now has the ability to toggle cautionary accidentals. You’ll find the button in our editor’s second menu (“Note basics"):


For quick editing, you can assign a keyboard shortcut to “Toggle cautionary accidental” using our new custom keyboard shortcuts feature.

Read more posts…

Get these posts via email: