back to list

Re: Strasheela.

🔗Torsten Anders <anders_torsten@...>

6/17/2006 3:09:26 PM

Dear all,

I designed and developed Strasheela. I just found you had some discussion about it, so perhaps I may briefly clarify its motivation.

> --- In MakeMicroMusic@yahoogroups.com, Hudson Lacerda
> I'm not against
> the use of algorithmic tools per se....only that I would feel rather
> dishonest using them to create a work, and then take credit for it
> myself.

I assume I do not really need to motivate algorithmic composition in general. Naturally, we can compose music fully 'by hand'. Yet, a number of people prefer to delegate some subtasks of the composition process which can be formalised to some 'silicon assistant' (any aesthetic decision still remains with the composer, e.g., she/he may edit the software or the result until satisfied -- its only a different way of working) There exists an impressive amount of systems which allow for such a way of working and many of these systems also support doing microtonal music (see http://www.flexatone.net/algoNet/ for a list of systems).

A rich set of algorithmic composition strategies have been proposed and successfully applied. However, these strategies are often rather procedural. Strasheela proposes a considerably more declarative way based on the notion of compositional rules.

Compositional rules are well suited to describe music, because rules allow to describe the multi-dimensional nature of music in a modular way. When the task description is broken down into rhythmic rules, melodic rules, rules on the harmony etc. then the various musical dimensions are formalised one by one. A rule-based approach is particularly adequate to address the complexity required to model pitch structures -- including microtonal music.

Technically, Strasheela employs constraint programming to implement compositional rules. A number of constraint-based composition systems have been proposed already. Compared with existing systems, Strasheela is particular generic -- see http://strasheela.sourceforge.net/strasheela/doc/StrasheelaMotivation/index.html for a discussion of this aspect.

> Boy, I sure as hell wished they would have burned some audio files. I find it
> impossible to judge the _musical_ results of their algorithms without actually
> listening to them!

I know what you mean. The thing is that the musical output depends largely on the user: the system outputs music according to the music theory (i.e. musical constraint satisfaction problem) defined by the user. I provided standard examples like Fuxian counterpoint: you may look into the Fux textbook to see what kind of results that produces.

Strasheela by itself hardly predefines anything. Its design goal is (i) to facilitate the definition of music theories and (ii) to create music according to user defined theories reasonably efficient (by making the search process adaptable to the theory).

> This looks like it might be fun, but if it ain't got
> a GUI, I don't have time to play with it.

I know that the biggest obstacle to start with Strasheela is its user interface, the Oz programming language. There are several reasons why I have chosen Oz. Strasheela aims to be highly generic and therefore offers a programming language as user interface. The language is textual, because I am convinced such a language scales up better for complex music theories. For example, I believe that a logical formula such as the following implication example

isSimultaneous(Note1, Note2) => isConsonant(Note1, Note2)

is expressed more concisely in a textual way than in a visual language. I am most interested though, if you can convince me otherwise (see http://web.engr.oregonstate.edu/~burnett/vpl.html for a bibliography of research on visual programming languages, including logic and constraint languages).

There exist a considerably number of constraint systems, but Oz belongs to the state-of-the-art. Its programmability of the search process (i.e. what decisions are done during the search process and in which order) has proven to be essential for efficiently solving complex composition tasks. Besides, Oz/Mozart is free (open source) and platform independent -- unlike competitors such as ECLiPSe or SICStus Prolog.

If I would start with developing Strasheela today, then I would possibly implement it in Lisp (still the lingua franca of algorithmic composition) together with the Gecode library (www.gecode.org) -- but Gecode wasn't around five years ago when I started with Strasheela and porting it now can not be done in a weekend ;-)

Thank you very much for your interest!

Best,
Torsten

http://www.torsten-anders.de

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

[Non-text portions of this message have been removed]

🔗yahya_melb <yahya@...>

6/19/2006 4:58:54 PM

Hi Torsten,

--- In MakeMicroMusic@yahoogroups.com, Torsten Anders
<anders_torsten@...> wrote:
>
> Dear all,
>
> I designed and developed Strasheela. I just found you had some
discussion about it, so perhaps I may briefly clarify its
motivation.
>
[big snip of interesting theory that makes sense]
>
> > This looks like it might be fun, but if it ain't got
> > a GUI, I don't have time to play with it.

That was me, earlier, and others agreed.

> I know that the biggest obstacle to start with Strasheela is its
user interface, the Oz programming language. There are several
reasons why I have chosen Oz. Strasheela aims to be highly generic
and therefore offers a programming language as user interface. The
language is textual, because I am convinced such a language scales
up better for complex music theories. For example, I believe that a
logical formula such as the following implication example
>
> isSimultaneous(Note1, Note2) => isConsonant(Note1, Note2)
>
> is expressed more concisely in a textual way than in a visual
language. I am most interested though, if you can convince me
otherwise (see http://web.engr.oregonstate.edu/~burnett/vpl.html for
a bibliography of research on visual programming languages,
including logic and constraint languages).

The best way to convince you of this would be of course to
demonstrate a GUI Strasheela clone! ;-) But I have even less time
free for designing and programming these days than for music (it's
about priorities) so it won't be me that creates it.

I don't need concise ways of expressing formulae so much as
expressive ways of showing concise formulae! For me, a block flow
diagram or concept map (with drill-down or modularisation) would
present a more useful interface than lists of textual formulae. And
you know you can express any reasonable graph with lists, trees and
other text structures; so behind the scenes, you could use text for
rigour and simplicity in your rules database, while up front, the
user could drag and drop boxes for entities, arrows for links such
as implications, and click to type or edit labels.

Sure it's more work; but you would find many more users wanting to
play with such a tool - guaranteed.

> There exist a considerably number of constraint systems, but Oz
belongs to the state-of-the-art. Its programmability of the search
process (i.e. what decisions are done during the search process and
in which order) has proven to be essential for efficiently solving
complex composition tasks. Besides, Oz/Mozart is free (open source)
and platform independent -- unlike competitors such as ECLiPSe or
SICStus Prolog.
>
> If I would start with developing Strasheela today, then I would
possibly implement it in Lisp (still the lingua franca of
algorithmic composition) together with the Gecode library
(www.gecode.org) -- but Gecode wasn't around five years ago when I
started with Strasheela and porting it now can not be done in a
weekend ;-)

