Advertisement

Album Review: MacMillan & Spengler — Demonstration


MacMillan & Spengler

Demonstration
macmillanspengler.bandcamp.com/releases

MCF: MacMillan & Spengler, w/ Elysia Crampton, Lawrence English

Gabe’s, Wednesday — April 5 at 8:30 p.m., $15

Iowa City experimental electronic musicians Ian MacMillan and Brendan Spengler joined forces in 2012 to create the sound of bees for an Iowa City installation. The duo has collaborated on a number of projects since, most recently this recently released cassette, Demonstration.

Spengler, who plays a combo organ and analog synthesizers in the duo, is a transplant from Memphis, Tennessee and was trained as a classical pianist before moving on to play in the Memphis rock and punk scene that revolved around the label Goner Records.

MacMillan is a philosophy professor who has been active in the Midwest as a DJ and electronic musician, using modular synthesizers and specialized keyboards.

Aside from their first collaboration in 2012 on the bees, MacMillan & Spengler recorded an as-yet-unreleased full-length album and performed a live restored soundtrack to The Cabinet of Dr. Caligari to a sold out Iowa City crowd.

The four songs of Demonstration do what the title implies: demonstrate the rhythmic and textural capacities of this particular configuration of musicians. The first track, “Once a King, Always a King” is a tasty, sunshiny home-run of a throwback to early ’70s krautrock and electronic music. Spengler’s tasteful and somewhat jarring lead melodies complement the Teutonic precision of the synthesizers. It’s an effortless, gliding, clicking and humming track with a lot to like. I’m in.

With “The Three Marks of Existence,” things get all grindy and creepy: haunted house meets NASA space noise. The 15-minute piece eventually glides into ephemeral bliss, then drags you back down to the drone pound (now popularly understood as “The Upside Down” thanks to the dark synth soundtrack to Stranger Things).

The second side begins with “Wind,” a mostly ambient drone, featuring some heavy duty atonal blissed out droney business, perfect for your Savasana pose or some kind of hypnotism. This track particularly highlights the textural and ambient reaches of the duo’s abilities and is perhaps the most enjoyable track of the release for its subtlety and thoughtful composition.

Then we fade into “Ocean,” aptly titled, as the rhythm and texture start to approximate the sounds of the surf with a little zest of submarine signal/sci-fi sound effects.

Overall, Demonstration is a well-crafted, well-studied and fun contribution to the current deluge of contemporary experimental synthesizer music. The dynamic of these two minds is clearly one that can create and execute some interesting sounds and atmospheres. I look forward to checking out their next release.

This article was originally published in Little Village issue 218.


[gravityform id="17" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper your-village-form_wrapper' id='gform_wrapper_17' ><a id='gf_17' class='gform_anchor' ></a><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_17' id='gform_17' class='your-village-form' action='/album-review-macmillan-spengler-demonstration/#gf_17'> <div class='gform_body'><ul id='gform_fields_17' class='gform_fields top_label form_sublabel_below description_below'><li id='field_17_7' class='gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible' ><h3 style="font-weight:800; font-size:34px;">Let's get started</h3> <p style="font-size:18px;">Fill out this form and we'll contact you with information about marketing with Little Village!</p></li><li id='field_17_4' class='gfield field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label gfield_label_before_complex' for='input_17_4_3' ></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name gfield_trigger_change' id='input_17_4'> <span id='input_17_4_3_container' class='name_first' > <input type='text' name='input_4.3' id='input_17_4_3' value='' aria-label='First name' tabindex='2' aria-invalid="false" placeholder='First name'/> <label for='input_17_4_3' >First</label> </span> <span id='input_17_4_6_container' class='name_last' > <input type='text' name='input_4.6' id='input_17_4_6' value='' aria-label='Last name' tabindex='4' aria-invalid="false" placeholder='Last name'/> <label for='input_17_4_6' >Last</label> </span> </div></li><li id='field_17_5' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_5' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_5' id='input_17_5' type='text' value='' class='large' tabindex='6' placeholder='Company name' aria-required="true" aria-invalid="false" /></div></li><li id='field_17_3' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_3' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_17_3' type='text' value='' class='large' tabindex='7' placeholder='Your email address' aria-required="true" aria-invalid="false"/> </div></li><li id='field_17_8' class='gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_' ><label class='gfield_label' for='input_17_8' >Email</label><div class='ginput_container'><input name='input_8' id='input_17_8' type='text' value='' /></div><div class='gfield_description'>This field is for validation purposes and should be left unchanged.</div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_17' class='gform_button button' value='SUBMIT' tabindex='8' onclick='if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; jQuery("#gform_17").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=17&amp;title=&amp;description=&amp;tabindex=1' /> <input type='hidden' class='gform_hidden' name='is_submit_17' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='17' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_17' value='WyJbXSIsIjlmNzc1YTEyZmZjNmYyODk5Mzk0NDM3ZjRlOGYyZDNmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_17' id='gform_target_page_number_17' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_17' id='gform_source_page_number_17' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="203"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_17' id='gform_ajax_frame_17'>This iframe contains the logic required to handle Ajax powered Gravity Forms.</iframe> <script type='text/javascript'>jQuery(document).ready(function($){gformInitSpinner( 17, 'https://littlevillagemag.com/wp-content/plugins/gravityforms-asdf111aasdfffs-nope/images/spinner.gif' );jQuery('#gform_ajax_frame_17').load( function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_17');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_17').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;if(is_form){jQuery('#gform_wrapper_17').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_17').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_17').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_17').offset().top); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_17').val();gformInitSpinner( 17, 'https://littlevillagemag.com/wp-content/plugins/gravityforms-asdf111aasdfffs-nope/images/spinner.gif' );jQuery(document).trigger('gform_page_loaded', [17, current_page]);window['gf_submitting_17'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_17').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_17').offset().top);jQuery(document).trigger('gform_confirmation_loaded', [17]);window['gf_submitting_17'] = false;}, 50);}else{jQuery('#gform_17').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [17, current_page]);} );} );</script><script type='text/javascript'> if(typeof gf_global == 'undefined') var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2},"base_url":"https:\/\/littlevillagemag.com\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope","number_formats":[],"spinnerUrl":"https:\/\/littlevillagemag.com\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope\/images\/spinner.gif"};jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 17) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [17, 1]) } ); </script>