    # 2026 So Far - Hip Hop / R&B

Drake, DaBaby, T.I., Yung Miami, Sexyy Red, and more release some of the biggest tracks from the first half of 2026. Keep the crates up to date with this selection of the top songs this year

 Select a Spotify Playlist   ![]()  

        1. ![]()
  
 

 

 or Enter Spotify Playlist ID:   Load  

 

 

   ARTIST       ::   TITLE       

  BPM       KEY       YEAR      

  DOWNLOADS      

      

             

  

     

 

  <a :href="`/track/${result.id}`" :hx-push-url="`/track/${result.id}`" class="mt-1 sm:mt-0 gap-1.5 sm:gap-0 flex md:block flex-col text-left text-xs md:text-sm cursor-pointer hover:opacity-80 transition-opacity duration-300 ease-in-out truncate text-ellipsis lg:line-clamp-1" hx-get="/wp-content/plugins/hh-music/inc/hh-track.pjax.php" hx-on::after-request="setTimeout(() => window.scrollTo({top: 0, behavior: 'smooth'}), 500);" hx-swap="innerHTML transition:true settle:.3s" hx-target="#content" x-bind:hx-vals="JSON.stringify({ id: result.id })" x-effect="result.id;htmx.process($el)">   </a>    

            

  

  

 

  

 

 

  

  <a :href="`/track/${result.id}`" class="result-info min-w-8 min-h-8 inline-flex justify-center items-center cursor-pointer" hx-push-url="true" hx-swap="innerHTML transition:true settle:.3s" hx-target="#content" x-tooltip.interactive.debounce.1="{
            content: () => $refs.infotemplate?.innerHTML || 'Info not available',
            allowHTML: true,
            appendTo: $root
        }">= 1024 &amp;&amp; !event.ctrlKey &amp;&amp; !event.metaKey &amp;&amp; !event.metaKey) { htmx.ajax('GET', $el.getAttribute('href'), { target: '#content', swap: 'outerHTML transition:true settle:.3s', select: '#content', pushUrl: true, headers: { 'HX-Push-Url': $el.getAttribute('href') } }).then(() =&gt; { window.scrollTo({top: 0, behavior: 'smooth'}); window.history.pushState({}, '', $el.getAttribute('href')); }); }" &gt;  </a> 

  

   Similar  

 = 1024 &amp;&amp; (leaveTimeout = setTimeout(() =&gt; isOpen = false, 100))" @mouseenter="window.innerWidth &gt;= 1024 &amp;&amp; leaveTimeout &amp;&amp; clearTimeout(leaveTimeout)" @keydown.esc.prevent="isOpen = false; openedWithKeyboard = false" @click.outside="isOpen = false; openedWithKeyboard = false" class="relative toggle-downloads lg:w-56"&gt;  = 1024 &amp;&amp; (isOpen = true)" @keydown.space.prevent="openedWithKeyboard = true" @keydown.enter.prevent="openedWithKeyboard = true" @keydown.down.prevent="openedWithKeyboard = true" class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300" :class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'" :aria-expanded="isOpen || openedWithKeyboard" aria-haspopup="true"&gt; Downloads            = 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)" &gt;       

  = 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)" &gt;        

  

 

       - Add to queue    Remove from queue
 
 - 
- View Details
- Copy Link
- Mixable/Similar Tracks
 
 

 

 

  Loading remixes &amp; edits...

 

   No remixes/edits found.

                

       

 

            

 

 

 

  

     

 

   Downloads                   

          

  

 

       - Add to queue    Remove from queue
 
 - 
- View Details
- Copy Link
- Mixable/Similar Tracks
 
 

 

 

  

 

 

  

#### Danceability

   0.86         

#### Energy

   0.86         

#### Popularity

   0.86         

#### Valence

   0.86         

 

         

  

 

  

#### Danceability

   0.86         

#### Energy

   0.86         

#### Popularity

   0.86         

