Music

Idaho State University Professor Creates Artificial Intelligence That Composes Music

Paul Bodily sits at a piano

When it comes to music, composition is a problem that has always frustrated computers. Sure, they can string a few notes or lyrics together, but creating patterns – repeated musical patterns that create form and meaning – is a real challenge. Now, after more than seven years of thinking about the problem, a computer scientist at Idaho State University has found the solution.

“There is this problem in the field of artificial intelligence known as the long-term addiction problem,” says Dr Paul Physical, Assistant Professor of Computer Science at ISU. “Basically, it’s really difficult for AI to generate sequences of elements, like music or language – where items chosen from one part of the sequence depend on items chosen from a completely different part of the sequence. For instance, the musicians may want to have a chorus repeated at different places in a song or have lyrics rhyme at different positions. It is quite simple to copy and paste or separately generate sequences of interdependent notes. But usually these approaches involve sacrificing the natural flow or consistency between interrelated elements, and therein lies the challenge.

Walk in Popular*. Pop* – pronounced ‘pop star’ – is a AI system developed by Physical. It is designed to work without the need for a human and most importantly solves the problem of long-term addiction.

“Pop* uses a special type of machine learning model that looks far down the sequence at what will eventually be generated to adjust the probabilities of what it generates in the short term,” Physical said. “In the end, the play is coherent from start to finish.”

Physical used well-known songs like “Twinkle, Twinkle Little Star” and “Somewhere Over the Rainbow”, as well as pop classics like “Hey Jude” by the Beatles and “Imagine” by John Lennon to train Pop* on the chords, pitches, rhythms and lyrics. After this accelerated training phase, the AI can now compose his own short pop songs. For lyrical inspiration, Pop* turns to Twitter for tweets about his favorite themes: being in love, feeling down and new beginnings.

“One of the first compositions generated by Pop* was this really dark, pensive song with the lyrics that said, ‘And I think I’m just a lie.’ Physical Explain. “I was overwhelmed by how much this moved me. We humans all deal with feelings of inadequacy at times, but beyond that, here’s a AI system that seems to question its own validity and do so artistically and creatively.

“When I started to do research in AII was already heavily involved in a completely different direction of research, and it was a big leap of faith to change,” Physical said. “This release is the reward for taking that leap seven years ago.”

In June, Pop* will enter into a battle of groups of sorts, the AI Song Contest 2022, and will compete using one of his early compositions, “And I Think I”. Looking to the future, Physical aims to research the use of systems like Pop* for therapeutic purposes. It will study how to match people with a AI who knows how to compose music can help improve their ability to be creative and deal with challenges they may face.

“My vision is to integrate Pop* into a mobile app where the user is invited to express thoughts or feelings, then Pop* and the user work together to create a meaningful message. musical expression or reaction to these ideas. The system could be designed to help the user share these creations or find other like-minded creators they could connect with. My hypothesis is that a tool like this could be powerful enough to help people deal with various mental health challenges.

For more information about the Department of Computer Science at Idaho State University, visit isu.edu/cs.

!function (f, b, e, v, n, t, s) {
if (f.fbq) return; n = f.fbq = function () {
n.callMethod ?
n.callMethod.apply(n, arguments) : n.queue.push(arguments)
};
if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = ‘2.0’;
n.queue = []; t = b.createElement(e); t.async = !0;
t.src = v; s = b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t, s)
}(window, document, ‘script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, ‘587085835603203’);
fbq(‘track’, ‘PageView’);