It sounds like ‘Teen Spirit’ at FilmScene

Elle Fanning as Violet in ‘Teen Spirit.’ — film still

Why are millennial actors-cum-directors expressing their creative angst through the medium of teenage girls? I’ll save that analysis for another time, and instead focus in on a single film that, rather refreshingly, begs no long-winded essays: Teen Spirit, the directorial debut of English actor Max Minghella (who you may know from Hulu’s The Handmaid’s Tale and David Fincher’s The Social Network).

Minghella hails from London, despite often adopting an American accent for his roles. His father — the late Anthony Minghella, an Oscar-winning director and screenwriter — was born on the Isle of Wight, same as the hero of Minghella’s screenplay and film. Teen Spirit, now screening at FilmScene, stars Elle Fanning (no stranger to assuming an accent herself, as she does here) as Violet Valenski, a 17-year-old introvert juggling school, waitressing and small singing gigs to help her single mother pay the bills at their rural home. Her mom (mum?) is a Polish immigrant, abandoned years ago by her husband and wary of Violet pursuing music for fear she’ll only find disappointment.

The premise and plot here break no new ground: Violet dreams of becoming a star — not, it seems, because of a lust for fame and fortune, but because she just “likes to sing” — and when she learns the popular musical competition program Teen Spirit is hunting for talent among the island’s adolescents, she stealthily signs up. After making it through the first round of auditions, she needs an adult to sign off on her involvement, and so recruits Vlad (Zlatko Buric), a fan from her pub gigs, with the promise that he will be hired as her manager if she should make it big. An ex-Russian opera singer and current drunk loner, Vlad serves as the misanthropic coach/father figure, a combination of Haymitch Abernathy in Hunger Games and Konstantin Vasiliev in Killing Eve.

With vocal training from Vlad and a bit of luck, Violet progresses in the competition. But the closer she gets to victory and acceptance by the posh British music industry, the more lost she feels. The vaguest of spoilers: Teen Spirit is no Vox Lux or A Star is Born. It’s not all cotton candy and Katy Perry, but it’s also not a gritty drama in which glass bottles are shattered against dressing room vanities and garage doors are ominously closed. Isn’t nice to sit down to a PG-13 movie every once and a while?

As pop stars go, Violet is rather uninspiring. She’s not the best singer, as the character readily admits (though Fanning does a commendable job), and she’s not a quirky teen auteur in the Billie Eilish vein; she sings only covers, and doesn’t bother to be engaging in the TV show’s promos or interviews. No doubt she’s sympathetic, a shy but driven middle-class girl who’d rather wear Adidas sweatpants and her blonde hair in a bun than don wigs, sequins and fake eyelashes. Violet’s not a bad role model for young women, but it does take a stretch in the imagination to believe a person with no distinguishable personality and merely a pleasant voice would thrive in show biz.

(It goes unacknowledged that Violet’s natural beauty would take her at least as far in entertainment as her modest talents. The film seems to suggest it was only her voice and authenticity that earned her this opportunity. Why give parasitic record companies and the shallow reality TV-viewing public so much credit?)

Elle Fanning and Rebecca Hall in ‘Teen Spirit.’ — film still

Suspension of disbelief aside, Teen Spirit is a pleasant time at the movies, blithely bridging the gap between a Cinderella story made for the Hannah Montana demographic and a thoughtful coming-of-age film with an atmosphere akin to The Miseducation of Cameron Post.

FilmScene also recently got its hands on Jordan Peele’s Us, which I’ll readily admit is the superior spring movie. (If you haven’t seen it yet, don’t slow yourself down browsing reviews — just see it.) But why pick one great movie to see when you can catch two? As a reprieve from R-rated violence and tragedy, and a lovely little showcase of Fanning’s and Minghella’s talents, tune in for Teen Spirit.

Check the FilmScene calendar for showings of Teen Spirit and Us, and give the soundtrack a listen if you need a mood boost.

[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='/it-sounds-like-teen-spirit-at-filmscene/#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' >Comments</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="238"/><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>