Skip to content


DAW Dive 1 - Getting Started - Studio One 3

I'm a geek, software nerd, and a musician. As I've been stagnating lately in my musical progression I decided to dive into trying to produce some recordings of some of my music, hoping to spice up the old brain.I have a lot to learn. It's pretty humbling, but despite being a musician and a developer with some decent tinkering ability, I've found getting into recording and production a bit challenging on certain things. If you come from a background in which you understand terms such as pre/post, bus, gain structure, compression ration, and other terms then your learning curve will be much easier. For me, my extent of dealing with these terms was focused on guitar pedal settings and an analogue mixing board. This has made things much tougher, as I've been learning terminology along with methodology. I've also been pretty astonished with some of the technology solutions I had never explored that allow a much richer musical creation for a musician. I figured I'd share my progress as I work through some of these things in case it helps some others on the road. This is not attempting to be a profound treatise, full step by step walkthrough, but more focusing on sharing some of the problems as well as things I've discovered. Maybe you'll save some time, or get some new ideas if this is a new venture for you as well!

Presonus Studio One 3 Professional

This is probably going to be my primary DAW. My initial impressions are extremely positive. The only competitor in my current focus is Ableton since I enjoy live looping, and the session/arrangement integration. However, for pure DAW focus, I'm not sure I'd be as comfortable long-term with Ableton since I'm not primarily an electronic loop/sample based writer. The details I'll be posting are on the Professional Edition, so some of the functionality might not be available in the other versions. See their version comparison for exact details. Disclaimer: Presonus generously provided a license for my evaluation. However, please note that I am not biased in my review, as I believe in providing unfiltered feedback.

Getting Content Installed

I ran into some serious download issues when using the Presonus content installer. In reading forum posts, I see that this has occasionally cropped up. If this happens to you, run just go to the presonus account page and download directly with your internet browser, as it ran much faster for me. This was the only major hitch in my install. Maybe a better CDN is in order?

first impressions

So far, very intuitive interface. I'm not a DAW expert by any means, so I've been looking for something that had a natural feel to someone familiar with the basics of recording, yet more powerful functionality that will help me create and arrangement more complex pieces. So far, it feels like Presonus Studio One 3 is living up to the reputation I've found online for being getting out of the way and enabling creative workflow. I haven't even dived into the scratchpad functionality, but even my first project has been a very pleasant experience, with none of the "stumped" moments I had in getting this to work with Ableton Live (though I still prefer this for live looping right now).

Novation Launchkey 49 Setup

Setting up a midi device has been a learning experience. Working with Studio One required a bit of experimentation, as it wasn't preset, but I finally got it to work. It would be nice if they offered more presets, but at least I got it working! Not all the controls seemed to be mapped, but Launchkey has "InControl" functionality, so I plan on evaluating this soon. To find the midi port a device is working on with Windows, go to device manager, and you can see the midi port displayed so you know what to configure.



Clean interface

The interface is clean, designed to be a single screen view without a lot of navigation required. The context menu options are kept organized and clean. For me, Reaper was a great DAW, had a lot of functionality for the price, but was very context menu driven and this was a lot to get used to. I think Presonus has done an admirable job of organizing the many options to keep things from getting too messy.

2016-09-12_21-29-17 One thing I liked was the focus on "songs", as it offered the creation of a new "song" instead of "Files/projects". This felt like such a great design decision as it focused on the creation aspect of new songs.


Presence XT and Virtual Instruments

A package of instruments are included in Studio One. I enjoyed the Cello and Pizzicato string sections in particular. I'll probably post more on this later as I discuss Melodyne integration.


VST configuration

Nice and easy to find. No problems here. Was happy to see it supports 32, 64, VST3 and more. Ableton Lite didn't support 32bit, so I had a lot of VST's downloaded that I couldn't use.


other stuff for the future

I plan on discussing the Arrangement functionality as it helps to bridge the gap of organizing complex tracks, as well as scratchpad, which was the primary function I was excited to try, as it seems a win for someone experimenting with various versions. I've plan on showing how to convert guitar riffs into a cello, quantizing notes for more precision on a fast run, folding/unfolding multiple takes, and more. It's crazy how much is packed in here, but I'm completely loving it.

any cons?

