Skip to content

In the News

  • Bluegrass At Large
  • Media
  • Music
  • Opinion / Humor

On the Charts

  • Bluegrass Weekly
  • Bluegrass Monthly
  • Grassicana Weekly
  • Gospel Weekly

In the Community

  • Events
  • Directory

Need Help?

Login

  • News
  • Charts
  • Events
  • Directories
  • Support

menu

Media

  • Headed South video from Breakin’ Strings

    July 1, 2022 | by John Lawless

    As the new century started, Breakin' Strings was a popular bluegrass group in the northeastern US. Based in Maine, the band launched in 2004, founded by mandolinist and songwriter Cliff Gelina and guitarist Corey Bonnevie, and toured and recorded aggressively for

    Read More
  • Chris Jones & The Night Drivers make their Opry debut

    July 1, 2022 | by John Lawless

    We are excited to get to brag on one of our own, Chris Jones, who will be making his Grand Ole Opry debut with his band, The Night Drivers, tomorrow night, July 2. Since Bluegrass Today launched nearly 12 years ago,

    Read More
  • IBMA announces Songwriter Showcase participants for 2022

    July 1, 2022 | by John Lawless

    Yesterday the International Bluegrass Music Association announced the 2022 participants for their annual Songwriter Showcase, as part of the Songwriter Track at the World of Bluegrass convention in Raleigh, NC this September. A total of ten writers are chosen to

    Read More
  • Barry Bales course online from Discover Double Bass

    June 29, 2022 | by John Lawless

    Discover Double Bass, a web site dedicated to all things upright, has just released an online course taught by Barry Bales, surely among the most celebrated bassists in bluegrass music. From his three decades keeping the beat behind Alison Krauss to

    Read More
  • IBMA announces final 2022 Bluegrass Ramble showcase artists

    June 28, 2022 | by John Lawless

    The International Bluegrass Music Association has announced the second and final round of artists invited to showcase at the 2022 World of Bluegrass convention in Raleigh, NC, as part of the annual Bluegrass Ramble. All showcase acts will perform at

    Read More
  • Blue Ridge Mountain Baby video from Appalachian Road Show

    June 24, 2022 | by John Lawless

    Billy Blue Records has a new single today for The Appalachian Road Show, who are certainly in the running for the most consistently interesting bluegrass act on the circuit right now. It's one written within the band which harks back

    Read More
  • Memories of an Angel video from Kim Robins

    June 23, 2022 | by John Lawless

    Pinecastle Records has released a music video for Kim Robins, based on the song Memories of an Angel from her current album, Leave the Porch Light On. It's a somber number, written by Daniel Salyer, which is perfectly encapsulated in the

    Read More
  • IBMA announces first round of Bluegrass Ramble showcase artists

    June 22, 2022 | by John Lawless

    The International Bluegrass Music Association has announced the first batch of artists invited to showcase at the 2022 World of Bluegrass convention in Raleigh, NC, September 27-29. These acts are chosen by an IBMA select committee who go through dozens

    Read More
  • IBMA announces new Board members, Bluegrass Live! schedule

    June 17, 2022 | by John Lawless

    The International Bluegrass Music Association has announced the newest members of their Board of Directors, decided in a recent vote of the membership. Each Director is elected for a term of three years, and can serve two consecutive terms. Directors are

    Read More
  • What Earl Scruggs Heard by Bob Carlin

    June 17, 2022 | by Richard Thompson

    Lockdown – remember that? - had many distressing effects. However, for some people it presented an opportunity to take on tasks that normal routine might not have permitted otherwise.  For producer, teacher/performer, and researcher Bob Carlin, the pandemic allowed him to

    Read More
Page 1 of 64012345...102030...»Last »

Most Recent Comments

  • Chris Jones & The Night ...

    Congratulations to Chris and all the band on being be invited to the Opry. Marshall has been there before, but I don't ...

    MartinD2 - Jul 02, 2022
  • Dan Tyminski and Molly Tuttle ...

    I got goosebumps listening to this 'Church Street Blues' just now. Bostin.

    shaongaon - Jun 30, 2022
  • James Reams passes

    James was one of the good ones. When I last spoke with him earlier this year, he was as upbeat and appreciative as he ...

    Donald Teplyske - Jun 30, 2022
  • From The Side of the Road… ...

    "If an MC messes up your band name, you’re going to have poor CD sales that day."I dunno, I recall pretty sad sales ...

    Jon Weisberger - Jun 29, 2022

