ADVERTISEMENT

Testing Out ElevenLabs' New AI Music Generation

Published Aug 8, 2025 11:48 am  |  Updated Aug 8, 2025 02:49 pm

At A Glance

  • ElevenLabs just released an AI music generation feature. We take it for a spin.

Who’s this for? 

Anyone curious about using AI for music creation

People following AI apps and developments

AI Music Generation isn’t anything new, but ElevenLabs entering the field is certainly an eye and ear-catching proposition. 

ElevenLabs has been an industry leader in AI voice, notably as a pioneer in text to speech, as well as voice cloning, and dubbing. They are at the forefront of the technology and are making it accessible to pretty much anyone with an email address. More extensive usage will need subscriptions, but with a free account you can generate two to three songs. 

It’s easy to think of personal uses for this, like generating simple music ideas that you can share, creating music beds for presentations, or even trying to prompt it to make your imagined WWE walk-in theme music. Professional use is even more extensive, especially for creatives who might need to generate music quickly but don’t have the luxury of pulling a band together in the studio. 

I’ve been using Suno and Udio for music generation every once in a while for the past few years. Within that short amount of time, these apps have made huge advances in their quality. Where before they sounded close to stock music, now they're ability to create rich, full-sounding songs with surprisingly passable lyrics and sometimes lyrics with wit that could get a passing grade in a college poetry class. 

It’s against Suno that I’m going to compare the performance of ElevenLabs' music. I’m using free plans for both. 

The first song I ask for is a metal track inspired by the British New Wave of Heavy Metal. I add a few touches that I think will challenge the model, particularly asking that it be in ⅞ time. When the track starts playing I’m honestly surprised by how crunchy and compressed the guitars sound. They don’t sound “natural” per se, which is to say the richness of a big amplifier, but they get what the guitar is supposed to sound like and make a fair approximation. 


Vocals are again kind of “standard” but I’m surprised that it’s singing staccato pretty well. And when it shifts to singing big sweeping melodies, I can actually headbang and appreciate the whole piece. 

In addition, without being prompted, is a gnarly synth part. The riff is actually pretty good, if standard, and has a gallop to its strumming. Bonus is the song ends with a guitar solo. The solo doesn’t hit the kinds of notes or shreds that a real player might make, but it gets the feel of what a solo in a song like this is supposed to sound like, especially as it moves to a crescendo in ending the song. 

So far, so good. Pretty impressive. 

It’s with the second song that it falters for me. Given how generative AI works, it’s all a probability game. But with just enough credits for me to make two songs, this second song doesn’t come out anywhere near what I’m looking for. 

At first I ask for a 90s boyband jam in the style of Max Martin. It rejects the prompt, saying that it’s in violation of their terms of service. That’s a good thing, at least we know it won’t let you just name artists to copy. I submit again, with specifics like it’s a 5-member boyband. I throw in an extra request for a dance breakdown that incorporates Filipino instruments. 

I think I might have pushed it too far or asked for too much. I can forgive its dance breakdown, which instead of having Filipino instruments, just features some synth that sounds more fit for salsa. But my main ask was a boyband jam and instead I got a very hyper kind of Aqua-style girl group track. I try to go back and forth for a revision, asking for male vocals but its first revision still features female vocals, and before we can get another revision I’ve run out of credits. 

In comparison, Suno is still much more accurate and more developed, allowing for more music. We have to note the ethical concern that Suno (and Udio) are being sued by music labels for copyright infringement in the training of their models. Meanwhile, ElevenLabs asserts that it’s working hand in hand with Merlin Network and Kobalt Music Group, and it’s only those specific labels and their artists that the model is currently trained on. It would explain the limited nature of the output.  

With where ElevenLabs’ music generation is right now, I’m not sure it’s a compelling product on its own. However, if you’re already in the ElevenLabs ecosystem and this means adding or consuming credits you already have access to, then this is a great addition. I think at the moment the gap in music quality with their competitors is still wide, but with the speed at which these models have progressed and the resources that ElevenLabs has, I wouldn’t be surprised if this competition was neck and neck soon. 

I’m still always going to love and prefer getting musicians into a studio. But for what you can do with a few keystrokes, AI music generation is an exciting space for exploration.

ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.