How to Write Christmas Songs: The Challenge
Are you ready for some crazy Christmas fun? Good, cos December is gonna be a wild ride here at the Revolution Harmony studio, as we'll be doing daily Hack Music Theory videos. Yeah!!!
So, here's our Christmas challenge to ourselves: It's kinda like a music theory advent calendar, where we'll be writing a Christmas song over the next few weeks, and teaching you the music theory and songwriting hacks we use along the way!
Remember to subscribe and click the bell to get notifications, so you don't miss out on any of our daily videos, teaching you how to write a Christmas song. But first... tea!
Lastly, if you'd like us to teach you how to write great songs from start to finish, then join our online apprenticeship program at Patreon.com/RevolutionHarmony (select ARTIST tier).
We really hope you dig our new music theory lesson, and if you wanna 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 (click & scroll down).
Thank you for being brave and committing to make the world a better place through better music. Until next week, happy songwriting & producing!
Kate & Ray Harmony
Vancouver BC, Canada
Music Teachers, Songwriters & Producers

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;
}
}