So far, the biggest thing I'm missing is a drum generator such as EzDrummer 2. I had planned on doing a review of this, but my trial ran out and I haven't heard from them if they do any licenses for press reviews. Addictive drummer seems ok, but the trial is so limited, I'm really not able to leverage, and the single few tracks I was able to try didn't hit what I needed (demo removes all cymbals). EzDrummer 2 was pretty darn good in helping me create some believable tracks. Superior Drummer also seems promising but I couldn't find any trial for it. If Presonus had something equivalent to EzDrummer 2 to generate believable drum tracks and rhythms based on building the drums that would be awesome. As it is, it seems to focus on some drum samples and loops, but not a full built engine like EzDrummer 2 offers. If I end up hearing back from Toontracks on their products and obtain copies, I'll be sure to post up more details at that point for the aspiring non drumming arrangers among us.

Setting DBCC 1222 on startup

The following command is run to gain details on deadlocks.

DBCC TRACEON (1222,-1)

However, once the SQL instance is restarted this flag is set back to disabled.

Where to setup the startup trace parameter To enable it on the instance upon startup:

  1. Open SQL Configuration Manager
  2. Services > Sql Service Instance > Properties > Startup Parameters
  3. Add the following statement: -T1222
  4. Confirm the change by navigating to Advanced > Startup Parameters. This should be grayed out and display the new value that was added at the end with a delimited semicolon.

Startup Properties Setting for Confirmation

Ableton Live & Lemur Setup (From a Windows User)

Had a chance to look at this program thanks to the generosity of the developer. They had a promotion that ended prematurely and they sent me a license as a goodwill gesture. Pretty fantastic service, and thanks to them for this.The documentation was a little sparse for the Windows setup, so I ran into some complications getting it to work.

I have used TouchOSC, and had some difficulty with configuring it for windows. True to other's postings, Lemur didn't make this easier. Especially as a windows user, this is not a simple plug and play and go type of tool. If you are looking for that then you'd be better served by looking a Touchable, Conductr, or something similar that provides the full package. The difference is that Lemur offers a complete "development" environment for templates and automation. The sky is the limit. You can even have a single ipad controlling multiple computers based on the midi being mapped on one controller to various destinations. To get Lemur talking to Ableton Live (9.6), this is pretty much what worked for me after experimenting.

  1. Install Lemur
  2. Install Live Control 2 (basically just a set of template and automation scripts)
  3. Copy Live Control Template onto ipad (you can drag the file directly to the app in Itunes and hit sync)
  4. Install LoopBe. Note I tried rptMidi as well as LoopMidi, and this is the only one that worked without issue for me on Windows 10.
  5. Setup Lemur Daemon service as shown in screenshot. midi port configuration
  6. In ableton I setup as the following: 2016-09-17_13-54-06
  7. If you drag a drum track into a channel and activate for recording, you can tap in the "play" tab and change "key" to "drum". Then you can find the appropriate drum machine field by scrolling up or down. This got the initial setup going so I was able to drop a drum track in, and tap out a rhythm. I think I'm going to have invest more time into it to get what I want, so the jury is out for me as a casual user whether or not I'll be able to leverage this vs TouchOSC or touchable. It's pretty powerful, just pretty complex! As a person primarily focused with Live for DAW and home recording/experimentation, I'm probably not going to leverage fully at this time like others would. If I gain some more traction with it, I'll try and post some more useful updates. Both TouchOSC and Lemur are designed for customization. If you want to get going with limited setup, look at Touchable, Conductr, or another similar to that.

Lack for Nothing

The message of this song is one that that has been driving itself home as more and more important to me. We are not viewed in our frailty as we come before God to worship Him. We are not judged and condemned. He doesn't look and tell us to come back when we are in a better place. Instead, just as the author of Hebrews writes (Heb 10), we can come with bold confidence, knowing that the way has been made for us in Christ, with us being viewed through the "curtain" of Christ. This is critical to every person wanting to draw closer to God, as without a realization that we should be able to approach with confidence and no judgement, we will hold back from fully diving into our relationship with Him.

Hebrews 10:19-22 We have, then, my friends, complete freedom to go into the Most Holy Place by means of the death of Jesus. He opened for us a new way, a living way, through the curtain---that is, through his own body. We have a great priest in charge of the house of God. So let us come near to God with a sincere heart and a sure faith, with hearts that have been purified... This has shaped my paradigm a lot. It's hard for me to hear about others feeling unworthy in coming before God, like they have to get things together before coming to Him. This is so antithetical to the nature of God and to all of what we see Christ exemplifying in His life. Christ never demonstrated superiority, judgement against those who don't demonstrate perfection. When He did bring out anger and judgement, it was focused on those who, in their misguided concepts of God, put barriers between God and His people. So, just a friendly reminder that you "Lack for Nothing". Cheers!


