NP-after-syntax_WM

Text Editor Syntax Highlighting for Sforzando Instrument Files

In this post, we’ll learn how to configure text editor syntax highlighting for Sforzando instrument files with a few different text editor tools. Whether you use Mac, Windows or both, the editors and configurations will help you view your Sforzando instrument files with enhanced clarity. Why feel stuck with a common white background and black text when you can use these enhancements to add color and formatting to your text? Let’s get started!

19 June 2020 – Written by Michael R. Myers #mykmyrs

Skill Level: Intermediate

Choosing a Text Editor for Sforzando File

For the text editor software we’ll discuss, please note that all of the editors are cross-platform, except Notepad++ which is Windows-only. I included Notepad++ primarily because I have used it the most in my work life in an all-Windows environment. It’s well-supported and a preferred choice of other programmers like me while working in Windows.

At home I use mostly Mac for music production work, but there are times I am booted into Windows to use some specific software. While in Windows, I will sometimes work on my music and I need a text editor that supports both Windows and Mac. This post will show some of the recommended text editors that feature syntax highlighting additions regardless of your operating system environment.

The features we need to edit Sforzando instrument files are minimal, so feel free to try any or all of the suggestions I list in this article.

For file storage, I am keeping the text files on a cloud server that allows access from either Mac or Windows. You can use whichever service you like to store on the cloud, or keep your text files on an external drive. Whatever works for your workflow is good, just be sure that you can access the files when and where you need them.

This post is a tribute to the struggles I faced in figuring out how to get syntax highlighting working correctly for multiple editors in two operating systems. It will serve as a reference point for all of us moving forward.

What You’ll Need to Get Started

  • A text editor for your computer
  • A language definition file for your text editor
  • A great sample SFZ file from sfzformat.com to verify your language definition is working properly. Download the sample and save to your computer.

Download Free Text Editors to Highlight Syntax

Choose a text editor from the programs listed below to download and install it to your computer. You’ll also need the sample SFZ file downloaded as well. After you have installed an editor, we will download the language support files since they are different for each text editor.

Windows-Only

Notepad++ can be downloaded here. I used version 7.8.1 in this article.

Mac and Windows

This group of editors is the purpose for this blog post. I needed to find free and capable text editors that could also be extended to support syntax highlighting in both OSes.

  • Geany is available here. The latest version is 1.36.
  • CudaText is available here. The latest version is 1.105.0 (Win) or 1.99.0 (Mac)

Configuring Notepad++

After you download and install Notepad++, you’ll need to add support for a user-defined language. The language file, which is one *.XML file, is available for download here. Download the “sfz-udl.xml” to your computer. Follow the steps below to get NP++ set up.

  1. Open Notepad++ and load the sample SFZ file. By default, it will show the file contents as plain black text.NP-before-syntax_WM
  2. Click Language>User Defined Language>Define Your Language.
  3. Click the Import button. Navigate to your “sfz-udl.xml” file.
  4. Click OK on the Import Successful dialog window,
  5. Close the Define Your Language screen.
  6. Click the Language menu. At the bottom, click the new entry “SFZ”.
  7. Your SFZ file will now show with the language definition syntax in effect.NP-after-syntax_WM

Configuring Geany

Since Geany works in Mac and Windows, its configuration instructions depend on the operating system you’re using. Note that for either OS, you will need to enable the showing of hidden files and folders to find the Geany configuration locations.

Download the syntax highlighting files here. You’ll need two files: filetype_extensions.conf and filetypes.SFZ.conf. After downloading these files, follow the steps below for your OS.

Mac OS

  1. Open Geany and load the sample SFZ file. By default, it will show the file contents as plain black text.Geany-SFZ_before_Syntax
  2. Close Geany and open a new Finder window.
  3. In Finder, go to your user Home folder.
  4. Press Shift+Command+Period Key to enable the showing of hidden files and folders.
  5. Open the folder “.config/geany”. Place a copy of the downloaded file
    filetype_extensions.conf” into this folder.Finder-conf_Geany_folder_WM
  6. Open the folder “.config/geany/filedefs”. Place a copy of the downloaded file “filetypes.SFZ.conf” into this folder.Finder-SFZ_CONF folder_WM
  7. Open Geany and re-load your sample SFZ file.
  8. Click Document>Set Filetype>Miscellaneous. You will see “SFZ” as an available option. Click “SFZ” to select this language.Geany-Filetype_Menus_WM
  9. Geany will apply the syntax highlighting and you will see that the tags within the sample file have changed colors.Geany-SFZ_after_Syntax_WM

Windows 10

Follow the instructions for Mac as written above, substituting Windows Explorer for Finder to browse for files.

For Step 4, tick the checkbox in the Windows Explorer menu bar to show hidden files.

For Step 5, copy “filetype_extensions.conf” to folder C:\Users\{USER_NAME}\AppData\Roaming\geany.

For Step 6, copy “filetypes.SFZ.conf” to C:\Users\{USER_NAME}\AppData\Roaming\geany\filedefs

Configuring CudaText

CudaText works the same in Mac and Windows for importing language support. CudaText’s approach to importing the language definition files is as easy as File>Open and selecting the file to load. There is no need to show/hide folders or manually copy files. Great job on this type of easy implementation, CudaText developers.

  1. Unzip program file to location of your choice
  2. Run CudaText and load your sample SFZ file. As shown, it’s just black text.CudaText-SFZ_before_Syntax_WM
  3. Use File>Open file to open the SFZ Lexer file. When prompted to install it, click OK. Click OK again after the installation completes.
  4. Click View>Lexers and scroll down in the list to select “SFZ”. Your text should automatically show syntax highlighting.CudaText-SFZ_after_Syntax_WM

