Hack Counterpoint & Write Unique Vocal Harmonies
Today on the Hack Music Theory show, we're super excited to reveal the conclusion video for our "Lines Through Lands" example song, which we've been teaching in our 3-Minute Theory series.
In this video, you'll learn how to Hack Counterpoint & Write Unique Harmonies (6-minute YouTube video), which is arguably the No.1 game-changer for all songwriters and producers, cos pretty much nobody uses counterpoint outside of classical music these days!
We really hope you dig our new lesson, and if you wanna learn more about counterpoint as well as get your hands on all the vital theory hacks you need to write great songs, then please download our Hack Music Theory for Songwriting & Producing PDF.
Thank you for being brave and committing to make the world a better place through better music. Until next week, happy songwriting & producing!
Ray Harmony - Victoria BC, Canada
Songwriter | Producer | Teacher | Author
Follow Kate on Spotify | Follow Ray on Spotify

Wooohooo!!! You're a mere 30 minutes away from being even smarter than you already are. Just head over to your inbox now for your free download.
There was an error submitting your subscription. Please try again.
“most brilliant, fast, easy & fun music theory book I’ve ever seen” –DEREK SIVERS, CD Baby founder
We use this field to detect spam bots. If you fill this in, you will be marked as a spammer.
DOWNLOAD FREE BOOK
/* Layout */
.ck_form {
/* divider image */
background: #EAE9EA url(data:image/gif;base64,R0lGODlhAQADAIABAMzMzP///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUQ5NjM5RjgxQUVEMTFFNEJBQTdGNTQwMjc5MTZDOTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUQ5NjM5RjkxQUVEMTFFNEJBQTdGNTQwMjc5MTZDOTciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxRDk2MzlGNjFBRUQxMUU0QkFBN0Y1NDAyNzkxNkM5NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxRDk2MzlGNzFBRUQxMUU0QkFBN0Y1NDAyNzkxNkM5NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAABAAMAAAICRFIAOw==) repeat-y center top;
font-family: 'Assistant', light;
line-height: 1.5em;
overflow: hidden;
color: #000000;
font-size: 16px;
border-top: none;
border-top-color: #666666;
border-bottom: none;
border-bottom-color: #3d3d3d;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
clear: both;
margin: 0px 0px;
}
.ck_form, .ck_form * {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#ck_subscribe_form {
clear: both;
}
/* Element Queries — uses JS */
.ck_form_content, .ck_form_fields {
width: 50%;
float: left;
padding: 5%;
}
.ck_form.ck_horizontal {
}
.ck_form_content {
border-bottom: none;
}
.ck_form.ck_vertical {
background: #fff;
}
.ck_vertical .ck_form_content, .ck_vertical .ck_form_fields {
padding: 10%;
width: 100%;
float: none;
}
.ck_vertical .ck_form_content {
border-bottom: 1px dotted #aaa;
overflow: hidden;
}
/* Trigger the vertical layout with media queries as well */
@media all and (max-width: 499px) {
.ck_form {
background: #fff;
}
.ck_form_content, .ck_form_fields {
padding: 10%;
width: 100%;
float: none;
}
.ck_form_content {
border-bottom: 1px dotted #aaa;
}
}
/* Content */
.ck_form_content h3 {
margin: 0px 0px 0px;
font-size: 0px;
padding: 0px;
}
.ck_form_content p {
font-size: 14px;
}
.ck_image {
float: left;
margin-right: 5px;
}
/* Form fields */
.ck_errorArea {
display: none;
}
#ck_success_msg {
padding: 10px 10px 0px;
border: solid 1px #ddd;
background: #eee;
}
.ck_label {
font-size: 14px;
font-weight: bold;
}
.ck_form input[type="text"] {
font-size: 16px;
padding: 14px 8px;
width: 100%;
border: 1px solid #d6d6d6; /* stroke */
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px; /* border radius */
background-color: #fff; /* layer fill content */
margin-bottom: 20px;
margin-top: 40px;
height: auto;
}
.ck_form input[type="email"] {
font-size: 16px;
padding: 14px 8px;
width: 100%;
border: 1px solid #d6d6d6; /* stroke */
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px; /* border radius */
background-color: #fff; /* layer fill content */
margin-bottom: 5px;
height: auto;
}
.ck_form input[type="text"]:focus, .ck_form input[type="email"]:focus {
outline: none;
border-color: #aaa;
}
.ck_checkbox {
padding: 10px 0px 10px 20px;
display: block;
clear: both;
}
.ck_checkbox input.optIn {
margin-left: -20px;
margin-top: 0;
}
.ck_form .ck_opt_in_prompt {
margin-left: 4px;
}
.ck_form .ck_opt_in_prompt p {
display: inline;
}
.ck_form .ck_subscribe_button {
width: 100%;
color: #fff;
margin: 10px 0px 0px;
padding: 14px 8px;
font-size: 18px;
background: #d74128;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px; /* border radius */
cursor: pointer;
border: none;
text-shadow: none;
}
.ck_form .ck_guarantee {
color: #626262;
font-size: 12px;
text-align: center;
padding: 5px 0px;
display: block;
}
.ck_form .ck_powered_by {
display: block;
color: #aaa;
}
.ck_form .ck_powered_by:hover {
display: block;
color: #444;
}
.ck_converted_content {
display: none;
padding: 5%;
background: #fff;
}
/* v6 */
.ck_form_v6 #ck_success_msg {
padding: 0px 10px;
}
@media all and (max-width: 403px) {
.ck_form_v6.ck_modal .ck_close_link {
top: 30px;
}
}
@media all and (min-width: 404px) and (max-width: 499px) {
.ck_form_v6.ck_modal .ck_close_link {
top: 57px;
}
}