nandu
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Create music using Evolutionary Computation algorithms
# 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](http://sorry.no.longer.available/speciesId=1&evolve=true) 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](http://sorry.no.longer.available/speciesId=1&evolve=true), 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](http://en.wikipedia.org/wiki/Darwin_%28operating_system%29) 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](http://en.wikipedia.org/wiki/Rhea_%28bird%29). 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](https://github.com/niieani/nandu/raw/master/wiki/basic-EA.png)

*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](https://github.com/niieani/nandu/raw/master/wiki/genetic-operators.png)

*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/](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. :)

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。