Summary

Thanks to some great developers, there are several free text editors available that support syntax highlighting of Sforzando instrument files. Adding syntax highlights makes the job of editing text configuration files much easier. With some advanced skills, you can customize the language definitions to your own liking to really make the color schemes work for your own preferences. In addition, these cross-platform editors, along with a centralized storage area, make it much easier to work in Windows and Mac when the need arises.

If you would like to add to this content to help other folks, please contact me and let me know what you have in mind.

Notepad-SFZ_Kick_and_Snare

Create a Custom Sforzando Drum Kit Instrument With Samples

In this post, we’ll learn how to create a custom Sforzando drum kit for use in your DAW projects. Sforzando is an open-source sampler that uses a file-driven configuration to play your audio samples for MIDI files. While it may not be usable for every music producer out there, it can be an invaluable tool in creating virtual instruments with custom audio samples. Let’s get started making a basic, reusable, custom drum kit now in Tracktion Waveform 11 Free.

11 June 2020 – Written by Michael R. Myers #mykmyrs

Skill Level: Advanced

Creating Your Own Inexpensive Drum Kit

You may have asked yourself if it is worth the time and effort to create a drum kit in an open source plug-in. I know I did. Looking at the cost of the big virtual drum plug-in developers’ products, I decided it was better for me and my budget to learn how to use the free Sforzando to make use of the tons of drum kit audio samples I already own. It’s free, well-supported and has a large user base. There are plenty of videos available on YouTube and getting started was easy enough,

As we move forward in this tutorial, please keep in mind that there may be better, faster or smarter ways to work in Sforzando. I am a guitar player, not a drummer, and I need seriously great-sounding drums for my own artistic expressions. The drum samples I have are great quality and I wanted to be able to integrate them into both a Windows and a Mac world due to the computers I compose on. Sforzando seemed like a great choice and hopefully it can work for you too.

I’m using Tracktion Waveform 11 Free as my DAW, so some of this tutorial will be specific to Waveform’s ways and configurations. Other DAWs may require you to figure out your own path. Hopefully at the end of the tutorial, You’ll have a custom Sforzando drum kit that you can use over and over again.

This tutorial is a basic approach to creating a starter Sforzando instrument. There is so much more that can be done within Sforzando, such as simultaneously playing multiple samples, creating groups that play random samples to vary your playback and controlling your output with its knobs and effects. And also be aware that there seems to be many, many different ways to structure your SFZ configuration files and still produce audio output properly. This tutorial is a minimalist’s experience to get up and running quickly.

The key with Sforzando, at least for me, is to be flexible and be willing to do some trial-and-error approaches to see what ends up working. After I get something working the way I want, I can copy/paste as needed to move on knowing things will work. Another benefit to the file configuration model is that you can copy an entire SFZ, rename it and change your samples and be ready to go with a whole new kit with different sample files.

Getting Started with Sforzando

Your SFZ file will contain all of the configuration of your kit’s samples and parameters that control its function. Once you have your kit’s SFZ file saved, you’re able to reuse the kit any time you like. Save your completed SFZ files somewhere safe so you don’t lose your time and efforts.

To begin, you’ll neeed to create a new, basic sfz file. Follow the steps here at sfzformat.com. Save this file on your local machine so that you can use it to start making your instrument. You’ll also need to download the drum kit samples and place them into the same folder that holds your SFZ file. After you learn to configure Sforzando, you can move your files to another location that suits your needs.

What You’ll Need to Get Started

Recommended Reading

Steps to Create Your Custom Sforzando Drum Kit

  1. Create a new project in Waveform.
  2. On an empty track, create an instance of the Sforzando plug-in
  3. Create a new basic SFZ file for a starting point, supposing that you don’t have one already. Follow the steps here at sfzformat.com. When you’ve completed the file, save it to your machine and then drag/drop it onto the Sforzando window. Ignore any errors you may receive.
  4. After Sforzando loads your sfz file, you should see a screen similar to this one. From here you will see your loaded file name at the top of the screen, and you’ll have a button near the bottom of the screen to open your file for edits. I associated Notepad++ to open *.sfz files to make editing easy.Sforzando-Basic_File_Loaded_WM
  5. Download the EasyRider drum kit from the link in the Getting Started section of this tutorial. Place the extracted folders into the same folder that contains your SFZ file.
  6. Open your SFZ file and make two <group> sections. One will define the kick drum. The other will define the snare drum. Refer to this image for the text entries needed in your SFZ file. Set your sample path as required so that Sforzando can find your samples. If the path is not correct, Sforzando will display error details.Notepad-SFZ_Kick_and_Snare
  7. Drop a drum MIDI file onto your Waveform track, or create a new MIDI clip and add some kick and snare MIDI notes.
  8. Press Play on your transport. If all went well, you will hear your kick drum and your snare drum playing the MIDI notes.
  9. Continue creating your <group> sections for each of the pieces of your drum kit and map the samples.

Where To Go From Here

Now that you have a basic kit with a few various hit velocities per instrument, you’ll want to look into implementing a round robin and/or random sample playback approach to really vary your playback audio. In addition, take some time to look into samples that include files for room microphones that open up your sound with real room dynamics.

Summary

Congratulations on making your first custom Sforzando drum kit. Thanks to Michael Kingston for making his EasyRider kit available for free so that we could learn how to play them in Sforzando.

If you would like to add to this content to help other folks, please contact me and let me know what you have in mind.