Giter VIP home page Giter VIP logo

nandu's Introduction

Welcome to ñandú!

Deprecation Note

This software is no longer actively maintained and the server where it run is down.

If you like the idea, feel free and to get inspired or even try to get it running on your own machine. :) Let me know if you do!

Introduction

Nowadays popular and conventional ways of playback of music are very limited in terms of adding variation to how it is played every time. Usually, we only have the option to playback the piece exactly the way it was recorded and mixed. We are only able to influence the environment in which we hear it. If we want a “real”, “live” experience, our almost sole option is to see a live performance. The project’s main idea is to create self-evolving music, which will sound slightly different every time it is played. Read about it some more below, or if you feel adventurous - get right to it and start evolving yourself!

How does it work?

The software is based on user-interactive evolution, where the user can select the parts of the track which he likes and ones which he does not like. It imitates the behaviour of genetic evolution of species and biological natural selection – in which you (the users) are the natural environment for the track to evolve in. The parts tagged as “bad” become recessive and eventually change or completely die out, and the “good” parts survive and create offsprings: the new versions of the track. The ultimate goal for the software is to be able to evolve entire musical pieces or songs, “mega-organisms”, created from smaller parts that were also evolved at an earlier stage.

What is working now?

The process of creation started in the beginning of 2011 with most of the ideas thought through in December 2010. Therefore, ñandú is still in its infant stage of developement. As of version 1.0, released on the 6th February 2010, it's only possible to evolve 16-note melodies without rhythmic patterns. However, this is prone to change with the next release (1.1) of the software, adding many new features, mainly variable length and rhythmic evolution - coming soon. There are two main genetic operators implemented: crossover in a common point and mutation. Creative operators such as musical inversion, augmentation, diminution and others (like in Bach's fuges) will be included in the next release. The visual representation works best in modern browsers, which support the used bits of HTML5 and CSS3 - therefore browsers such as Firefox >=3.6, Chrome, Safari >=4. Opera unfortunately still has some problems.

How do I use it?

Head over to the first organism's evolution page, or pick an organism from the list in the select/create menu (click to open). More information is available on the evolve page.

Who's behind it?

Nandu is a little piece of software written by two students, namely Bazyli Brzóska (studying BA Creative Sound and Music at University of Wales Newport) and Michał Buczek (studying MA Computer Science at Cracow University of Technology).

Why is it called 'ñandú'?

Since we wanted the name of the project to connect with genetics, we thought Charles Darwin was an obvious decision. Unfortunately, the name Darwin was already taken - we found that Darwin discovered certain species of birds, known to native of South Americans as ñandú (now in Spanish), and in English as rhea. Rhea is also the name of a goddess according to Greek mithology. Thus we decided that ñandú sounds pretty awesome and is a great inspiration for the logo (which by the way has not been made yet).

How to use?

When you are in the evolve mode you are faced with two blobs of genetic material. Hover your mouse over the blobs to hear them. Pick one that you like best by clicking on it. The one you have chosen will become a parent for a new generation and will also survive to the next one in an unchanged form as 'Genotype A' (the one on the left). This way, you can keep clicking on Genotype A until the other one sounds better to you. You may stop this process at any time. Visual representation may help you notice the evolutionary process.

Look-alike?

Like in real life, it sometimes happens that two members of species look very similar - or in this case identical. If that happens you simply have to click on either one in order to continue the evolution. Enough melody-organisms are being generated, breed or mutated, so that the whole genetic pool will not be influenced by one pair of look-alikes.

MIDI

You can download the MIDI files for each Genotype from the slide menu (click to open).

Technical details

Genetic algorithms (GAs) and evolutionary computation (EC) are devilish fun partly because they permit us to tweak the noses of those whoshare the conventional wisdom that ‘computers only do what you program them to do.’ This cold war view of computer as glorified adding machine is still with us, but it seems to me generally that the accomplishments of EC must be giving those who still hold such views some pause, as field after field is changed by the computational innovation and creativity embodied in GAs and EC.

Evolutionary Computer Music - E. Miranda, J. al Biles (Springer, 2007) (p. v)

The first version of ñandú will only support generating melodies.

Darwinian Search Algorithms

Variations are caused by genetic processes such as mutations (sometimes caused by mistakes in DNA replication) and recombination of genetic material from different sources (e.g. the two parents in sexual reproduction).

basic EA

Evolutionary Computer Music - E. Miranda, J. al Biles (Springer, 2007) (p. 3)

The main components of an evolutionary search algorithm are:

  • genetic representation
  • evaluation function
  • population structure
  • selection method
  • genetic operators
  • replacement scheme

Genetic operators

genetic operators

Evolutionary Computer Music - E. Miranda, J. al Biles (Springer, 2007) (p. 7)

OK. Any terms of service? What's the license like?

We like the Open Source community very much and have in fact used some parts of code from many differnt projects available on the web. Therefore ñandú is itself licensed with MIT License, so feel free to run it at home or use its code, or parts of it in your own projects. No warranty of any kind that it will work, though. The code is available on GitHub at https://github.com/niieani/nandu/.

Thanks!

Many thanks to Michał, the developer of the evolutionary core, the person which I harassed every day to meet the deadline! Thanks to all the participants of the beta testing, especially Tomek, who helped to find some nasty bugs. And also thanks to you - the users - since you're here and reading this text. :)

nandu's People

Contributors

niieani avatar vsemaphore avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.