Latest Event ListingsSearch Events

Lansing Creeper Trail Bluegrass
Wernick Method Bluegrass Jam Class with Austin Scelzo – Bethel, CT
Wernick Method Bluegrass Jam Class with Chris Roszell – Denver, CO
56th Shindig on the Green

Bluegrass Today Profiles

  • Bluegrass Beyond Borders: 4-Star Grass from Germany
    4-Star Grass
  • The Fiddle Maker – the story of Don Hunt
    Don Hunt
  • Bluegrass Beyond Borders: The Cherry Pickers from Down Under
    The Cherry Pickers
  • Andy Hall talks Infamous Stringdusters and Towards The Fray
    Infamous Stringdusters
  • Amanda Gore – part of the future of bluegrass
    Amanda Gore

  • Staff Directory
  • Advertising
  • Contact Us
  • Terms of Service
  • Privacy Policy

© Bluegrass Today 2022

powered by AhSo

  • News
    • Bluegrass At Large
    • Media
    • Music
    • Opinion / Humor
    • Back
  • Charts
    • Bluegrass Weekly
    • Bluegrass Monthly
    • Grassicana Weekly
    • Gospel Weekly
    • Back
  • Events
  • Directory
  • Support

© Bluegrass Today 2022
powered by AhSo

[gravityform id=11 title=false description=false]
<script type="text/javascript"> //---------------------------------------------------------- //------ JAVASCRIPT HOOK FUNCTIONS FOR GRAVITY FORMS ------- //---------------------------------------------------------- if ( ! gform ) { document.addEventListener( 'gform_main_scripts_loaded', function() { gform.scriptsLoaded = true; } ); window.addEventListener( 'DOMContentLoaded', function() { gform.domLoaded = true; } ); var gform = { domLoaded: false, scriptsLoaded: false, initializeOnLoaded: function( fn ) { if ( gform.domLoaded && gform.scriptsLoaded ) { fn(); } else if( ! gform.domLoaded && gform.scriptsLoaded ) { window.addEventListener( 'DOMContentLoaded', fn ); } else { document.addEventListener( 'gform_main_scripts_loaded', fn ); } }, hooks: { action: {}, filter: {} }, addAction: function( action, callable, priority, tag ) { gform.addHook( 'action', action, callable, priority, tag ); }, addFilter: function( action, callable, priority, tag ) { gform.addHook( 'filter', action, callable, priority, tag ); }, doAction: function( action ) { gform.doHook( 'action', action, arguments ); }, applyFilters: function( action ) { return gform.doHook( 'filter', action, arguments ); }, removeAction: function( action, tag ) { gform.removeHook( 'action', action, tag ); }, removeFilter: function( action, priority, tag ) { gform.removeHook( 'filter', action, priority, tag ); }, addHook: function( hookType, action, callable, priority, tag ) { if ( undefined == gform.hooks[hookType][action] ) { gform.hooks[hookType][action] = []; } var hooks = gform.hooks[hookType][action]; if ( undefined == tag ) { tag = action + '_' + hooks.length; } if( priority == undefined ){ priority = 10; } gform.hooks[hookType][action].push( { tag:tag, callable:callable, priority:priority } ); }, doHook: function( hookType, action, args ) { // splice args from object into array and remove first index which is the hook name args = Array.prototype.slice.call(args, 1); if ( undefined != gform.hooks[hookType][action] ) { var hooks = gform.hooks[hookType][action], hook; //sort by priority hooks.sort(function(a,b){return a["priority"]-b["priority"]}); hooks.forEach( function( hookItem ) { hook = hookItem.callable; if(typeof hook != 'function') hook = window[hook]; if ( 'action' == hookType ) { hook.apply(null, args); } else { args[0] = hook.apply(null, args); } } ); } if ( 'filter'==hookType ) { return args[0]; } }, removeHook: function( hookType, action, priority, tag ) { if ( undefined != gform.hooks[hookType][action] ) { var hooks = gform.hooks[hookType][action]; hooks = hooks.filter( function(hook, index, arr) { var removeHook = (undefined==tag||tag==hook.tag) && (undefined==priority||priority==hook.priority); return !removeHook; } ); gform.hooks[hookType][action] = hooks; } } }; } </script> <div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_11' ><form method='post' enctype='multipart/form-data' id='gform_11' action='/category/media/' > <div class='gform_body gform-body'><ul id='gform_fields_11' class='gform_fields top_label form_sublabel_below description_below'><li id="field_11_10" class="gfield hide-label field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_10"><label class='gfield_label screen-reader-text' for='input_11_10' >First Name</label><div class='ginput_container ginput_container_text'><input name='input_10' id='input_11_10' type='text' value='' class='medium' placeholder='First Name' aria-invalid="false" /> </div></li><li id="field_11_1" class="gfield hide-label gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_1"><label class='gfield_label screen-reader-text' for='input_11_1' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_11_1' type='text' value='' class='large' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></li><li id="field_11_5" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_5"><label class='gfield_label gfield_label_before_complex' >Email List :<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_checkbox'><ul class='gfield_checkbox' id='input_11_5'><li class='gchoice gchoice_11_5_1'> <input class='gfield-choice-input' name='input_5.1' type='checkbox' value='buzz' id='choice_11_5_1' /> <label for='choice_11_5_1' id='label_11_5_1'>Bluegrass Buzz Newsletter</label> </li></ul></div></li><li id="field_11_11" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_11"><label class='gfield_label' for='input_11_11' >Comments</label><div class='ginput_container'><input name='input_11' id='input_11_11' type='text' value='' /></div><div class='gfield_description' id='gfield_description_11_11'>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_11' class='gform_button button' value='Sign Up' onclick='if(window["gf_submitting_11"]){return false;} window["gf_submitting_11"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_11"]){return false;} window["gf_submitting_11"]=true; jQuery("#gform_11").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_11' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='11' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_11' value='WyJbXSIsIjdiZWFhNzdhMjZmM2E0NjI4MWQ1ZDY5NDIxY2FiZGVlIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_11' id='gform_target_page_number_11' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_11' id='gform_source_page_number_11' 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="57"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityform id=11 title=false description=false]
<div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_11' ><form method='post' enctype='multipart/form-data' id='gform_11' action='/category/media/' > <div class='gform_body gform-body'><ul id='gform_fields_11' class='gform_fields top_label form_sublabel_below description_below'><li id="field_11_10" class="gfield hide-label field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_10"><label class='gfield_label screen-reader-text' for='input_11_10' >First Name</label><div class='ginput_container ginput_container_text'><input name='input_10' id='input_11_10' type='text' value='' class='medium' placeholder='First Name' aria-invalid="false" /> </div></li><li id="field_11_1" class="gfield hide-label gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_1"><label class='gfield_label screen-reader-text' for='input_11_1' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_11_1' type='text' value='' class='large' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></li><li id="field_11_5" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_5"><label class='gfield_label gfield_label_before_complex' >Email List :<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_checkbox'><ul class='gfield_checkbox' id='input_11_5'><li class='gchoice gchoice_11_5_1'> <input class='gfield-choice-input' name='input_5.1' type='checkbox' value='buzz' id='choice_11_5_1' /> <label for='choice_11_5_1' id='label_11_5_1'>Bluegrass Buzz Newsletter</label> </li></ul></div></li><li id="field_11_11" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_11"><label class='gfield_label' for='input_11_11' >Phone</label><div class='ginput_container'><input name='input_11' id='input_11_11' type='text' value='' /></div><div class='gfield_description' id='gfield_description_11_11'>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_11' class='gform_button button' value='Sign Up' onclick='if(window["gf_submitting_11"]){return false;} window["gf_submitting_11"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_11"]){return false;} window["gf_submitting_11"]=true; jQuery("#gform_11").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_11' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='11' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_11' value='WyJbXSIsIjdiZWFhNzdhMjZmM2E0NjI4MWQ1ZDY5NDIxY2FiZGVlIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_11' id='gform_target_page_number_11' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_11' id='gform_source_page_number_11' 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_2" name="ak_js" value="227"/><script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>