Monday 14 March 2016

The Bach Impostor

I came across an article titled "People are confusing computer generated music with the works of J.S. Bach", and it talks about a computer program called "Kulitta" which is another software that has been successful in automating music composition, and when I say successful, I mean that even "music sophisticates" as the article describes them, have been fooled into thinking that they are listening to Bach, when in fact they are actually listening to the music composed by Kulitta.
Kulitta works very similar to other software that I have already discussed in one of my previous blog entries; it works that by analyzing the music fed to it and learning the style and rules of a certain genre or specific composer and then composing the music based on that learning, which I think is the basis for all programs that compose music, so Kulitta is obviously not the first to do this. What Kulitta does differently, and I do not mean to say that it is the only program to do this, but what it does differently is that it does not follow the rules of the genre or the style of the composer it is learning very strictly and it is able to "create sounds that no one' sever heard before" (1).

Here is an example of music composed by Kulitta.

Whether or not that is a piece of music that could be compared to Bach or any other famous composer is for these so-called "music sophisticates" and professionals to decide, and even though I am not a professional musician and I never really had a formal music education beyond basic music theory and music history, in my humble opinion, I do think that this sounds beautiful and it is good music, and if it is supposedly fooling some professionally trained musicians into thinking this (or other pieces composed by Kulitta) is a piece by composed by J.S. Bach himself, then it must be doing a very good job at what it is supposed to do. I had gone over programs which fooled people with their music into thinking it was music composed by a human, but Kulittta fools them into thinking it is actually music by Bach.

Kulitta's creator, Donya Quick, a professor at Yale, says Kulitta is not supposed to replace human composers, it is only meant to be used as a tool for composers to find inspiration and help them in composing their own music. For example, Kulitta can generate bits and pieces of music or whole songs in a matter of seconds, but it is up to the human to determine which are the good bits and which are not, and put it all together.

This all goes back to my first post in which I mentioned how some musicians may not like the idea of a computer program doing their job for them, and some may feel as if the people making these programs are trying to replace them, and to a certain extent I can understand where they're coming from, but we live in a very open minded society when it comes to music and just to art in general, and I do believe that these composers which are closed to the idea of a computer making music should at least give it a chance, after all, if some of them listen to a piece by Kulitta and believe it is music composed by Bach, then they cannot really deny the fact that it is good quality music.

Human composers will always be around. I do not think computers will ever be able to completely replace human composers, no matter how good these programs get at composing music. After all, human creativity is the one responsible for introducing and coming up with new styles and genres of music, and we just give computers the rules so they can then learn the genre.

Sunday 6 March 2016

Artificial Intelligence Techniques in Music Composition

In my previous post, we looked at some of the more popular computers that have been successful in composing music using artificial intelligence without any human intervention when actually composing the music. For this post, I will be talking about the different artificial intelligence techniques and behavior used by these and other programs to compose music and just in the artificial intelligence world in general.

In my first post I mentioned the problems that need to be addressed whenever we want to create a program that generates music. We need to know what type of knowledge and data we are going to provide the computer with, and how this data is going to be presented and inputted into the computer. We also need to take into consideration how the computer is going to represent the data that was provided to it, and finally what the computer is going to do with this data and how it is going to manipulate it in order to compose a new piece of music. These are some of the AI techniques that I will briefly go over that can help us address these problems:
  • Randomness
  • Markov chains
  • Cellular automata
  • Neural networks

Randomness
This one is not exactly considered artificial intelligence, but most computer generated music have varying degrees of randomness to them and some of the techniques discussed here rely on the element of randomness to be able to be implemented, so randomness still plays a big part in the creation of computer generated music.

Markov Chains
Named after Russian mathematician Andrey Markov, the Markov chains are a sequence of events in which each event is dependent on the previous event or the current state of the system. This technique is one example of an AI technique that relies heavily on the element of randomness. But unlike the randomness that you get when throwing the dice or when flipping a coin, in which cases you have no control over the result each time you do it, when using Markov chains the probability of certain results increases based on what the previous result was. In music, this can be used by a program when trying to decide the sequence of pitches of the music that is being composed. For example, if a song is being composed in the scale of A-minor, whenever the system is trying to decide the pitch of the next note in the song, it is very likely that the pitch that it chooses is going to be in the A-minor scale.

