Release version 2.1.02 - March 12, 2023
This is a maintenance update to fix and cleanup a few things.
- In order to allow existing .song files created in pre Version 2.1 the option to edit Sub-sections without re-running Analyze Sections we've added three-levels by duplicating the existing Sections. So you can now use the Main and Sub Level controls to switch between levels and edit them.
- Fixed: a crash introduced in version 2.1 when right-clicking in the Audio Track
- Fixed: a potential crash that could happen when pasting markers at the very beginning of a track
- Fixed: Double-clicking on a chord start/end line was adding a chord marker
- ';' and ',' characters can now be used in in playlist names/filename
Label Set updates
- Made several clarifications to the popup dialog boxes when adding/replacing entries to the Label Set.
- When adding entries to a Label Set, they are now added at the top of the list instead of the bottom. This was creating confusion since the order of the label set entries is important when using wildcard character ("*") in the label name--if a label with a wildcard matches a marker's label then another suitable non-wildcard label below it would fail to match.
- Fixed the cases when the "Custom Color" button would get placed outside of the Color Selection dialog
Release version 2.1 - March 7, 2023
For this update, we focused on improving the functionality of the Sections Track. When considering the structure of a song, it really depends on the granularity that you are interested in. For instance, at a coarse level you may want to know where the chorus and verse elements are; however, a Chorus may consist of a pre-chorus and/or a post-chorus; same for a Verse which may have parts that could be labeled pre- and post-verse. At a finer level, a Verse may consist of a Riff and a 2-bar sequence of chords. So to better fit this structure hierarchy, we've provided for an optional Sub-Section Track and controls that let you choose different levels to display in the Sections and Sub-Section Tracks.
To help you create the section level you want to see, Song Master's machine learning algorithm analyzes the song and looks for sections of the song that are similar and assigns them a label. It typically creates six or seven levels of detail with level 0 being the coarsest (often just two section types) and each increasing level adds more detail.
Initially, Song Master selects levels that should be close to a reasonable representation. If you want to see a little more detail, you just need to increase the level.
Note: Song Master's algorithm looks for sections that are similar sounding, however, not all music has sections that sound similar. For example, improvisional music (such as jazz, and blues) often lack sufficient similarity for the algorithms to properly detect meaningful sections. In these cases, it may be quicker to delete all section markers and add them manually.
- We've added Alpha letters ('A', 'B', etc.) and "Riff" to Sections label set. This is useful since the new Section analysis code labels sections using letters. You can change the default colors by editing the section's Label Set.
- When loading a .song file, priority is now given to a matching audio file in the same directory as the .song file. This is useful if you want to give your band mates your .song and audio files and they don't have their audio folder structured like yours.
- File Browsers: Fixed a Unicode issue on Windows that would skip directories and files that contained some unicode characters
- When editing the color of a Label Set entry, the Custom Color button was appearing in the middle of the color selection area.
- Tamed aggressive memory usage in beats DNN
- Fixed a crash due to limited memory when generating stems
- Fix case when Analyzer's buttons weren't getting enabled
Release version 2.0.01 - January 11, 2023
mac M1 only: Fixes a potential issue on macos M1. It is only needed if after updating to version 2.0 Song Master refuses to start.
Windows only: fixes an issue with the Windows installer that was not installing a necessary file used to extract stem tracks.
Release version 2.0 - January 10, 2023
For this update, we focused on improving our beat detection and chord recognition algorithms. We had planned on including improvements to the section determining algorithm as well, but it still needs some more work. So instead of delaying this release any further, we've decided to release things without the improvements to the section algorithms--we'll release a free update when we are satisfied with the results.
New or Improved
- New beat detection algorithm is more accurate, better across genre and instrumentation (i.e. with and without drums), and better able to adapt to changes in tempo
- Improved chord recognition algorithm
- You can now select between two chord algorithms:
- Best - this is the one to always use unless your computer is a dog and you're really impatient.
- Fast - faster than Best, a bit better than the algorithm in previous versions
- We've added support for several new chord types (see above), most of which are self-explanatory, however, one may look a bit odd. It is used when only an single note (or octave) is played. This is notated with a "1" following the note (i.e. D1, Bb1).
- We also made chord recognition more tolerant to recordings that are significantly out of tune from reference A440.
- You can change the chord algorithm by going to the Analyzer Tab's Chords panel:
- We've added an option to automatically Tidy Chord start times with the beat grid whenever the chords are automatically computed. Option is above the Chord Algo dropdown shown in pic above.
- Easily edit the current Time Signature by clicking on the Time Signature displayed on the Control Bar
- When dragging a marker start time, a reference line is now displayed in the Audio view. The color used for the reference line can be changed by editing it in the theme editor
Other Changes and Fixes:
- Improved Auto Pitch adjustments, especially when recording is more than 20 cents off of A440.
- Added a button on the Analyzers tab to re-run ALL algorithms. This is useful to update an existing song to the new algorithms. Note doing this will remove all edits you may have made.
- We've added new snap settings for 1/8th and 1/16th notes (see "Snap to" drop down in main toolbar)
- The UI Action Setting Audio/Song Loaded when set to Show Song Info Tab broke at some point, it now works. If you haven't used the Song Info tab, it has handy links for getting more info on the Song, Album, and Band.
- Pasting chords now obeys the current "Snap to" mode
- Added an option in Settings to control whether to load the last saved song when Song Master is started (previously, the last saved song was always loaded)
- With the improved beat detection algorithm, we changed the Time Signature modification dialog to use keep exiting beats as the default setting since the beats are now more accurate.
- Fixed an issue when the time signature is changed and the updated Time Signature marker is displayed off the timeline to the left.
- When clicking the Analyzers' Double BPM for the first time, the displayed BPM wasn't updating to reflect the new bpm value (it would if you clicked it again).
- In the version 1.8 update, we broke the ability to change the colors in the Theme Editor; it's fixed now.
- Fixed a potential crash when dragging an unselected Note marker
- OSC Message /barBeat now sends the bpm adjusted for any change in playback speed
- When receiving OSC Message from a stem mixer volume (/StemTrack#Volume) the volume was getting limited to max value of 1.0 instead of 1.5 (the real max volume of stem mixers)
Potential Installation and Runtime Issues
We've had an instance where Song Master refused to run on Windows 8. The problem was caused by a missing system-level dll. Our installer checks to see if the system has VC 2015-2022 Redistributable (x64) and will install it if it doesn't. However, in this particular case, the software was installed but a dll was missing. If you experience this problem, go to the link below and install the most update to date version (this software is from Microsoft):
Release version 1.8.04 - October 2, 2022
This update fixes an issue on macs only, when installing on a non-system disk.
Release version 1.8.03 - September 22, 2022
This update fixes a crash on macs only, when loading a .song file and the audio file has been moved or deleted. This compilation bug was introduced in version 1.8.0 and is not an issue on Windows platform.
Release version 1.8.02 - September 5, 2022This is a maintenance update that fixes a number of issues:
- If a song file is saved with the mixer enabled and the stems saved, then when the song is reopened, the stems will be loaded and the mixer enabled (previously, the stereo tracks where always active).
- On the Key assignments tab, the Mixer Solo and Mixer Mute actions have changed to toggle the current state (previously they would just enable the option)
- Added a new command to toggle Stem Mixer On/Off: stemMixerToggleEnable; so you can now define a key to toggle the mixer on and off
- When width of playlist is limited, attempt to display just the cover art and song name
- Added saving and restoring the active tab in the bottom panel
- V1.8 broke snapping when moving markers in the Notes and Ext Control tracks
- Fixed a crash in Notes and ExtController tracks when clicking and dragging in an empty space
- Fixed an issue where the final bar in a song was getting placed in time before the previous bar causing SM to hang when loading the file
- Fixed situation where the Metronome beats wasn't updating after Undo/Redo of Bar changes
Release version 1.8 - August 19, 2022
This is primarily an update that fixes a couple of crashes and a handles a number of things better.
- The "Tidy Chord markers" has a new, smarter algorithm for quantizing chord start times making for a much cleaner chord track. This will be applied automatically on new songs, for existing songs, select "Tidy Chord markers" from the Chord track's menu.
- A message box will now display when a new version of Song Master has been released
- If a folder contains stem tracks, it can now be added to a playlist (right-click folder in Audio Browser, context-menu now displays "Add to playlist as Stems"
- Because knowing how to control Song Master is so important to efficiently using the app, we've added a handy keyboard info graphic to the Help menu.
- Add a new OSC Address : /songInfo to send
Changes and Fixes:
- Added support for CPUs that do not support AVX2 instruction set
- Fixed issue when AirPod Pro earphones are used causing audio to be badly distorted
- Changed: OSC Address "/playlistActiveSongChanged" now sends same parameters as "/playlistSongInfo"
- Fixed a crash that could occur when a Time Signature is changed
- Fixed a crash if audio has missing track info
- Fixed a couple of UI related issues when a playlist is deleted (i.e. it was still displayed as a recent playlist in menu)
- Changed: case when Key was detected as F# but chords displayed as its enharmonic equivalent Gb.
- Changed: When looping is enabled, don't reset to beginning unless the Phrase, Key, or num times to loop is used
- Show Messagebox if a song in playlist song is clicked and it doesn't exist (as well as displaying a message in the listbox)
- Fixed: In some cases, the .song file for a folder of stems was getting created in the root of the Song dir.
- Fixed: When 'Z' key is pressed to move to beginning of song, it wasn't getting clipped to start of song but was going to first bar even though it is negative time.
- Fixed: Some fiddly bits could occur when snapping was enabled and creating and moving loops where the start point was at the very start of a song
- Fixed: When loading back to back songs using external stems, the state of the mixer was not always getting reset.
- If the audio device is lost, the Audio Settings dialog will be displayed to make it easier to select a new device
- Fixed: If a track is soloed and any track is unmuted, then turn-off solo button
- Fixed: issue where the mouse cursor was stuck on grabby hand in wave form view
- Changed: For new installs, the Side Panel will be displayed instead of hidden and the Audio tab will be displayed
- Changed: If no files present in audio file browser, display a text message to inform user that they can change the Audio directory in Settings dialog
- Change: If a dir of stem files is dropped and one or more of the audio files fails to load, load the ones that can and let user now
- Fix: Marker properties dialog: the Custom Color button would sometimes not be displayed
- Change: Label Set editor: Clicking "+" should replace an existing label-set instead of adding it again
- Show a MessageBox when too many stem files dropped (allowing a max of 20 stem files)
- Fixed: Stems - If 3 stems where generated and saved (but not vocals), it didn't think existing stems were generated
- Fixed: Stems - Last version broke generating stems for just Vocals and the Rest if the user hasn't installed the Stem Expansion Pack
- Fixed: Stems - After stems have been generated, the OSC Stems enable message wasn't getting sent
- Fixed: Audio Browser: when file search string was entered/modified, the existing selection wasn't cleared so album info wasn't getting updated
- Changed: OSC - "/songName" changed to return the song name from SongInfo and not the name of the file
- Fix: Catch exception thrown when loading license file; message box user and delete license file
Release version 1.7 - March 14, 2022
Audio View for Stems
The individual tracks for each stem are now displayed in the Audio view.
- When the Mixer is enabled, the individual waveforms for each stem track is now displayed with the track name, and buttons to Solo and Mute the track.
- Audio view has a new Label-Color set for naming and coloring stem tracks
- The stem tracks order can be changed by dragging the track's header
- The height of a stem track can be changed by clicking and dragging the top or bottom of the header
- Edit the track's name by double-clicking it
- Audio header now has a context menu that provides commands to edit the label set, reset track height, and reset track ordering
You now have the option to select just the stem tracks you want to use. Clicking the a Generate Stems… button will display a dialog for to indicate which of the following stem tracks to extract: Vocals, Drums, Bass, Acoustic Piano, Accompanist
External Stems Support
With this version, Song Master adds support for external stems. If you have existing stem files for a song, you can now have Song Master load all the stem files and use its Mixer to mix, solo, and mute the individual tracks.
To load an external set of stem files, right-click the folder in the Audio/Other Browser and select Open as Stems. Note, all audio files in the folder are assumed to be for the same song and will be loaded.
Added support for .mogg files
Some stem tracks are stored in files with a file extension of ".mogg". This is convenient because all stem tracks are embedded in just one file. However, each track is stored as a single channel track with no panning information. For instance, if guitars are recorded to a left and right stereo pair, a "mogg" file will store them as two mono channels that are panned to the center (and not left/right). It also doesn't supply a label for the tracks so each track gets a generic name.
Generated Stems can now be saved as ".wav" (default) or ".ogg"
This can be changed in Settings dialog's "Stem save format"
Enhanced rendering of Waveform
Zoom to Fit
Quickly zoom to fit the current Section, Notes, and Loop
Scale the UI
- The height of the Sections, Time Signature, Sections, Chords, External Controllers, and Notes can be adjusted in Settings
- The height of the bottom panel can be adjusted in Settings
Shortcut Key defaults changed
- Changed hotkeys for viewing tracks (previously required <Ctrl><Alt> plus a key)
T - Time Sig
S - Sections
C - Chords
X - Ext Controller
N - Notes
B - Bottom Panel
P - Side panel
B - Bottom panel
D - Display the External Connections dialog
- Pressing <DEL> key will now delete any selected markers
New OSC Messages
- /barBeat - request current bar, beat, instantaneous bpm
- /playlistSongInfo - if no index is passed, then the currently active index is used
- /stemTrack#Name - request the name of a stem track
- /stemTrackParams - returns track id, name, vol, pan, mute, solo
New OSC Notifications
When the playhead passes a beat, a key change, or time signature the corresponding OSC message will be sent:
- /barBeat - int bar, int beat, double instantaneous bpm
- /keystring newKey
- /timeSig int numerator, int denom
- Chord recognition algorithm speed up around 2x in most cases
- Song files now save the relative path for audio files (instead of full); makes it easier to change directories
- Playlists updated to work with relative audio paths
- Pressing <Shift-Ctrl> +mouse-drag in the audio view allows you to easily scroll the audio
waveform; this has been extended to work in marker tracks too
- By default, when clicking or dragging on the Audio waveform, snapping is disabled; holding <shift> will now let you engage snapping.
- If you started to create a loop you can now press <Esc> to abort creating a new loop
- If entire Loop is visible, don't scroll if end is near visible end; usually when the playhead is close to the right visible area, the view is scrolled.
- Stems are now saved to a folder with ".stems" appended to its name
- When dragging song(s) in the Playlist tab, an image of the song(s) is displayed (previously, it was showing the num items being dragged)
- If audio file not found and user finds file, use that directory for subsequent attempts
- Bar Track: Previously, to delete a bar you had to click at the start of the bar to delete, now you can click anywhere in the bar you want to delete
- Overview: when playhead clicked to outside of lens (on the right side), the lens will now try to put the clicked time near the start of the lens
- Improved rendering of chord names when chord marker is small
- Section LabelSet - an "*" (wildcard character) has been put at end of every entry
- Added LabelSet defaults for Ext Controller track: labels for "Midi" and "Osc"
- The master volume setting is remembered between sessions
- Edit Connections dialog's last position is now saved and restored next time it is opened
- When an audio file is double-clicked in the Audio/Other Browser, Song Master attempts to determine if a .song file already exists for it and will load the song if found; you can now hold <Shift> when clicking or dropping an audio file to force a new song file to be created.
- Converted from native main window title bar to custom rendered
- Orange Crush
- Black and Blue
Fixed issue where you could only copy and paste one Notes marker
- On macs, pressing Cmd-Q was inadvertently getting ignored in version 1.6
- A potential crash could occur if a song file had a missing audio file and OSC was enabled.
- Attempting to halve the number of beats in a song with a time sig of 2/4 could cause a potential crash.
- Fixed a rare crash that would occur when the sections algorithm is aborted due to another file clicked.
- Fixed playlist context menu not disabling all items when a playlist is not selected
Release version 1.6 for macos native M1 - January 1, 2022
Song Master now natively runs on Apple's M1 silicon!
Release version 1.6 - November 28, 2021
New: Controller Track
The Controllers Track allows you to send midi and OSC messages to applications and external devices. This allows you to send "patch" changes to your music applications and devices such as the AXE FX, Kemper profiler, Line 6 and Boss 6 multi-fx pedals, and any other pedal that supports MIDI in. If you have an application that acts as an OSC server, you can use the Controller track to send OSC messages to control the application.
New: Control Song Master with External Midi Devices
You can control Song Master with external MIDI foot pedals and MIDI controllers. You can program foot pedals to start and stop playing a song, skip to the next or previous section, slow the song down, etc. all hands free. Song Master makes it easy to setup your midi foot pedal/controller to control the features you find most useful.
Send and Receive OSC Messages
Open Sound Control (OSC) is a networking protocol standard that allows music applications and devices to communicate with each other. Song Master implements OSC which allows for other OSC applications to control Song Master as well as having Song Master send OSC messages to other OSC music applications.
Other Updates and Improvements
- All marker tracks: shortcut keys for Copy, Cut, and Paste now work; click the mouse prior to set the insertion point
- Playlist: When creating a playlist from the Audio file browser, all audio files in child folder are now added to the playlist (previously, it didn't recurse into directories),
- Playlist: when auto advancing, the next song is not displaying the "Play" button
- macOS menu: Rename "Settings" to "Preferences"
- Added icons to information/alert dialog
Release version 1.5 - July 19, 2021
New: Chord Notation options to display chords using Roman, Nashville, or traditional notation.
New: Instrument Transpose will transpose chords without changing the pitch of the recording as Pitch Transpose does. This is useful if you play a transposing instrument or if you've tuned your guitar a step down to Eb and are playing along to a recording that is tuned a step down but what the chords to be notated as up a step (i.e. display Eb chord as E)
New: Enter specific chord extensions not available in the normal Chord Editor (i.e. "7#9", "add9", "#5b11")
New: Instead of a chord symbol, you can now insert a "repeat measure" symbol "%"
Fixed: Editing chords now follows any pitch transpose and instrument transpose
New Bar Editing Improvements: Bar placement can now be calculated for a selected region and specified by the number of bars to that fit in the region or as a fixed bpm.
New: Individual bars may also be added and deleted
New: A bar has been placed before bar 1 to serve as a "pickup" bar
Improved: Rendering of bar and beat lines to avoid confusion when one bar's beats aren't rendered (due to not enough space) and another bar's beats are displayed.
Time Signature Track
New: Support for Time Signatures has been greatly improved. Multiple time signatures can now be added, deleted, moved, and modified. When adding a time signature, you have full control over how the following bars and beats are to be distributed (keep existing bars, keep existing beats, used fixed bpm, or use a specified number of bars).
New: Label sets provide an efficient and consistent way to label and color items in tracks. For example, you can define the set of text labels and their colors for Section markers such as "Intro", "Bridge", "Breakdown", "Guitar Solo", etc. If you redefine the colors, you can easily apply the new colors to your current track.
New: Section markers can now, optionally, display, in the top-left corner, the number of bars in the section.
New: Note markers can be used to quickly define bar times. While a song is playing, you can press the 'N' key to insert Note markers at the starting position of bars, then select the markers, and convert them into bars on the bar track.
New: Song Info panels now display the duration of the song
Many more changes, adjustments, and fixes have also been made. Please refer to the documentation section of our web site for details on these new features.
Release version 22.214.171.124 (Windows only) - February 24, 2021
This fixes an issue with particular versions of Windows 7 that do not ship with updated Microsoft Media Framework codecs. When running on these versions of Windows, users would get the following error message: "The project entry point MFCreateMFBytesStreamOnStreamEX can't find the dynamic link MFPlat.DLL".
Release version 1.2 - February 21, 2021
New: Phrase Trainer simplifies learning to play a section by slowing the song down and gradually increasing the tempo. You specify the starting and ending tempos and the amount to increase the tempo after each play.
New: Key Trainer will rotate a song section through a series of key changes. Great for improving your ability to transpose and solo over changing key centers.
Select from a set of predefined chord sequences (i.e. cycle of 5ths) or define your own.
New: Loop Control panel merges in some features of the previous versions' Advanced looping control panel and adds several buttons for quick adjustments to loop start and end points and to move the entire loop.
New: use <shift> + mouse-wheel to scroll left/right
Change: The actions assigned to the keys in the "block" qwe, asd, and zxc have been re-assigned slightly to support enlarging and reducing loop sections. Refer to documentation for details.
Changes: There's also been a number of smaller enhancements mostly dealing with looping, metronome usage, and the file browsers.
Bug fixes: a number of bugs have also been addressed including potential issue when pasting chord markers, and the loop region sometimes not updating properly. Issue on Mac that could lead to a crash if an audio file is loaded while the previous audio file is still being analyzed.
Release version 1.1 - January 4, 2021
New: Playlists can be created to conveniently group songs. Create playlists for the songs you are currently working on, songs you want to work on, songs you are playing for upcoming gigs, etc. You can start a playlist playing and Song Master will automatically load the next song when the current song finishes--great for running through your set list.
View, edit, and re-order playlists in the Playlist Editor:
Browse and load playlists in the Playlist Browser located under the Browser tab:
For detailed information on using the Playlist Editor and Browser, please view Playlists
New: Song Information Panel - Displays cover art and additional information for the current song if it is embedded as meta data in the audio file. Also three web links are provided to easily bring up information about the band, album, and song.
The (1) song name, (2) album name, and (3) artist labels are web-links to learn more about the sing, album, and artist.
New: The file Browser now displays album art and song information for the currently selected audio file.
New: When an audio file is selected for editing and a corresponding Song Master file is found for it, the existing song file will be loaded instead of creating a new song file.
New: UI Action Rules have been created to allow you to customize what happens when an audio file, song file, or playlist is loaded. You can choose to have the audio, song, or playlist immediately start playing and an option to automatically view the Song Info or Playlist tab. This may be modified using the Settings dialog.
New: Themes have an additional option to use colors derived from the song's cover art (when it is available) for coloring Section markers. This may be modified on the Settings | Themes | Edit Theme property page.
Changed: The Last Play Marker is now updated when the mouse is used to change the position of the play-head (it used to update the Last Play Marker only when paused)
Changed: The General Settings' 'Songs mirror audio dir' would previously create a new song file in a directory with the same name as the parent directory of the audio file (for example, if the audio file is in "C:\MyMusic\Van Halen\Fair Warning", the new song file would be created in a new directory named "Fair Warning"). The new method attempts to keep a similar directory structure as your audio files use. So for instance, if you have Settings : Audo Path set to "C:\MyMusic", then the song file would get created in a sub-directory of your Settings : Song Path named "Van Halen\Fair Warning".
Improved: the file Browser now restores the previous scroll state when returning from drilling down in the folder hierarchy.
Improved: Sometimes when clicking in the wave view it was possible to accidently create a very tiny looping region. The number of pixels required to be selected for a loop region has been increased to make this less likely to occur.
Release version 1.0.3 (Windows only)
Fix: Fixes an issue on some Windows computers that caused the Section markers' text to be rendered larger and offset a bit. You only need this update if you are running Windows and the Section text is larger than it should be.
Release version 1.0.2
New: The Control Bar now displays the Global BPM by default; the displayed BPM can be toggled between Global BPM and Instantaneous BPM by using the two buttons above the displayed BPM value.
New: Bars Track now displays beat ticks
New: Region to loop can now be created by dragging the mouse in the bottom 1/4 of the Wave view. You can still hold down <Shift> to define a region anywhere you drag in the Wave view. This new way of creating the loop region makes it easy to do using one hand.
New: Toggle between action when spacebar pressed: resume playback at current play-head position or resume playback from the last play-head marker.
New: When looping, <Home> now goes to start of loop
New: The 'V' and 'B' keys now move the play-head to the previous and next beat, respectively. Holding <Shift> when one of these keys is pressed will move the play-head by a tiny amount.
Improved: Under certain situations, the Section analyzer may produce better results
Changed: the Speed slider can now be used to slow down to 10% (0.1) of original speed (previously this was 20% or 0.2)
Changed: Clicking in the Wave view to move the play-head and to create/manipulating loop markers are now NOT be snapped. The idea is to allow fine adjustments to these in the Wave view, and to use the Bar Track when you want them to obey the current Snapping mode.
Fixed: a number of UI tweaks and fixes