This is my first full production attempt with Ableton. I used Ableton Live Lite, with EzDrummer 2 to help generate some drums. Due to running out of time (and patience :-) I just wrapped this up instead of worrying about fine tuning every little piece. I've got some errant vocal parts, guitar parts, and all, but hope you can just look past this. I ran out of time and .... and patience to keep reworking. I actually am working on a series to help fellow worship leaders and musicians just getting into recording learn more about utilizing VSTs, DAW's (like Ableton, Studio One 3), and more. It's bit confusing getting started, so hopefully as I share a little of my journey it might save you some work if you are wanting to try your hand at some creativity.

Remote Desktop Workflow Improvements

Remote server management is a fact of life for folks involved with sql server. Since we work so often with remote machines I looked into a few tools that provided a better workflow than the default Microsoft tools. This one came out as the winner by far.

A better remote desktop manager

First off, if you are using RDC.... why? At least move up to RDCMan, a microsoft tool that allows for much quick context switching between machines, inherited password settings for a group of servers, and more. Next, if you are using RDCMan... and perhaps you work with a lot of remote machines, perhaps there is an even better option? There are some great alternatives out there, and in my experience, with a little learning curve, the one I've worked on with Devolutions is fantastic! Link to app: Devolutions Remote Desktop Manager

Devolutions Remote Desktop Manager

Disclaimer: I have been provided with a free license because I mentioned I might review the product. This doesn't impact my assessment of the tool. I'm a big fan of this app after having used it for months to get a feel for it. I've found it helpful when working with remote desktop machines, as well as some basic credential management. For folks dealing with lots of remote machines, I think this tool is well worth the investment and it has my stamp for one of my top essential tools in my cool-tools toolkit. There is a free version that is less powerful, but a still a good upgrade from the standard RDM from microsoft. The free version comparison is located HERE

Synchronizer... some potentially powerful automation here for managing connections to remote machines

Having to deal with a lot of remote machines, especially ones that change IP addresses periodically can be annoying for a DBA trying to remotely connect again. Devolutions Remote Desktop Manager (RDM) has some really cool functionality that can help automate refreshing these lists from a variety of sources.

Synchronizer... some potentially powerful automation here for managing connections to remote machines

Synchronized Session Listing

You can setup a synchronized session listing based on csv, activedirectory, spiceworks, and more. Eventually, I believe they'll have an amazon ec2 synchronizer as well. In the meantime, with some powershell magic we can create a synchronized listing of remote machines to work with, no longer having to update ip's manually in a Amazon EC2 system.

Synchronized Session Listing

Output Results from Powershell into CSV Source

setup a powershell script that would obtain EC2 instances and output into a csv file. I found pieces of the needed code from various sources and modified to work for me. It's not elegant, and much better ways are available I'm sure. This was helpful to me though and got the job done!

Output Results from Powershell into CSV Source

Automatically keeping things up to date

Synchronizing automatically gives us the flexibility to have a scheduled script to run the powershell command to get a new list of machines, and have the synchronized list run automatically maintain the latest connection information. In my case, I setup the powershell script to run every X hours so my connection information was always up to date.

Automatically keeping things up to date

organized results

Thanks to the synchronizer, I know have two folders with separated instances for production and QA, allowing me to quickly access with minimal effort! This would allow me to set credentials as well, to reduce the effort in logging in for each of the sets of instances

organized results

Other Cool Stuff

Multiple Monitor Support

Microsoft remote desktop connections have support for multiple monitors by spanning display. I tested this out with an unconventional setup. I have 3 24inch monitors, with 1 landscape in the middle surrounded by 2 in portrait mode. It had some problems with this as it's trying to create a spanned clone, however, if I had a typical setup, I think this would work fine, (such as a dual screen setup with the same orientation).

Multiple Monitor Support

Continual Updates

I'm continually getting updates on this product. In any inquiries on their forum, I've seen helpful responses from staff within the day, with great support help (such as powershell tips on accomplishing what I needed with synchronizers)

Continual Updates

Better Local Password Management

I'm a big fan of Lastpass, but as I use it for personal password management, I wanted to keep my work related passwords entirely separate. Devolutions RDM offers some nice password management options and credential inheritance setup.

Better Local Password Management


If you have a scenario where you need to remote into one machine and then remote from that machine to another, things can get very confusing with copying/pasting/navigating. RDM solves this by having a "RDM Jump Agent", basically a service that allows you to set a remote desktop connection as a "jump point" and then connect through that connection to the next destination, while using one remote desktop window in the app. For those scenarios, I found it incredibly helpful. Best scenario... just avoid having to jump in the first place :-)