None of which argues against using a GUI to make the process more
immediately accessible to the majority of potential users. If you
have any trouble designing a GUI analogue of any essential feature,
I'd be happy to offer some ideas that may help.

> Thank you very much for your interest!
>
> Best,
> Torsten

Thank *you* for your initiative.

Regards,
Yahya

🔗Hudson Lacerda <hfmlacerda@...>

6/19/2006 7:07:18 PM

Torsten Anders escreveu:
> Dear all,
> > I designed and developed Strasheela. I just found you had some
> discussion about it, so perhaps I may briefly clarify its motivation.

Hi, Torsten.
You are welcome.

I am wondering which version of mozart I need to run Strasheela properly. Here I run Debian GNU/Linux, with GNU Emacs 21.4.1, and mozart version 1.3.1. I could not find the "Explorer" refered in Strasheela documentation.

{someone wrote:}
>> Boy, I sure as hell wished they would have burned some audio files.
>> I find it impossible to judge the _musical_ results of their
>> algorithms without actually listening to them!
> > I know what you mean. The thing is that the musical output depends
> largely on the user: No. It seems to me that the intended meaning is: Strasheela site has not MIDI, WAV, MP3, OGG, staff sheets or any other sample of some *actual* output of Strasheela. Of course, in a flexible system like Strasheela, the output depends largely of the specific input program rather, than of the system itself...

Regards,
Hudson

--
'-------------------------------------------------------------------.
Hudson Lacerda <http://geocities.yahoo.com.br/hfmlacerda/>
*N�o deixe seu voto sumir! http://www.votoseguro.org/
*Ap�ie o Manifesto: http://www.votoseguro.com/alertaprofessores/

== THE WAR IN IRAQ COSTS ==
http://nationalpriorities.org/index.php?option=com_wrapper&Itemid=182
.-------------------------------------------------------------------'
--


