Picture SourceSet with forced alt tag when empty

<?php
$thumbnail_alt = get_post_meta( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
if ( empty( $thumbnail_alt ) ) {
     $thumbnail_alt = get_the_title() . ' Featured Image';
}

echo '<picture>';
     echo '<source media="(max-width: 600px)" srcset="' . wp_get_attachment_image_url( get_post_thumbnail_id(), 'hgk-square-large-thumbnail' ) . '">';
     echo '<img src="' . wp_get_attachment_image_url( get_post_thumbnail_id(), 'large' ) . '" alt="' . $thumbnail_alt . '">';
echo '</picture>';