Handles Remote Desktop Connections + The Kitchen Sink

  • Handles a breadth of different types of remote connections, such as Chrome remote desktop manager, Hyper V, remote command line, powershell sessions, Amazon S3, Amazon AWS console, Citrix ICA/HDX, and more.
  • Can wrap up the trick of running SSMS (Sql Management Studio) with "RunAs" as a different domain and user, allowing locally run SSMS to be connected to AWS, or other environments.

Handles Remote Desktop Connections + The Kitchen Sink

Other Odds and Ends

Lots of features, so I'm just covering some of the highlights that are of interest to me.

  • Quickly ping and get status
  • View event logs from remote machine loaded in your local event viewer
  • List services
  • Run powershell script remotely with RDM-Agent (executes the script as if running locally, and could do this in parallel with other instances)

Other Odds and Ends


I review quite a few apps, but this one is really difficult to review in detail as it covers such a range of functionality I've never even touched. The only con to the app I'd say is it can have a bit of a higher learning curve than using the plain old Remote Desktop Manager from windows due to the breadth of functionality it covers. However, once using this app, and discovering little pieces of functionality here and there, this is in my permanent "essential tools" toolkit.

Free version

They have a free version that will suffice for many people. The pro version has more enterprise level focus, so give the free one a shot if you are looking for a basic improvement to your RDM workflow

Remote Desktop Manager - Remote connection and password management software

Remote Desktop Manager is an all-in-one remote connections, passwords and credentials management platform for IT teams trusted by over 270,000 users in over 120 countries.

SSMS - Connection Color with SQL Prompt & SSMSBoost

If you haven't explored the visual color coding of tabs based on pattern matches with SQL Prompt, I'd suggest you check this out. Earlier iterations of Red Gate's SQL Prompt did not change tab color immediately when the connection was changed. Red Gate's tab color could get out of sync occasionally, so I stopped depending on it.

Apparently this has been improved on and my testing now shows that the tab recoloring for connections is changing when the connection is updated immediately. This is a great visual indicator of what your query window is connected to.

Recolor Tab with SQL Prompt

Manage connections tab color matching

I'm still a fan of SSMSBoost combined with SQLPrompt, but I'm finding myself needing less addins as SQLPrompt has been enhanced. The ease of configuration and setup is a major factor as well. SSMSboost Preferred connections are great for when needing to quickly context switch between different connections in the same window (and sync with object explorer)

SSMSBoost Edit preferred connections

Resulting textbox overlay

ssmsboost textbox overlay

possible improvements for SQLPrompt

  1. I think that SQLPrompt would have some great productivity enhancements by implementing something similar to SSMSBoost preferred connections. Here is a UserVoice item on it. Add your vote
  2. SQLPrompt enhancements to synchronize object explorer connections based on the current query window would be another great option. I created a user voice item on this here.

Overall, I'm finding myself depending on SQLPrompt more. As a member in the Friend of Redgate program, I've had access to try some of the new beta versions and find the team extremely responsive.

Disclaimer: as a Friend of Redgate, I'm provided with app for usage, this doesn't impact my review process.

SSMSBoost add-in - productivity tools for SSMS 2008 / 2012 / 2014 (Sql Server Management Studio)

Productivity SSMS add-in packed with useful tolls: scripting, sessions, connection management. Plug-in works with SSMS 2008 and SSMS 2012 SQL Server Management Studio: SSMS add-in with useful tools for SQL Server developers

Code Completion And SQL Formatting In SSMS ' SQL Prompt

Write and format SQL with SQL Prompt's IntelliSense-style code completion, customizable code formatting, snippets, and tab history for SSMS. Try it free

SQL 2016 - Brief Overview on some new features

These are notes taken from the Houston SQL Pass User group from July. This presentation was given by John Cook, (Data Platform Solution Architect Microsoft) who did a great job with limited time on providing some great details on the new functionality with SQL 2016. To follow him, take a look at where he posts or follow him on twitter. Thanks to him for the overview.

JohnPaulCook (@JohnPaulCook) on Twitter

Microsoft Data Platform specialist and Registered Nurse

John Paul Cook Sql Blog (No Link)

SQL Blog - Blogs about SQL Server, T-SQL, CLR, Service Broker, Integration Services, Reporting, Analysis Services, Business Intelligence, XML, SQL Scripts, best practices, database development, database administration, and programming

cloud first

Most of the new features included in 2016 have been tested in the cloud. They are implementing cloud-first with features. Therefore, most on prem features have been throughly tested in the new world, sometimes even up to months.

