On Tue, 8 Nov 2011 16:33:42 +0900 Carsten Haitzler (The Rasterman)
<ras...@rasterman.com> wrote:

> On Tue, 8 Nov 2011 07:23:27 +0100 (CET) Vincent Torri
> <vto...@univ-evry.fr> said:
> 
> > 
> > 
> > On Mon, 7 Nov 2011, Carsten Haitzler (The Rasterman) wrote:
> > 
> > > attached. this was a sample edc that would be able to play audio,
> > > not just single samples but whole sequences across multiple
> > > tracks as well as control specific channels and tracks. it didn't
> > > specify looping params yet or other additional stuff.
> > 
> > i've never heard about that sound plan before the commit. The patch
> > was not public and we could not have discussed about it before the
> > commit. So I really don't like the way it came into edje.
> 
> i'm not sure this is much different from anything else that goes on
> in efl. i have done work for a decade+ without discussing patches on
> the mailing list first. so have most developers. as such this patch
> this time was going through me. the comments on the patch so far
> havent actually commented on the edc api it adds at all which
> everyone is up in arms about "for release". so since everyone
> complaining isn't actually talking about that... i'll write it here
> in short form. it adds: sounds {
>       sample {
>          name: "<NAME>" <ENCODING>;
>          source: "<SAMPLE_FILE>";
>       }
>       ...
>       tone: "<NAME>" <FREQ>;
>       ...
>    }
> and 2 more actions:
>    PLAY_SAMPLE "<NAME>" <SPEED>;
>    PLAY_TONE "<NAME>" <DURATION>;
> 
> that's it. unfortunately to make this WORK u need a chunk of infra
> like being able to load and encode samples into edj files, decode
> them, play and mix them, resample them, etc. all of which is opaque
> to the api.

/me picks a spot in this thread to actually discuss the API.  Here
seems the best.

A quick look over it, and the example, and the "plan", and it seems
mostly sane. One thing that stands out straight away in the examples is
the way that a bit of music was defined.

First thing is that you are using something that looks like a typical
tracker, which is fine in itself.  Lots of people are familiar with
that.  It's a bit verbose though.

I think it would be great to also provide an alternative that is more
like MIDI, as that is also used by a lot of people.  Have both, that
would cover most things.  Actually, the "plan" includes using a program
per note, which is a bit more MIDI like, but even more verbose than the
pattern style.

Can we cut the verbosity levels?  Though I guess edje has a similar
problem, and the solution is to go to embryo, or lua (which so far
seems to end up being about half as verbose as embryo, though YMMV).

Second is what you are doing to provide a scale.  I see you are
basically dividing an octave into 7 equal parts, then doing maths to
arrive at the numbers to feed into the system.  Now I'll admit that
musical scales are an entire morass of systems, but most western modern
and classical music, going back a few centuries, uses the 12 tone equal
temperament scale, or something very close to it.  Except for blues and
jazz, where things can get complicated.  Non western music uses a
variety of scales, so it's hard to do one size fits all.  Like most of
western culture though, it's becoming the most popular around the
world.  I have idea what traditional Korean music is like.

12 tone equal temperament scale divides an octave into 12 equal
parts based on the 12th root of 2, coz things are logarithmic.  People
doing basic music stuff should not have to deal with that sort of
maths.  lol

On the other hand, I think the API Should provide something more like
scientific pitch notation, as it's easy to write that in ASCII, if you
use "b" to mean flat.  Then the maths for 12 tone temperament scale is
hidden, and music comes out sounding like it should.  Could be done with
some macros. So you could provide "notes" like - 

C C# D Eb E etc.

Not sure about specifying octaves above or below the reference sample
or tone, standard scientific pitch notation refers to absolute
pitches.  Note that this would be an option, people dealing with not so
common scales can use that as an example, do their own research into
the maths behind their scales, and still be able to use the correct
numbers that suit them.

This is just a quick look.  I'll go over it more later.

-- 
A big old stinking pile of genius that no one wants
coz there are too many silver coated monkeys in the world.

Attachment: signature.asc
Description: PGP signature

------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to