Iowa City’s John Hopkins graduated from Gabe’s to become one of metal’s most renowned sound engineers

John Hopkins runs the soundboard during soundcheck for the Melvins at Rock Island Brewing Company. Tuesday, Sept. 26, 2017. — photo by Zak Neumann

By Liv Carrow and Daniel Davis

For the past decade, legendary Iowa City citizen John Hopkins has been living on the road as a highly sought-after front-of-house tour sound engineer for some of the heaviest and most beloved sludge and stoner metal bands in the galaxy: the Melvins, Corrosion of Conformity, High on Fire, Orange Goblin, Weedeater, Neurosis, Boris, Uncle Acid & the Deadbeats, Alabama Thunderpussy, Municipal Waste, Buzzov•en and others. We caught up with Hopkins in September of last year after sound check at the Melvins gig in Rock Island.

Daniel Davis: So what year did you move to Iowa City?

I grew up an hour south of the Quad Cities, in Oquawka [Illinois]. Iowa City was the place where I was really starting to dig into the really underground stuff. I would drive up there all the time and go to BJ’s and Record Collector. I moved in ‘95 and I’ve pretty much been here off and on ever since.

I was doing door [at Gabe’s] to fund going on tour [with Scrid]. I’d pick up a bunch of door shifts and sock all that money away. It was as much about getting into any show I wanted to go to for free and getting cheap beer.

At the time Jason Tobias was doing most of the sound shifts, and he found out that I knew how to do sound. He just started riding my ass. He would just give me all this grief, like, “Why are you just sitting here?” He rode me about it till I was like, “OK, yeah, I’ll do sound.”

So it was basically University of Gabes, as [veteran Iowa City percussionist] Jim Viner has so aptly put it. There’s a bunch of dudes that went on to do sound. That whole thing was so casual, there was never zeroing the board out after the show, so I would walk in and [John] Svec [who went on to run Minstrel Recording Studio/EarthTone Recording in Iowa City for two decades] and Bronson [Karaff] were doing most of the shows at that point, and I would go in and be like, “Oh, that’s how they did it; that’s how they got the kick drum like that,” and just paid attention.

John Hopkins runs the soundboard during soundcheck for Melvins at Rock Island Brewing Company. Tuesday, Sept. 26, 2017. — photo by Zak Neumann

Scrid was the first band Hopkins’ toured with; Karaff was a bandmate. He joined Scrid as a guitar player shortly after the band moved to Iowa City. He drove back and forth for about a year before finally moving to Iowa City as well. After Scrid, Hopkins and Scrid bandmate Craig Owsley formed seminal Iowa City sludge band Kita, which toured up until the time that Hopkins started going out on the road doing sound.

Liv Carrow: Did it ever even cross your mind that there might be a career in rock and roll for you?

There was no motive to it. I figured I was probably gonna punch a time clock in some shitty kitchen until my knees finally broke up with me.

DD: So who was the first band you went on the road with doing sound?

That woulda been Alabama Thunderpussy, from Richmond [Virginia], in 2007. I lived the first year in Iowa City with the bassist for Scrid, and for five years I lived with the singer. Our house was always the flophouse for any band coming through on tour. Typically Bronson or I would do sound. And when those bands started getting to a point where they were making money to take crew on tour, when those offers [started] rolling in I just jumped on it.

Then I toured with Weedeater for about four years. That was a tough job. They would go out at least twice a year and they live hard. They were a handful, but I had a lot of really amazing times with those guys. I also just wanted to bash my head against the wall almost every night. it was just chaos … I was the baby-sitter. I knew they partied … they had stayed at my house a bunch, but for whatever reason I always lived in this fantasy world that maybe one of them kept it together each night, or the merch guy was keeping it together. Well, it turned out the merch guy was chowing down painkillers all the time and he was as much of a fuckup as anyone was. It was a lot of “cat herding.” There was many mornings I’d get up to leave and they were still up.

LC: Did you question what you were doing at any point?

Almost daily! It would be like, “I’m never doing this again,” and then … bands that were less chaotic started hitting me up. Weedeater led to the [Corrosion of Conformity] gig and that was pretty much the main thing I did from 2011 when they started touring again. And then just all kinds of shit has sprung up from that.

John Hopkins prepares drum mics for the Melvins at Rock Island Brewing Company. Tuesday, Sept. 26, 2017. — photo by Zak Neumann

DD: At what point did it start seeming like you’d be able to actually have this be your living?

I was super lucky. When it first started I worked at [New Pioneer] Co-op, and they let me have four or five weeks off to do that Alabama Thunderpussy tour. When the Weedeater thing came up I just quit. I knew I’d land somewhere. So I came home and I was pulling shifts at Bluebird and at Mickey’s. They were both really cool and really generous and let me come and go, always made sure I had shifts when I came home. Eventually once I hit that point where it was over 200 days out per year I was like, “I don’t really think I need to come home and work. This is an actual job now.” [In 2016], it was almost 280 days out. That’s more than working 40 hours a week at home.

Hopkins’ touring took him entirely around the world in 2017, starting in L.A., then to London, Singapore, Perth and back to L.A. He did two tours with Boris, a Japanese experimental band, in 2016, including a trip to Russia. Hopkins said he had to choose between them and the Melvins for 2017.

LC: Do you have plans in the works with any other bands?

The Melvins already hit me up for [2018] and said, “We want you to be the guy.” I’m way fine with that.

Buzzov•en is trying to get me to do the second leg of their tour. I’ll probably do it. They’re much calmer than they were. And even the tours I did with Buzzov•en in 2010 or 2011 weren’t shit compared to the stories I’ve heard about those guys back in the day. They were straight up outlaws.

LC: Do you feel like you’re living some kind of charmed life?

Everyday! I don’t take it for granted because for 10 years now I’ve only ever toured, with one exception, with bands that I loved, that I was already a fan of … The Melvins are probably my favorite band ever. The only band I have ever loved more than the Melvins was Kiss when I was a kid. I get to hang out with my favorite band all the time. Not bad at all.

Liv Carrow is a musician, writer and graduate student living in the Quad Cities. She enjoys telling bad jokes and collecting obsolete media items. Daniel Davis is a local musician and artist who’s still learning the difference between right and wrong. This article was originally published in Little Village issue 235.

[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='/iowa-citys-john-hopkins-graduated-from-gabes-to-become-one-metals-most-renowned-sound-engineers/#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' >Name</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="189"/><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, '' );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, '' );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:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope","number_formats":[],"spinnerUrl":"https:\/\/\/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>