dynamic data masking

  1. If you know a specific value you could get the results back in a specific query by putting in where clause. This would retrieve the row masked, but you still knew the results due to this "brute force attack". Dealing with security means you'd prevent adhoc queries anyway. You want to ensure that that scenario doesn't happen.
  2. This would be categorized more as obfuscation. This is not the same as encryption.
  3. New grant permission for UNMASK


  1. Encryption at column level
  2. Deterministic: need this for being able to search/join among different tables
  3. Random: Good for increasing the difficulty of breaking the encryption.
  4. Encryption increases to the size of the data, taking up more size
  5. Has some limitations on Collation. The example was COLLATE Latin_General_BIN2
  6. This is offloaded to the client which converts the value with 4.6.1. This means a certain compatibility would need to be maintained to use this with legacy applications. This is done on the client. Unless you give the key to the dba, they can't see the information.
  7. Additional connection string value is required, per SSMS has to convert and interpret this value.

column encryption setting=enabled



Stretch is more "stretch table" to Azure. This means you'd bind a function to your sql server with the logic to archive. This would let you store very cold data without having to maintain locally. Another positive to this is that each table is contained as it's own "database" in Azure. They maintain the backups for you, so your backup windows are not impacted. You only have to backup the local data.

Temporal Database

Microsoft keeps track of all your changes in a table. You have to enable on each table individually. This functionality stores the history of all changes to ensure this history is tracked. This used to require a lot of coding.

Install ReadyRoll via Command Line

command line install options

ReadyRoll has some great features, including the ability to use without cost on a build server. If you want to ease setup on multiple build servers you could create a simple command line install step against the EXE.

future changes

ReadyRoll was recently acquired by Redgate, so the installer options may change in the future to be more inline with the standard Redgate installer. For now, this is a way to automate an install/updates.

autoupdating via Ketarin

I personally use Ketarin to help me manage automatically updating apps like SQL Server Management Studio. I've uploaded a public entry for ReadyRoll to automate download and install of the latest ReadyRoll version when available. For more detail on how to use Ketarin see my earlier post on Automating SSMS Upgrades

command line options

  1. Find the path of the installer
  2. Run ReadyRoll.msi /exenoui /qn for a silent install.

2016-08-16_11-05-53 - For automated setup and install use the following code with Ketarin

Does sp_rename on a column preserve the ms_description?

Did some checking as couldn't find help in the MSDN documentation. My test on SQL 2016 shows that since the column_id isn't changing, the existing mapping of the description for the column is preserved.

I know it's probably pretty obvious, but I had someone ask me, so figured proving the mapping for ms_description is maintained would be a good thing to walk through. Score another point for Microsoft, for design practices

Regex With SQL Server - SQLSharp

In the context of my developer machine, I had log files I wanted to parse through. I setup a log library to output the results on a test server to a sql table instead of text files. However, this meant that my "log viewers" that handled regex parsing weren't in the picture at this point. I wanted to parse out some columns from a section of message text, and thought about CLR as a possible tool to help this.Ideally, I wanted to feed the results for analysis easily into power bi, and avoid the need to create code to import and parse out fields. Since I knew the regex values I wanted, I thought this would be a good chance to try out some CLR functionality for the first time with SQL Server 2016 + CLR Regex parsing. I ran across SQL# and installed. The install was very simple, just downloaded a SQL script and ran it, adding a final "reconfigure" statement to ensure everything was good to go.

SQLSharp (SQL#)

I used the free version which provided great regex parsing functionality.

SQLSharp (SQL#)

Simple to use

Constructing the following query parsed the results easily, with no extract coding/import process required.

Simple to use


This was just an isolated 1000 record test, so nothing exhaustive. I compared it to a table function that parsing strings (could probably be optimized more). For the purpose of running a simple log parsing search on 1000 rows it did pretty good! For better work on parsing of strings, there are detailed postings out there by Aaron Bertrand, Jeff Moden, and others. My scope was specifically focused on the benefit for a dba/developer doing adhoc-type work with Regex parsing, not splitting delimited strings. The focus of most of the articles I found was more on parsing delimited string. However, I'm linking to them so if you are researching, you can be pointed towards so much more in-depth research on a related topic.



The scope of my review is not covering the proper security setup for CLR with production, CLR performance at high scale, or anything that detailed. This was primarily focused on a first look at it. As much as I love creative SQL solutions, there are certain things that fit better in code, not SQL. (heresy?) I believe Regex/advanced string parsing can often be better handled in the application, powershell, or other code with access to regex libraries. In the case of string parsing for complex patterns that are difficult to match with LIKE pattern matching, this might be a good resource to help someone write a few SQL statements to parse out some log files, adhoc ETL text manipulation, or other text querying on their machine without having to add additional work on importing and setup.