Cellular Automata
Cellular automata is similar to Markov chains in that it is dependent on the current state of the system. 'Cellular automata are normally implemented on a computer as a regular array or matrix of variables, or cells, which normally can have one, two or three dimensions.' (2) The way cellular automata works is that all the cells in the array or matrix change simultaneously with each tick of an imaginary clock depending on a set of transition rules and also depending on the values of the neighboring cells.
One good example of software that uses cellular automata to create music is WolframTones.

Neural Networks
Neural networks are inspired by an animal's nervous system, and more specifically, by an animal's brain and how all the neurons in the brain are connected with each other. Of course, in a neural network of artificial intelligence, there are far less neurons than in our human brain and they are obviously much simpler than an actual brain. Neural networks are systems of 'neurons' or nodes that are interconnected and collaborate with each other in order to produce an output. Neural networks need a set of instructions or training data so that we can "teach" the network how to behave and how to compose music, much like the Emily Howell which was discussed in my previous post.


All of these techniques can be used by computer programs to generate and compose music, but they are not limited to just music. These sames techniques can be used to generate content in other forms of art, such as images, and level generators in video games.

There exists even more artificial intelligence techniques used in music generation which I did not mention, such as swarm intelligence and melomics, which is a way of composing music without any sort of human intervention. As already mentioned in my previous post, melomics is what the Iamus computer uses to compose its music.


References

(1) Biran Hayes. 'First Links in the Markov Chain', American Scientist; 2013

(2) Eduardo R. Miranda. 'Evolving Cellular Automata Music: From Sound Synthesis to Composition', http://csl.sony.fr/downloads/papers/2001/miranda-almma2001.pdfi; 2001

Monday 15 February 2016

Computer Composers


In my previous post, I gave a quick overview of how artificial intelligence is used by computer programs to compose music and how this practice has evolved over time ever since it started. For this post, I would like to discuss some of the programs and computers that have been more successful both in terms of composing music and gaining popularity, so much that they have already released full albums with their original compositions and their music has been performed by famous orchestras such as the London Symphony Orchestra.

The first computer that I will get into is the Iamus computer. 'Iamus is a computer composer specialized in contemporary classical music' (1). It was created by Prof. Francisco Vico and a group of programmers at the University of Malaga in Spain and it is considered the first computer to be able to compose full works of professional quality in its own style of contemporary classical music without human intervention and without trying to emulate the style of other composers. The Iamus tries to imitate a human way of composing music by using Melomics, which is a style of computer composition which 'provides the system with knowledge about music composition, which allows them to create their own styles' (1). I will get into different AI techniques used for music composition in my next post.

Some of the work done by the Iamus computer has been put together to release its debut album 'Iamus', which has was performed by the London Symphony Orchestra, as was previously mentioned. Here is Iamus's first full composition titled "Hello World!".


After listening to "Hello World!" you are probably thinking that that is definitely not the type of music that we are used to. Even if you are familiar with classical music, you may be thinking that the rhythm of the song is very unusual and difficult to follow, which is the case with most of the music composed by AI that I've heard.

Another computer program that has enjoyed great success is the Emily Howell, which is a computer program created by Prof. David Cope at the University of California, Santa Cruz. The way Emily Howell composes music is that it takes its input from a database  of different styles of music and composes new music in its own style. But it all started with its predecessor, the EMI (Experiments in Musical Intelligence), which was able to compose music by feeding it the works of a specific composer and it was then able to compose a new piece of music very similar to the style of the input. The EMI was successful in achieving this, but throughout its lifespan, it was always surrounded by controversy; musicians never really embraced it due to the fact that 'the creation of music is innately human, and this computer program was a threat in some way to that unique human aspect of creation' (2), and thus the EMI never enjoyed much success. From the EMI, Emily Howell was created. What Emily Howell does different from the EMI is that instead of trying to emulate a specific composer's composition style, it takes its input from different styles and attempts to create a new piece of music with its own original style. Emily's creator thinks that this should create even more controversy than the EMI since Emily Howell could be considered a new composer and not just another computer program that tries to imitate an existing composer and thus seen as competition by other composers.