#### Valence

   0.86         

 

         

  

 response.json()) .then(data =&gt; { similarSongs = data.success ? data.data : []; isLoadingSimilarSongs = false; }); // Load recommendations if (currentTrack?.artist &amp;&amp; currentTrack?.title) { const formData = new FormData(); formData.append('action', 'get_spotify_recommendations'); formData.append('artist', currentTrack.artist); formData.append('title', currentTrack.title); fetch(hhMusicData.ajaxurl, { method: 'POST', body: formData }) .then(response =&gt; { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(data =&gt; { recommendations = data.success ? data.data.results : []; isLoadingRecommendations = false; }) .catch(() =&gt; { isLoadingRecommendations = false; }); } else { isLoadingRecommendations = false; } } else { isLoadingSimilarSongs = false; isLoadingRecommendations = false; }" x-bind:id="'menu-' + currentTrack?.id" :style="`position-anchor1: --result-${currentTrack?.id}`" class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50"&gt;       Similar/Mixable songs to###   -  

   

  KEY    BPM    YEAR    GENRE    TAGS         

  Mixable Tracks in key ± 5% BPM   Similar Tracks with a similar vibe 

 

 

 

 

 

 

  No mixable songs found.

               

  

     

 

  <a :href="`/track/${result.id}`" :hx-push-url="`/track/${result.id}`" class="mt-1 sm:mt-0 gap-1.5 sm:gap-0 flex md:block flex-col text-left text-xs md:text-sm cursor-pointer hover:opacity-80 transition-opacity duration-300 ease-in-out truncate text-ellipsis lg:line-clamp-1" hx-get="/wp-content/plugins/hh-music/inc/hh-track.pjax.php" hx-on::after-request="setTimeout(() => window.scrollTo({top: 0, behavior: 'smooth'}), 500);" hx-swap="innerHTML transition:true settle:.3s" hx-target="#content" x-bind:hx-vals="JSON.stringify({ id: result.id })" x-effect="result.id;htmx.process($el)">   </a>    

            

  

  

 

  

 

 

  

  <a :href="`/track/${result.id}`" class="result-info min-w-8 min-h-8 inline-flex justify-center items-center cursor-pointer" hx-push-url="true" hx-swap="innerHTML transition:true settle:.3s" hx-target="#content" x-tooltip.interactive.debounce.1="{
            content: () => $refs.infotemplate?.innerHTML || 'Info not available',
            allowHTML: true,
            appendTo: $root
        }">= 1024 &amp;&amp; !event.ctrlKey &amp;&amp; !event.metaKey &amp;&amp; !event.metaKey) { htmx.ajax('GET', $el.getAttribute('href'), { target: '#content', swap: 'outerHTML transition:true settle:.3s', select: '#content', pushUrl: true, headers: { 'HX-Push-Url': $el.getAttribute('href') } }).then(() =&gt; { window.scrollTo({top: 0, behavior: 'smooth'}); window.history.pushState({}, '', $el.getAttribute('href')); }); }" &gt;  </a> 

  

   Similar  

 = 1024 &amp;&amp; (leaveTimeout = setTimeout(() =&gt; isOpen = false, 100))" @mouseenter="window.innerWidth &gt;= 1024 &amp;&amp; leaveTimeout &amp;&amp; clearTimeout(leaveTimeout)" @keydown.esc.prevent="isOpen = false; openedWithKeyboard = false" @click.outside="isOpen = false; openedWithKeyboard = false" class="relative toggle-downloads lg:w-56"&gt;  = 1024 &amp;&amp; (isOpen = true)" @keydown.space.prevent="openedWithKeyboard = true" @keydown.enter.prevent="openedWithKeyboard = true" @keydown.down.prevent="openedWithKeyboard = true" class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300" :class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'" :aria-expanded="isOpen || openedWithKeyboard" aria-haspopup="true"&gt; Downloads            = 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)" &gt;       

  = 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)" &gt;        

  

 

       - Add to queue    Remove from queue
 
 - 
- View Details
- Copy Link
- Mixable/Similar Tracks
 
 

 

 

  

 

  No similar songs found.

               

  

     

 

  <a :href="`/track/${result.id}`" :hx-push-url="`/track/${result.id}`" class="mt-1 sm:mt-0 gap-1.5 sm:gap-0 flex md:block flex-col text-left text-xs md:text-sm cursor-pointer hover:opacity-80 transition-opacity duration-300 ease-in-out truncate text-ellipsis lg:line-clamp-1" hx-get="/wp-content/plugins/hh-music/inc/hh-track.pjax.php" hx-on::after-request="setTimeout(() => window.scrollTo({top: 0, behavior: 'smooth'}), 500);" hx-swap="innerHTML transition:true settle:.3s" hx-target="#content" x-bind:hx-vals="JSON.stringify({ id: result.id })" x-effect="result.id;htmx.process($el)">   </a>    

            

  

  

 

  

 

 

  

  <a :href="`/track/${result.id}`" class="result-info min-w-8 min-h-8 inline-flex justify-center items-center cursor-pointer" hx-push-url="true" hx-swap="innerHTML transition:true settle:.3s" hx-target="#content" x-tooltip.interactive.debounce.1="{
            content: () => $refs.infotemplate?.innerHTML || 'Info not available',
            allowHTML: true,
            appendTo: $root
        }">= 1024 &amp;&amp; !event.ctrlKey &amp;&amp; !event.metaKey &amp;&amp; !event.metaKey) { htmx.ajax('GET', $el.getAttribute('href'), { target: '#content', swap: 'outerHTML transition:true settle:.3s', select: '#content', pushUrl: true, headers: { 'HX-Push-Url': $el.getAttribute('href') } }).then(() =&gt; { window.scrollTo({top: 0, behavior: 'smooth'}); window.history.pushState({}, '', $el.getAttribute('href')); }); }" &gt;  </a> 

  

   Similar  

 = 1024 &amp;&amp; (leaveTimeout = setTimeout(() =&gt; isOpen = false, 100))" @mouseenter="window.innerWidth &gt;= 1024 &amp;&amp; leaveTimeout &amp;&amp; clearTimeout(leaveTimeout)" @keydown.esc.prevent="isOpen = false; openedWithKeyboard = false" @click.outside="isOpen = false; openedWithKeyboard = false" class="relative toggle-downloads lg:w-56"&gt;  = 1024 &amp;&amp; (isOpen = true)" @keydown.space.prevent="openedWithKeyboard = true" @keydown.enter.prevent="openedWithKeyboard = true" @keydown.down.prevent="openedWithKeyboard = true" class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300" :class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'" :aria-expanded="isOpen || openedWithKeyboard" aria-haspopup="true"&gt; Downloads            = 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)" &gt;       

  = 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)" &gt;        

  

 

       - Add to queue    Remove from queue
 
 - 
- View Details
- Copy Link
- Mixable/Similar Tracks
 
 

 

 

  

 

 

Premium content is available to members only. Please [upgrade](/members/upgrade) to access this content.