_______________________________________________________ Abra sua conta no Yahoo! Mail: 1GB de espa�o, alertas de e-mail no celular e anti-spam realmente eficaz. http://mail.yahoo.com.br/

🔗Rozencrantz the Sane <rozencrantz@...>

6/19/2006 2:00:26 PM

On 6/17/06, Torsten Anders <anders_torsten@...> wrote:
> Dear all,
>
> I designed and developed Strasheela. I just found you had some discussion about it, so perhaps I may briefly clarify its motivation.

[lots of things...]

> Thank you very much for your interest!
>
> Best,
> Torsten
>
> http://www.torsten-anders.de

Thanks for clearing things up some, you've certainly made it sound
more interesting now. I still have one concern, though: Someone
mentioned that a third-party program called "Emacs" was required. Is
this true? If, as you say, the interface is wholly textual, then it
seems like I should be able to use my UI of choice (I use notepad for
nearly all of my programming) to write the Oz. Is this right?

Thanks for the help, I think I'm going to take another look.

--TRISTAN
(http://dreamingofeden.smackjeeves.com/)

🔗Hudson Lacerda <hfmlacerda@...>

6/21/2006 7:43:23 PM

Rozencrantz the Sane escreveu:
[...]
> I still have one concern, though: Someone > mentioned that a third-party program called "Emacs" was required. Is > this true? If, as you say, the interface is wholly textual, then it > seems like I should be able to use my UI of choice (I use notepad for
> nearly all of my programming) to write the Oz. Is this right?

You do use notepad and still call yourself "the Sane"? :-)

GNU Emacs <http://www.gnu.org/software/emacs/> is a pretty good editor and programming environment, with support for a lot of programming languages (including syntax highlight and programmable commands) and character encodings/linefeed formats, more a complete Lisp interpreter built-in.

I use it for all text editing: plain text, shell scripts, configuration files, HTML, LaTeX, BibTeX, C, Makefile, GNU Octave, tcl/tk, PostScript, ABC music notation, LilyPond, wikipedia, csound, po-files (gettext)...

I recommend you install and use GNU Emacs, independently of Mozart integration (oz-mode). (VIM fans be aware: I also use vi, for small editing and file reading, but the topic here is Emacs :-)