The Emily Howell, just like the Iamus, has released its own albums through Centaur Records with its own original compositions. The video below is one of its original compositions.



After listening to that, I believe that most of us can agree that it is easier to follow and enjoy than the music created by Iamus, specially if you are like me and you are not an experienced musician who has been exposed to many different types of classical music.

The fact is that it is certainly impressive what these two creations have been able to achieve. I personally hope that society and specially musicians will become more open minded on this issue. As these programs continue to evolve, I hope that we can witness better and improved music from computers because the bottom line is that the purpose of music is to give the listener something that they can enjoy listening to.


References

(1) Sánchez C, Moreno F, Albarracín D, Fernández JD, Vico F. Melomics: A Case-Study of AI in Spain; 2013

(2) Jacqui Cheng. Virtual composer makes beautiful music—and stirs controversy.
http://arstechnica.com/science/2009/09/virtual-composer-makes-beautiful-musicand-stirs-controversy/

Monday 1 February 2016

An Overview of Artificial Intelligence in Music

Over the years, computers have been increasing their role and involvement in the music industry and the different genres of music. Technology advances at a rapid pace and consequently, computers and their software become more and more advanced and are capable of doing a greater number of things and more efficiently. It is the same when we talk about artificial intelligence. Most of us have seen the amazing and human-like things that very advanced robots and computer software are capable of  nowadays; we have from waiter robots, to robots that can play football, to computer programs that can hold a conversation with you. Artificial intelligence is at the center of the reason why these robots and these programs act the way they do.

In music, throughout history we have been able to see different genres and how the way music is composed varies by different periods in time and by geographical regions. In the 20th century however, we have seen an enormous variety in genres and how music is composed and when we threw computers and artificial intelligence into the mix, it allowed us to explore and come up with even more genres and ways of composing music which otherwise would not have been possible without them. In my future posts, I will be talking both about music composed in part by humans and in part by computers, but I will also be talking about music which is composed entirely by a computer. I would also like to get into the different artificial intelligence techniques that can be used by computer programs to compose music.

Of course, when talking about a type of art and in this case music, there is always the debate of whether or not what is being produced can be considered actual art. I believe few people would argue that music is not art, but when we talk about music that is being composed by a piece of software, there may be more people who may not consider it art anymore. For some, it may be that after listening to a piece of music composed by a program, they may feel as though what is being produced is not good music, or it is not creative. For others, for example a composer who has been studying and practicing music all his life, the idea of a computer program doing his job in a much shorter amount of time may be a tough pill to swallow.

But how can we determine if something is art or if something is creative? What do we take into consideration when deciding whether or not something is creative? Some argue that 'the underlying process must be creative in order for the system to be judged creative' (2). Others feel that 'the output of a system should be the sole determinant of creativity'. Perhaps it all comes down to a matter of opinion.

Whatever your opinion is on this matter, the reality is that a lot of time and effort is put into making these programs. They need to in a way, teach the computer how to compose music. There are four unique problems that need to be addressed when “teaching” and making a computer compose music:
  1. 'How will music be measured to provide input information to the computer system?' (1)
  2. 'How will that information be presented to the computer?' (1)
  3. How will it be represented in the computer program so the computer can understand it? (1)
  4. 'What will the computer do with this knowledge?' (1)
A lot of time and thought is put into the making of these computer programs, and we can only expect them to get better with time. There are already albums that contain music composed entirely by computers, and some of this music has already been performed live by orchestras, so I believe it is safe to assume that this type of music is just going to get more popular over time.


References

(1) Chris Dobrian, Music and Artificial Intelligence. 1993

(2) Evan X. Merz, Creativity in Algorithmic music. 2013