BTW, it seems that *Mozart does* depend on GNU Emacs, not exactly Strasheela. On my system, the command `oz' runs Emacs with Mozart as subprocess. However, I think that you can run Mozart directly, provided that you know how to do it (which commands, which options).

It seems that there are not any more implementations of Oz but Mozart so far:

http://en.wikipedia.org/wiki/Oz_programming_language

Regards,
Hudson

--
'-------------------------------------------------------------------.
Hudson Lacerda <http://geocities.yahoo.com.br/hfmlacerda/>
*N�o deixe seu voto sumir! http://www.votoseguro.org/
*Ap�ie o Manifesto: http://www.votoseguro.com/alertaprofessores/

== THE WAR IN IRAQ COSTS ==
http://nationalpriorities.org/index.php?option=com_wrapper&Itemid=182
.-------------------------------------------------------------------'
--


_______________________________________________________ Yahoo! Acesso Gr�tis - Internet r�pida e gr�tis. Instale o discador agora! http://br.acesso.yahoo.com

🔗Aaron Krister Johnson <aaron@...>

6/21/2006 9:00:08 PM

On Wednesday 21 June 2006 9:43 pm, Hudson Lacerda wrote:

> GNU Emacs <http://www.gnu.org/software/emacs/> is a pretty good editor
> and programming environment, with support for a lot of programming
> languages (including syntax highlight and programmable commands) and
> character encodings/linefeed formats, more a complete Lisp interpreter
> built-in.
>
> I use it for all text editing: plain text, shell scripts, configuration
> files, HTML, LaTeX, BibTeX, C, Makefile, GNU Octave, tcl/tk, PostScript,
> ABC music notation, LilyPond, wikipedia, csound, po-files (gettext)...
>
> I recommend you install and use GNU Emacs, independently of Mozart
> integration (oz-mode). (VIM fans be aware: I also use vi, for small
> editing and file reading, but the topic here is Emacs :-)

The Emacs vs. VI thing is so overblown and stupid.

I use neither. I prefer Joe. And Kwrite.

-Aaron.

🔗anders_torsten <anders_torsten@...>

6/24/2006 1:03:54 PM

Dear Yahya,

Thanks for your reply and sorry for my delay (I am currently at some conference and not
checking email regularily).

--- In MakeMicroMusic@yahoogroups.com, "yahya_melb" <yahya@...> wrote:
> I don't need concise ways of expressing formulae so much as
> expressive ways of showing concise formulae! For me, a block flow
> diagram or concept map (with drill-down or modularisation) would
> present a more useful interface than lists of textual formulae. And
> you know you can express any reasonable graph with lists, trees and
> other text structures; so behind the scenes, you could use text for
> rigour and simplicity in your rules database, while up front, the
> user could drag and drop boxes for entities, arrows for links such
> as implications, and click to type or edit labels.

I know that many musicians feel the same and therefore there exist quite a number of
visual languages for music (e.g. Max and its relatives, PatchWork, OpenMusic ..)

If you are looking for a visual language for music constraint programming check out
OMClouds. This is part of OpenMusic, a composition environment available from IRCAM
(OpenMusic itself is free and open source but for its extensions including OMClouds you
have to pay).

On the other hand, there are also musicians who want highly programmable systems. An
example from the sound synthesis world is SuperCollider. SuperCollider is more hard to
start with than, e.g., Max but on the other hand can express things which are virtually
impossible in Max.

You may compare Strasheela with SuperCollider in this respect. If you have a look at
OMCloud -- it may already do all you want. If you later find out you need more then you
can consider Strasheela again.

Best,
Torsten

🔗anders_torsten <anders_torsten@...>

6/24/2006 1:15:15 PM

Dear Hudson,

--- In MakeMicroMusic@yahoogroups.com, Hudson Lacerda <hfmlacerda@...> wrote:
> I am wondering which version of mozart I need to run Strasheela
> properly. Here I run Debian GNU/Linux, with GNU Emacs 21.4.1, and mozart
> version 1.3.1. I could not find the "Explorer" refered in Strasheela
> documentation.

Strasheela does fully work in the Mozart version you are using (1.3.1). There is meanwhile
also a more recent Oz/Mozart version available.

The documentation for the Oz Explorer is here:
http://www.mozart-oz.org/documentation/explorer/index.html

In case you ran into some not-working code which uses the Explorer please be a bit more
specific about your problem (e.g. show the error message).

>
> {someone wrote:}
> >> Boy, I sure as hell wished they would have burned some audio files.
> >> I find it impossible to judge the _musical_ results of their
> >> algorithms without actually listening to them!
> >
> > I know what you mean. The thing is that the musical output depends
> > largely on the user:
>
> No. It seems to me that the intended meaning is: Strasheela site has not
> MIDI, WAV, MP3, OGG, staff sheets or any other sample of some *actual*
> output of Strasheela. Of course, in a flexible system like Strasheela,
> the output depends largely of the specific input program rather, than of
> the system itself...

Exactly. Still, I may consider extending the Strasheela web site when I find some time...

Best,
Torsten

🔗anders_torsten <anders_torsten@...>

6/24/2006 1:22:51 PM

Dear Rozencrantz,

--- In MakeMicroMusic@yahoogroups.com, "Rozencrantz the Sane" <rozencrantz@...>
wrote:
> Someone
> mentioned that a third-party program called "Emacs" was required. Is
> this true? If, as you say, the interface is wholly textual, then it
> seems like I should be able to use my UI of choice (I use notepad for
> nearly all of my programming) to write the Oz. Is this right?

Emacs is the default interface for the Oz integrated development environment (IDE) called
the Oz Programming Interface (OPI).

Other interface are in principle possible but not really existing so far...

Of course you may write your Strasheela or Oz code in an arbitrary text editor, but then
you miss the tight integration between the editor and the language provided by the OPI
(e.g. evaluation of code by key strokes, syntax coloring, easy output of results into an
Inspector, integrated debugger which points at problems in the editor etc). Therefore,
using the OPI for writing Oz code is very highly recommended.

Best,
Torsten

🔗Rozencrantz the Sane <rozencrantz@...>

6/21/2006 11:56:22 PM

On 6/21/06, Hudson Lacerda <hfmlacerda@...> wrote:

> You do use notepad and still call yourself "the Sane"? :-)

It launches quickly and doesn't pester me with features I don't want.
A spellchecker would be nice, but that's the only thing I ever find
myself wishing for

> GNU Emacs <http://www.gnu.org/software/emacs/> is a pretty good editor
> and programming environment, with support for a lot of programming
> languages (including syntax highlight and programmable commands) and
> character encodings/linefeed formats, more a complete Lisp interpreter
> built-in.

Oh dear. I'm a rather dedicated Schemeite, I'm getting out the torches
and pitchforks as we speak.

> I use it for all text editing: plain text, shell scripts, configuration
> files, HTML, LaTeX, BibTeX, C, Makefile, GNU Octave, tcl/tk, PostScript,
> ABC music notation, LilyPond, wikipedia, csound, po-files (gettext)...

Bah. LaTeX and PostScript are how people with interesting ideas keep
me from reading them. Also, anyone who spent enough time with LilyPond
to actually make it spit out real music does NOT get to judge my
sanity.

--TRISTAN
(http://dreamingofeden.smackjeeves.com/)

🔗Rick McGowan <rick@...>

6/30/2006 9:46:23 AM

Please, can we not have discussions of text editors on this list?
I don't know of any microtonal text editors, so I think they're out of scope.
Thanks,
Rick

🔗Hudson Lacerda <hfmlacerda@...>

6/30/2006 10:05:30 AM

Rozencrantz the Sane escreveu:
> On 6/21/06, Hudson Lacerda <hfmlacerda@...> wrote:
...
>>I use it for all text editing: plain text, shell scripts, configuration
>>files, HTML, LaTeX, BibTeX, C, Makefile, GNU Octave, tcl/tk, PostScript,
>>ABC music notation, LilyPond, wikipedia, csound, po-files (gettext)...
> > > Bah. LaTeX and PostScript are how people with interesting ideas keep
> me from reading them. Also, anyone who spent enough time with LilyPond
> to actually make it spit out real music does NOT get to judge my
> sanity.

Hi Tristan.

I didn't think you could take that joke seriously. Sorry.

Indeed I didn't use LilyPond for ``real music'' so far. However some features of recent versions (relative to contemporary notation) are atractive, so that I consider use LilyPond some day. Actually, I use abcm2ps for music notation; ABC is very easy, and abcm2ps allows full customization of the scores.

To go back to microtonal subjects, with abcm2ps one can notate microtonal music. It has built-in Tartini-Couper accidentals, and the user can create new accidentals (Sagittal notation can be used, for instance). Staves can have from 0 up to 9 lines, note-heads can be changed, etc. There is also abc2midi, which also allows to get microtonal MIDI files. These tools are worth a try.

Best regards,
Hudson Lacerda

Some ABC links:

http://staffweb.cms.gre.ac.uk/~c.walshaw/abc/
http://abcplus.sourceforge.net/
http://moinejf.free.fr/
http://ifdo.pugmarks.com/%7Eseymour/runabc/top.html
http://br.geocities.com/hfmlacerda/index.html#microabc
http://br.geocities.com/hfmlacerda/abc


_______________________________________________________ Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora! http://br.mobile.yahoo.com/mailalertas/

🔗c.m.bryan <chrismbryan@...>

6/30/2006 10:11:37 AM

> Also, anyone who spent enough time with LilyPond
> to actually make it spit out real music does NOT get to judge my
> sanity.

Haha!

Have you tried adapting the pre-made templates?

The only real time-consuming bit is fine-tuning layout stuff, which
you have to spend ages doing even with Finale/Sibelius.

It has made me feel more than a little nutty sometimes though... ;)

-Chris