>Since there are software developers in this forum, I thought this
>might be a good place to discuss this idea.
>
>Wouldn't it be nice if someone would develop a program that can
>easily create understandable music notation in ASCII format?
>Guitar tab folks make ASCII tab all the time, right?
>
>I've seen a lot of nice ASCII art. There must be a way to
>approximate a treble clef, bass clef, a staff, notes, stems, etc.
>using ASCII.
I've been thinking about this, and have even made some attempts.
We're developing a free music typesetter, GNU LilyPond (www.lilypond.org),
which has a versatile backend. If we would have an `ascii musical
character set', it should not be too hard to add ascii output.
It seemed easier to imagine than to achieve, however, to create a
workable character set. Here's a simple example of suggestive
ascii notation, as I would like to have it typeset by LilyPond:
What fingering do you use? Here's is mine:
$ echo "< c-1 e-2 g4 >" | lilypond --simple
.. yields..
4
2
1
-|x----------
-|x----------
-|x----------
|
|
But the problem is, lots of information is missing here, and it would
be too hard for a typsetting program to guess what can be omitted. If
you want to be able to include all information in ascii, it gets very
wide and big. That's why I gave up, until maybe an ascii artist helps
me further. See:
/\
| |
+----|-|---------------------------------------+----------------
/ | | | +----+----+----+----+ | +----+--
/ |----|/--------------|----|----|----|----|-----|--------|----|--
/ | /| | | | | | | | |
| |--/-|----b----r-----|----|----|----|----|-----|--r-----|----|--
| | | | | | | | | | | |
| |-|-(@)--------------|----|----|----|----|-----|--------|----|--
| | \ |/ | x| | x| | | | x|
| +----|---------------|---------|---------|-----+--------|-------
\ o/ x| x| x| x|
| --- --- --- ---
/ | | | x|
-| -x- -x- -x-
\
|
/
| +---------------|------------------------------+----------------
| | /^\ | |
| |--o |:--------|------------------------------|---|------------
| | / | | |
| |---/----------o|------------------R-----------|---|------------
\ | / | |
\ |-|-------b------------------------------------|--o|------------
\ | |
+----------------------------------------------+----------------
I should have nicer versions of the clefs, somewhere, but I can't seem
to find them now. But you should get the idea, it doesn't seem to be
useful for anything but the shortest of fragments.
>I'd buy it!
Personal Duh: Proprietary software sucks.
Greetings,
Jan.
PS:
>To reply remove MORESPAM
You ask for email, you get email :-)
--
Jan Nieuwenhuizen <jan...@gnu.org> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien | http://www.lilypond.org
> Personal Duh: Proprietary software sucks.
I understand the idea, but why should software live in a different
world? Haven't we proprietary cars, houses, money accounts, etc?
--
Alain NAIGEON - Strasbourg, France - anai...@free.fr
Musique renaissance : http://listen.to/renmusic
--> Several pages now available in English! <--
Bad analogy, imo. If I don't like the entrance to my house (annoying
startup sequence?), if I want a bathtub iso a shower cell, if I want other
instruments in my car's dashboard, I can change that myself, or have
it done. I can get detailed descriptions for my car's electrical
circuitry, etc. What's more, I'm allowed to make such changes: my car,
my house are mine. I'm not strictly bound by what the manufacturer had
in mind.
Greetings,
Jan.
Too bad my comment took the discussion off topic, though.
"It depends."
There are zones and historic preservation districts, too, and changes
you can't make to either house or car for safety, pollution, etc. That's
largely true in NL as well.
Proprietary software gives an economic incentive to develop, and if it's
bad, and incentive to develop *against*. One might say that Linux, for
example, exists because of Windows.
Anyway, off topic is nice for a change. We've been so darn on-topic
lately, and without Jeff Harrington to shake us up, the on-topic stuff
is getting kinda dull...
Dennis
--
Dennis Báthory-Kitsz
MaltedMedia: http://maltedmedia.com/
Kalvos & Damian's New Music Bazaar: http://kalvos.org/
The Transitive Empire: http://maltedmedia.com/empire/
OrbitAccess Accessibility Project: http://orbitaccess.com/
No Money: Lullaby for Bill Gates ... and other mp3's:
http://www.mp3.com/bathory/
>Jan Nieuwenhuizen a écrit :
>
>> Personal Duh: Proprietary software sucks.
>
>I understand the idea, but why should software live in a different
>world? Haven't we proprietary cars, houses, money accounts, etc?
Yes, the idea that software should be free is an interesting idealistic
principle. But, for those of us who want to try to earn a living with our
software skills, it would also nice if the principle extended to the local
supermarkets and shoe manufacturers: that way we could all create free
software and still eat and put shoes on our kids' feet.
Dave
Dave Webber
Author of MOZART the Music Processor for Windows - http://www.mozart.co.uk
Member of the North Cheshire Concert Band http://members.aol.com/northchesh
Indeed, in specific situations there might be limitations to these
`inherent' freedoms. Your point?
>Proprietary software gives an economic incentive to develop, and if it's
>bad, and incentive to develop *against*. One might say that Linux, for
>example, exists because of Windows.
One might say that, but one would not be too accurate in saying so.
GNU/Linux exists mainly because other popular software was either
proprietary or of poor quality or both (UNIX variants/UNIX- tools/DOS).
Which closes the circle: no proprietary software for me.
Greetings,
Jan.
I'll second that! Very little of the software I use is free of cost.
Most of it, however, is reasonable cost, high quality software.
--
Don Groves (dgroves_emgo_org)
Replace underscores to get my email address.
Yes, but the clefs are not the point. Incidentally: `g clef' is just
as wide as the elaborate symbol is, so that doesn't really help.
Note: as we have the aid of a full music typesetter, the complexity
of the symbols is no issue, only size and feasibility are. The problem
is: you seem to need a height of at least 9 characters peri staff,
because of notes on and between staff lines.
Anyway, I'm interesed in good alternatives, if someone has anything
helpful to contribute; fine ascii example drawings can be of much use!
On 16 Feb 2000 14:28:01 +0100, jan...@xs4.xs4all.nl (Jan
Nieuwenhuizen) wrote:
>Hi!
>
>We were having a small discussion going in rec.music.compose on the
>subject of ascii representation of sheet music, but we seem to be
>a bit wanting for ascii artist (see below). Maybe there are music
>enthousiasts here?
I'll take a whack at this. It's an interesting problem. I don't know
much about music notation, though, so my ideas may not be worth all
that much.
>It's been suggested that the drawings below are too elaborate:
I agree. You can save a lot of space with some thought.
> This tries to do too much. I wouldn't expect nice clef signs in
> ASCII notation. Just a *representation* of clefs; merely putting
> "g clef" in front of the staff would be fine with me. The
> important thing is that the pitches and durations are
> understandable.
>
>but I don't think that's the case because the clefs are not the point.
>Incidentally: `g clef' is just as wide as the elaborate symbol is, so
>that doesn't really help.
However, 'g clef' is much easier to write, even for a program. And, it
is much easier to read than a blocky ascii picture. You can also
write:
g
c
l
e
f
And only take up one line.
>Anyway, I'm very much interesed in good alternatives, maybe someone
>has something helpful to contribute; fine ascii example drawings can
>be of much use!
OK, from what I remember, we have whole notes, half notes, quarter
notes, eighth notes, and rests of all of those. Plus, I've seen big
arcs on the page (Whatever those are for) and sometimes notes are
grouped together via lines, single, double, (triple?). And sometimes
the lines are thick, sometimes thin. Something else tells me that
sometimes you can have a note with a little dot next to it, which
means 'an extra eighth' or 'an extra sixteenth' or somesuch.
Soooooo.... Here's some ideas.
Every note should fit on 1 row, and we should try to keep most things
down to 3 columns at most.
Whole note: (*)
Half Note: ( )
Quarter Note: (*)
|
|
|
Eighth Note: ( )
|
|
|
Of course, if my coloring or whatnot is off, change it to suit real
music notation :)
What next? Rests? I've always seen these as little black boxes above a
line. I don't know how to distinguish between half, quarter, or
whatnot, but here's my ideas:
_
--*--
_
--~--
_
--^--
Just a thought.
Now, to group these things together will be a bear. The I am going to
assume the worst case scenario, which is that the thickness of the
lines is important, and that there can be up to 3, all in different
thicknesses. I'm going to hope a bit and say that if the lines are
horizontal instead of slanted, everybody will still understand it.
For the thick lines, we can use ###### because that looks thick. For
the thin ones, ====== or ++++++. Basically, we need to determine
between the thick lines, the thin lines, and the actual lines on the
'paper' we are drawing on.
For the little dot, that's easy. Use a period.
Now, those arcs. You can't do that without a LOT of trouble,
especially in a program. I suggest something over the bar that looks
somewhat like this:
______________________
/ \
Can't think of another way.
Lastly, the vertical lines on the bar. IIRC, there are thin ones and,
at the ends, thick ones. We can't use | because that's in the notes,
so I suggest ! or I, perhaps + or 1, whatever looks best. I personally
prefer +. For the thick ones, just use 2 +'s.
So, let's put that all together:
________
/ \
++--------|######|-----------------+
++ g |======| +
++--------|------|######|----------+
++ | |======| _ +
++-c------|------|------|----*-----+
++ l (*). | | +
++-e-----------(*).-----|----------+
++ f ( ) +
++---------------------------------+
I don't pretend that this is anything that could be played by anyone.
It's just my all-encompassing example. A programmer may need to raise
stuff above the 5 normal lines, to account for high notes. Dunno.
Anyway, there's the spewings of someone who not only likes Ascii art,
but also thinks about the limitations of outputting stuff from a
program.
--Wesley
The only stupid question is the unasked question.
And that's a good thing, because I hate stupid questions!
Personally, I'd just like it if there was an
official XML format for musical notation
(there are a few music XML formats, but they
tend to seem like XMLified MIDI)
--
Is it possible to have deja vu and amnesia at the same time?
(please remove __ from address to reply)
This may all have its uses. Personally, I think that there is something
to be said for "horses for courses" and I would never try to do more
than this:
|/ / / /|/ / / /|/ / / /|/ / / /| / / / /|
G G G|Eb /.\ | F F F|D------|-D /.\ |
This is (obviously :-) the opening of Beethoven's 5th. If I wanted to
badly enough (unlikely), I could have neatly aligned lines for the other
parts, although in this particular extract it would achieve little :-).
More often I find myself wanting to describe just a rhythm, which can be
done very simply.
<E> E E E|H /.\ |<E> E E E|H-----|H /.\
Triplets would be 3 3 3
I would probably use "e" (i.e. small case) for sixteenths rather than
"S".
And Bob's your uncle :-).
--------------
Samuel Hogarth
'Wake up! You're just having a nightmare - of course, we are still in hell'
(to reply, replace 'up' with 'down')
My new commission, "Life of A Shadow", available in the "Boosey & Hawkes 20th
Century Easy Piano Collection." Also includes works by Prokofiev, Shostakovich,
Stravinsky, Webern, MacMillan and others. 29 pieces in all, costs £8.50.
>Personally, I'd just like it if there was an
>official XML format for musical notation
What good is an XML format without an implementation? Typesetters
will (need to) add their own information or hints to be able to
produce nice scores. And besides, XML is not very convenient to
type, and not very readable. Can you read this LilyPond input?
a4.( )b8
You should bear in mind also that the people who use commercial e-mail
programs often use proportional fonts and ASCII art has a habit of looking a
wee bit naff. Just another example of the inferiority of commercial
software :-(
Progress - who needs it?
Jan Nieuwenhuizen wrote:
>
> Hi!
>
> We were having a small discussion going in rec.music.compose on the
> subject of ascii representation of sheet music, but we seem to be
> a bit wanting for ascii artist (see below). Maybe there are music
> enthousiasts here?
>
> It's been suggested that the drawings below are too elaborate:
>
> This tries to do too much. I wouldn't expect nice clef signs in
> ASCII notation. Just a *representation* of clefs; merely putting
> "g clef" in front of the staff would be fine with me. The
> important thing is that the pitches and durations are
> understandable.
>
> but I don't think that's the case because the clefs are not the point.
> Incidentally: `g clef' is just as wide as the elaborate symbol is, so
> that doesn't really help. Note: as we have the aid of a full music
> typesetter, the complexity of the symbols is no issue, only size and
> feasibility (combination of symbols) are. The problem is: you seem
> to need a height of at least 9 characters per staff, because of notes
> on and between staff lines.
>
> Anyway, I'm very much interesed in good alternatives, maybe someone
> has something helpful to contribute; fine ascii example drawings can
> be of much use!
>
> Greetings,
>
> Jan.
> /\
> | |
> +----|-|---------------------------------------+----------------
> / | | | +----+----+----+----+ | +----+--
> / |----|/--------------|----|----|----|----|-----|--------|----|--
> / | /| | | | | | | | |
> | |--/-|----b----r-----|----|----|----|----|-----|--r-----|----|--
> | | | | | | | | | | | |
> | |-|-(@)--------------|----|----|----|----|-----|--------|----|--
> | | \ |/ | x| | x| | | | x|
> | +----|---------------|---------|---------|-----+--------|-------
> \ o/ x| x| x| x|
> | --- --- --- ---
> / | | | x|
> -| -x- -x- -x-
> \
> |
> /
> | +---------------|------------------------------+----------------
> | | /^\ | |
> | |--o |:--------|------------------------------|---|------------
> | | / | | |
> | |---/----------o|------------------R-----------|---|------------
> \ | / | |
> \ |-|-------b------------------------------------|--o|------------
> \ | |
> +----------------------------------------------+----------------
>
> I should have nicer versions of the clefs, somewhere, but I can't seem
> to find them now. But you should get the idea, it doesn't seem to be
> useful for anything but the shortest of fragments.
I thought about this once, and I realize is isn't very easy. I'll give it a
crack at a small staff.
Moderato
_________________________________________________________________________\
|:____|\_________b___/______.____.__|__________._______.---.__.____________:|
|:____|/__4____|.____$______|____|__|__________|\__-,__|___|__|\_______..__:|
|:___/|___4____'`____/______|____|__|__________|___/___|___|__|\___""______:|
|:__('|)___________________@|___(|__|__#( )___@|._____@|__@|_@|____________:|
"| mp /
Here we have a treble clef, time signature, then the key signature is two flats;
e and b. I'm not sure how understandable that B flat is. After that, a quarter
rest, a quarter note, a half note, a bar line, then a whole note, sharp. At
which point it changes to mezzo piano. then a dotted eigth note, then an eight
rest, then two joined eigth notes. Then a sixteenth note, half rest and finally
a whole rest finishing with a repeat.
_
Allegro /.\
______________________|_________|\_______|""--.---.-.___________________,-._
|:_/"\_.______,,____|___|____|____|________|____|___|__`-.__/__,-._,<|@___`-|_
|:___/_'_3____^^____|_,<|_.__|__,<|__-,__,<|____|___|____|_/=/_`-'_`"|@_____|_
|:__/____4___#____,-|_`"'____|__`"'__/___`"'__,<|__@|____|__/________|______|_
|:_/______________`-' ,='____|________________`"'_______@|___________'________
ff '=' mf
Here: Bass Clef, time signature, C and F sharp. Really, that's the best I can
think of for a sharp ON a line. Half note and dotted quarter note slurred. Notes
ON lines will get a little messy and large, mabye you could add a parenthesis
onto a space note (like so (@| ) to make them same size if you like. After that,
bar line, eighth note, eigth rest, four connected eigth notes.
A whole note with a natural accidental, and a fermata. Then an upside down
quarter note chord and half note.
Well, this is the best stuff I could come up with, mabye you like it, come up
with better ideas for certain objects, whatever. I know there's probably dozens
of things I've left out, but I've covered everything I can think of at the
moment.
Here's hoping you'll find some use from these suggestions.
--
/\----------------------------------+---------------------/\
/ From the crazy mind of Shaun Mead.|____________________/ \
/ Got ICQ? Reach me at 26586042. | Are grapes following \
( BEWARE THE MONSOON! Check out | you to work? You may )
\ http://www.rctm.homepage.com | be hallucinating. /
\ shaun.mead(at)ns.sympatico.ca | - Mad Magazine /
\/----------------------------------+---------------------\/
That's why I said an official XML format, as in
W3C approved. Think MathML.
> Typesetters
> will (need to) add their own information or hints to be able to
> produce nice scores.
That's what stylesheets are for.
> And besides, XML is not very convenient to
> type, and not very readable.
XML's not too tough to type. And, if the format
was official, the newsreader or web browser or
whatever could just display score and you wouldn't
have to read the source.
--
"Only two things are infinite, the universe and human stupidity,
and I'm not sure about the former."
- Albert Einstein
>I thought about this once, and I realize is isn't very easy. I'll give it a
>crack at a small staff.
>
> Moderato
> _________________________________________________________________________\
> |:____|\_________b___/______.____.__|__________._______.---.__.____________:|
> |:____|/__4____|.____$______|____|__|__________|\__-,__|___|__|\_______..__:|
> |:___/|___4____'`____/______|____|__|__________|___/___|___|__|\___""______:|
> |:__('|)___________________@|___(|__|__#( )___@|._____@|__@|_@|____________:|
> "| mp /
>Here's hoping you'll find some use from these suggestions.
Thanks for all who sent in suggestions! (Too bad a few of them were signed,
we can't use those.) Over the weekend I've prepared a first minimal
version of an ascii backend to LilyPond. There are now two ascii staff
sizes; height 5 and 9 character. For each size, there's a font of ascii
characters: mf/as5.af an mf/as9.af. The LilyPond music typesetter
generates the AsciiScript typesetting recipe. This AsciiScript
is then plotted by a simple external program: scripts/as2text.scm.
Lots of work still needs to be done. I haven't had the time to get the
placement of most characters right. The ascii font files are to be
considered very much work-in-progress, but you can already have a look
if you want.
You can pick up a copy of GNU LilyPond at:
ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/v1.3/lilypond-1.3.25.tar.gz
or see
http://www.cs.uu.nl/people/hanwen/lilypond
Greetings,
Jan.
Here are some results:
$ echo "\time 4/4; g''1 g2 g4. g8" | lilypond -f as -i init-as5.fly - | as2text
GNU LilyPond 1.3.25.jcn1
[..]
Parsing...
[..]
Interpreting music...[3]elapsed time: 0.08 seconds
Preprocessing elements... [./afm/as5.afm][./afm/as-number1.afm]
Calculating column positions...
[0]
paper output to <stdout>...
|\
----|/------------------|--------------------------|
---/|-------------------|-|----------|--------|\---|
--/-|_---4--------------|-|----------|.-------|-)--|
-|-/|-\--4-O------------|o|---------*|-------*|----|
--\_|_/-----------------|--------------------------|
*_|
lily
$ lilypond -f as -i init-as.ly standchen-as9.ly
[...]
paper output to standchen-as9.as...
$ as2text standchen-as9
as2text - LilyPond version 1.3.25.jcn1
_ Moderato
/ \
| /
/-------|/---------___--------------------------------------------
|| | ' ) |
||-----/|------------(---------------------------|----------------|\
|| / | | .___)__ | __ | \
||---/--|---|)---------\-----###################-|--\-----|\------| |
|| | .+._ _ | | | | | | | \ | |
||--|-(-|--|-------/-|-------|-----|---|---|---|-|--------|--|----| /
|| \__|_/ /__|_ | | | | | | | | || |
||------|---------___|_------|-|)(*)---|-(*)---|-|--------|-/-|)(*)
|| *_| | | | | | | | |
|| (*) -(*)-(*)-(*)-(*) | -(*) -(*)
|| | . | . | | | | .
|| --| -- | -- | | |)*)
|| (*) (*) (*) | .
|| |
|| . . . |
|| |
|| | |
||----___----------___----|----------------------|-------------------------
|| / \ . ' ) | | | |
||---\*---|----------(----|-------------\--------|-----|-------------\----|
|| / . .___) | < | | < |
||------/-----------------|-------------(--------|-----|-------------(----|
|| / | _ (O) | | |
||----/-----|)-----/-|----|----------------------|-|---|------------------|
|| _/ /__|_ | | |)(O) |
\|----------------___|_---|----------------------|-----|------------------|
| |
--| -- |
| |
(O) -- |
| |
|)(O)
lily
Hey, looks like you actually used some of my suggestions! Although I downloaded
it and still haven't got a clue on god's green earth how to even _start_ the
program. Looks nice anyway.
> Hey, looks like you actually used some of my suggestions!
Yes, well the biggest probem is the pitch on the 5 char staff. I feel
the 9 char staff is too big to be of real use.
Maybe, for black notes, we could go
---------------|--
-------|---|---|--
---|---|--x|--*---
--x|--*-----------
------------------
but it's currently not possible to have different note heads (*,x) for
similar notes. I hope to pull a trick somehow. However, the white notes
are even more tricky. You made some elaborate attempts, but they're not
so cute (imo), rather difficult to read and not easily interchangeable
------------|---|--
--------|---|-,-|--
---|--,-|--O|-`-'--
--O|--`-'----------
-------------------
That's why I'm a bit tempted to go
---------------|--
-------|---|---|--
---|---|--o|--°---
--o|--°-----------
------------------
for now.
> Although I downloaded it and still haven't got a clue on god's green
> earth how to even _start_ the program. Looks nice anyway.
Thanks.
What operating system do you use? What you donwloaded, are the
sources to the program. You did unpack the .tar.gz archive,
didn't you?
If you're running Windows, it may be a bit difficult to get it
compiled. The latest binary available is for version 1.2.0, iirc.
This may be addressed shortly.
In any case, in the directory `lilypond-1.3.25/mf/' you find some
files, that contain my efforts for all musical characters so far:
lilypond-1.3.25/mf/as5.af,
lilypond-1.3.25/mf/as9.af, and
lilypond-1.3.25/mf/as-number4.af
you can have a look at those without running the program.
Don't hesitate to ask for further instructions, though!
Greetings,
Jan.
Why not? Surely these things are more like "fonts" than ordinary
pictures?! I don't see anybody mentioning the artists behind their
figlet banners...
--
(, http://www.ludd.luth.se/~vk/cgi/asciichat/
/|__--__ . __--__
|\ '__ /|\ _{ _
`.' / `.,_ _________ | _________ _,.' (/ `.
/ ||``._.' ASCII ART CHAT! `---'|:||,/
.' /| /|:| \
.' /\ \ __ __ _ `/|'\'
` `,/ /`,\ \ \ / /__ _ _ ___ _ _ (_)__ __ _ /,'\ \
.'.' /| \ V / -_) '_/ _ \ ' \| / _/ _` | |\ `.`.
,' / / | \_/\___|_| \___/_||_|_\__\__,_| | \ \ `,
- `- -- `-'- -ejm-------------------------------------VK-- -`-' -- -' -
I would also see no problem with these. I don't think that you wouldn't
give credits for the artist in the README or any similar place which is
common to GNU software AFAIK. Or isn't there a Contributers-List already
there where you can add the people? *scratches*
To make it no problem at all - those who added their tag to their
sugguestions should also add their comments on this, so that there won't
be a judgement on that topic without mentioning their optinions...
Have fun!
--
Gerfried Fuchs
<URL:mailto:al...@innocent.com>
<URL:http://alfie.ist.org/alfie/>
It also seems to me so. But maybe for some people this can also be
useful, like for lynx/w3m enhanced web-pages :)
> Maybe, for black notes, we could go
>
> ---------------|--
> -------|---|---|--
> ---|---|--x|--*---
> --x|--*-----------
> ------------------
It isn't really obvious which is the one between the lines - should it
be the x below the line or the * above the line...
> but it's currently not possible to have different note heads (*,x) for
> similar notes. I hope to pull a trick somehow. However, the white notes
> are even more tricky. You made some elaborate attempts, but they're not
> so cute (imo), rather difficult to read and not easily interchangeable
>
>
> ------------|---|--
> --------|---|-,-|--
> ---|--,-|--O|-`-'--
> --O|--`-'----------
> -------------------
I think that's a quite good approach. Maybe you should try to do the
black notes also this way? But that really seems tricky to me. I can't
come up with anything useful, sorry.
> That's why I'm a bit tempted to go
>
> ---------------|--
> -------|---|---|--
> ---|---|--o|--°---
> --o|--°-----------
> ------------------
>
> for now.
Watch out! ° isn't ASCII - it wouldn't look like you think (the
degree-character) on other person's displays. Maybe a non-ascii version
is the only way to go. But than you would loose quite sure the people in
the us who are using only ascii and nothing else (AFAIK). You could
make some checks for what the display is able to show (depends on the
library you are using, ncurses, slang or anything...). But that wouldn't
really help you with those displays that can display only us-ascii. So
I would forget about that approach - at least as long you don't have a
decent version for us-ascii.
> Thanks.
> What operating system do you use? What you donwloaded, are the
> sources to the program. You did unpack the .tar.gz archive,
> didn't you?
According to her headers s/he is using Win98 :)
> If you're running Windows, it may be a bit difficult to get it
> compiled. The latest binary available is for version 1.2.0, iirc.
> This may be addressed shortly.
Maybe using the cygwin-tools? Has one tried it? Does it depend on any
special libraries?
Have fun [in a GNU-world ;]
: It also seems to me so. But maybe for some people this can also be
: useful, like for lynx/w3m enhanced web-pages :)
:> Maybe, for black notes, we could go
:>
:> ---------------|--
:> -------|---|---|--
:> ---|---|--x|--*---
:> --x|--*-----------
:> ------------------
:> ------------|---|--
:> --------|---|-,-|--
:> ---|--,-|--O|-`-'--
:> --O|--`-'----------
:> -------------------
How about:
_____.____________________.________________
_____|___|___.____________|___|___.________
____O|__n|___|___|_______X|__v|___|___|____
________Y___O|__n|___________^___X|__v|____
________________Y____________________^_____
Maybe " instead of Y
--
,-, Henry Segerman
|/
|.--, /\ | /|/\,--, ,
/| | \/ | / | /\ | |/
' `--'\/|/ | \/ `--'|
/|
uewJ363S hJu3H `-'
Too bad. It's quite clear here. We'll have to try something else.
> According to her headers s/he is using Win98 :)
>
>> If you're running Windows, it may be a bit difficult to get it
>> compiled. The latest binary available is for version 1.2.0, iirc.
>> This may be addressed shortly.
>
> Maybe using the cygwin-tools? Has one tried it? Does it depend on any
>special libraries?
Yes, that has been tried (by me :-) It works, but compiling LilyPond
on Windows is not for the faint of heart. You quite some additional
stuff. There's no handy and standard way to distribute binary
packages either. Hopefully this all gets a bit easier when Cygnus
uses rpm for their distribution.
Jeffrey Reed has a page up at
http://home.austin.rr.com/jbr/jeff/lilypond/
but is't getting a bit stale.
> Have fun [in a GNU-world ;]
Thanks. The same to you, and anyone else who wants to join.
: How about:
: _____.____________________.________________
: _____|___|___.____________|___|___.________
: ____O|__n|___|___|_______X|__v|___|___|____
: ________Y___O|__n|___________^___X|__v|____
: ________________Y____________________^_____
: Maybe " instead of Y
More ideas:
-----.--------------------.----------------
-----|---|---.------------|---|---.--------
----(|--,|---|---|-------X|--v|---|---|----
--------`'--(|--,|-----------^---X|--v|----
----------------`'-------------------^-----
_____.____________________.________________
_____|___|___.____________|___|___.________
____(|__,|___|___|_______X|__v|___|___|____
________`'__(|__,|___________^___X|__v|____
________________`'___________________^_____
-----.-----------------------.-------------------
----_|----|----.------------_|----|----.---------
---(_|--,-|---_|----|------(X|--,v|---_|----|----
--------`-'--(_|--,-|-----------`^'--(X|--,v|----
------------------`-'---------------------`^'----
_____._______________________.___________________
_____|____|____._____________|____|____._________
___(_|__,-|____|____|______(X|__,v|____|____|____
________`-'__(_|__,-|___________`^'__(X|__,v|____
__________________`-'_____________________`^'____
This last one looks clearest to me.
| This last one looks clearest to me.
I believe the primary problem with all the proposals is that the staff
lines take up too much of the narrow contrast-bandwidth afforded by ASCII
characters. Perhaps you should consider trying to reduce this effect
somehow. For example, rather than using dash or underscore, use something
small like a dot. Or simply increase the white space around every note.
Here's what I mean:
.................................................
.....|....|..................|....|..............
...(_|..,-|....|....|......(X|..,v|....|....|....
........`-'..(_|..,_|...........`^'..(X|..,v|....
..................`_'.....................`^'....
____ . __ ________________ . __ _____________
__ _| _ | __ . __ ____ _| _ | __ . __ ___
__ (_| ,-| _| __ | ____ (X| ,v| _| _ | ___
_______ `-' (_| ,_| _________ `^' (X| ,v| ___
_________________ `_' ___________________ `^'____
--
Keith W. Blackwell
** If sending email, please edit the return address (remove "NO.UCE.PLEASE.").
** Or use (without the spaces): < keith . blackwell @ agilent . com > .
** My employer has nothing to do with this posting.
** By the way, I rarely participate in this group, so excuse any fox paws.
How would you write dotted notes?
>
>____ . __ ________________ . __ _____________
>__ _| _ | __ . __ ____ _| _ | __ . __ ___
>__ (_| ,-| _| __ | ____ (X| ,v| _| _ | ___
>_______ `-' (_| ,_| _________ `^' (X| ,v| ___
>_________________ `_' ___________________ `^'____
To my eyes it's harder to tell whether these are on lines or spaces.
>
>--
>Keith W. Blackwell
>
>** If sending email, please edit the return address (remove "NO.UCE.PLEASE.").
>** Or use (without the spaces): < keith . blackwell @ agilent . com > .
>** My employer has nothing to do with this posting.
>** By the way, I rarely participate in this group, so excuse any fox paws.
> Henry Segerman (sjoh...@sable.ox.ac.uk) wrote:
> | _____._______________________.___________________
> | _____|____|____._____________|____|____._________
> | ___(_|__,-|____|____|______(X|__,v|____|____|____
> | ________`-'__(_|__,-|___________`^'__(X|__,v|____
> | __________________`-'_____________________`^'____
>
>
> | This last one looks clearest to me.
>
>
> I believe the primary problem with all the proposals is that the staff
> lines take up too much of the narrow contrast-bandwidth afforded by ASCII
> characters.
Wouldnt this be a tiny bit clearer? (just replacing _ by -)
--------.-----------------.------
--------|----|-----|------|------
------(_|--,-|---,v|----(X|---------
-----------`-'---`^'--------------
---------------------------------
/Lars L
>
>How would you write dotted notes?
>
How about:
>>.................................................
>>.....|....|..................|....|..............
>>...(_|:.,-|....|....|......(X|:.,v|....|....|....
>>........`-':.(_|:.,_|...........`^':.(X|:.,v|....
>>...................`_':...................`^':...
>
OK, so it's not exactly clear... Nevermind :)
>On 24 Feb 2000, Keith Blackwell wrote:
>
>Wouldnt this be a tiny bit clearer? (just replacing _ by -)
>
>--------.-----------------.------
>-------_|----|-----|------|------
>------(_|--,-|---,v|----(X|---------
>-----------`-'---`^'--------------
>---------------------------------
Yes, it is. I added an upper line to the first note though. It looks
better to me that way. Dunno.
.................................................
.....|....|..................|....|..............
...(_|o.,-|....|....|......(X|o.,v|....|....|....
........`-'o.(_|o.,_|...........`^'o.(X|o.,v|....
..................`_'o....................`^'o...
Not the nicest possible look, but the distinctive shape makes it
obvious that the dots are in fact there.
--
Ilmari Karonen - http://www.sci.fi/~iltzu/
"Do you replace the battery with a grapefruit when your car won't start,
just in case that's the problem?" -- Sam Holden in comp.lang.perl.misc
I still think that double spacing is the way to go. All the notes can be
created the same way.
/ /\ |
|+----|-|----|----------------------------------+-----|------++
|| |/ |) | +====+ | | ||
||----|--------------------|-----------|----|---|---( ).-----||
|| /| | `-' |\ | `-' | | | | ||
||--/-|----|)----/----|-\--|------/----|----|---|---( ).-----||
|| | | _ / | | / | | | | ||
||-|-(I)-)------------|--(x)----_|_|_--|----|---|---( ).-----||
|| \ | / | _|_|_(x) | | ||
|+----|---------------|----------|-|--------|---+------------||
|| | (x) (x) | ||
|| (_| | ||
|| | ||
|| | ||
|| | ||
|| | ( ). ||
|+---------------|-----------------------(x)----+----|-------++
|| ,-. | _|_|_ | | ( ). ||
||--o |:---|----|-------------_|_|_(x)- |------|----|-------||
|| / |) | (x) | | | | | | ||
||---/---------(x)------|-----------|----|------|----( ).----||
|| / | | |____| | | ||
||-------|)-------------|-----------------------|----|-------||
|| | | | ||
|+----------------------------------------------+----( ).----++
\ |
and with regards to the signature thing, what is wrong with having the
signature if it doesn't get in the way of reading the notes?
NOTE: I never pick up my mail from the yahoo address. If you
are e-mailing and hit the reply button, add an "e" to "freent";
its absense is to stop the torment of automatic mailers.
--
-#----- cq547@freene+.+oron+o.on.ca
| llizard aka ejm
\_|_/ _ _\,^%--- I REALLY
_|K__|_ =#-(_X_)< \ should be practicing!!
| \/ >
|, ___>,^ ASCII-art and ASCII-animations
/|\ ejm //| | http://www.crosswinds.net/~llizard/
1. That intended to be played by a program such as POLYPHON.EXE after the
ASCII has been compiled (or not) by such as MAKEPOLY.EXE. It's code, in which
a few characters do all the work.
Follows a clip from a compilable file GOLLYWOG.SNG:
*
Debussy, Claude. "golliwogg's cake-walk," from the Children's Corner
Suite . London: United Music Publishers Ltd, 1918, 1968, P.D.
D. & F. 7188 (VI)
Transcribed for GrigaSoft Productions' Polyphonic Music Compiler v.1.10
Transcription file (C) 1991 by Dennis M. Hammes.
*
* NB: SIG= function is not implemented in MAKEPOLY.EXE v.1.10. *
* SIG= -b -e -a *
* allegro giusto *
t4896
*1*
v1o3 l16 >b- a-32r. b- f32r. b-32r. a- f8 e- <b4
v2o2 >b- a-32r. b- f32r. b-32r. a- f8 e- <b4
v3o1 r2 r2
*3*
v1o3 r a- f e- <b4 r a- f e- <b8 >g32r. r2
v2o2 r a- f e- <b4 r a- f e- <b8 >b-32r. r2
v3o1 r2 r4 r8 <b-32r. r2
*6*
v1o3 r8 <b-32r. r8 b-32r32 b-32r32 r8 b-32r. r8 b-32r.
v2o2 <b-32r. >g32r. <b-32r. >g32r. <b-32r. >g32r. <b-32r. >g32r.
v3o1 e-32r. >f32r. <e-32r. >f32r. <e-32r. >f32r. <e-32r. >f32r.
...(about 16 pages).
Here, r=rest, the 13 notes are given by their letter names and + or - for
sharp or flat, and the quantity by 1,2,4,8,16,32,etc. v=voice (the prog will
play three tones simultaneously on the PC speaker), o=octave, adjusted in the
line by <=octave down, >=octave up. The spacing is ignored by the compiler;
it allows the author /barely/ to make out where the notes go when he's writing
them. *Brackets non-complied comments (gotta have or get lost).*
It's too bad the old programs no longer work because our new machines are
too fast and timechopping actually cuts some of the octaves out of the
resulting music. Sounded pretty dang good at 8MHz in 1989, just tolerable at
40MHz, and utterly impossible at 333MHz. Would have to rewrite and recompile
the player to manage timeslicing differently, i.e., on the realtime clock not
the CPU clock.
Still better would be to rewrite and compile so that such a file drove a
modern sound card -- and this is essentially what such progs do today whether
they use this sort of code or other.
Point is that this sort of ASCII text is essentially impossible to sightread
on the piano (been there).
2. Drawing ASCII pictures of traditional sheet music. As a musician, I can
report that all the attempts in the thread are (sorry, really) unuseable as
readable music notation, though many elements do work or can be tweaked. But
traditional sheet music is also a code. Thus the trick is to develop an
/ASCII code/ that looks enough like sheet music as to be pretty
self-explanatory, as ASCII just won't draw the pictures as commercially
printed (hand-authored music is often not immediately legible to any but the
guy who wrote it because his code differs in degree from the commercial
standard).
One /can not/ use different symbols for "note on a line" and "note on a
space." Thus, one /must/ use the hyphen for the line so the note symbol lands
on not above the line, and one /must/ have a blank line between lines so the
symbol can land in the space. Means doublespacing, and that gets large in a
hurry. Point is that it's already hard enough to read the existing 1.5" high
double staff in commercially-printed music, so one can't well spread the
pictures of the notes much vertically so that they have the proportions of
printed music in the ASCII staff; the symbol is too broken up to be
immediately legible, and the idea is to be decoding the /music/, not spending
one's time decoding the /pictures/.
(Tablature is much easier as there are no spaces, and notes can be indicated
by duration numbers alone -- which might not be a bad idea for sheet music,
either, save that it will look "even less like music." As a code, however...)
If you accept the doublespacing, many of the offered symbols will work, but
they must be kept as simple as possible, one ASCII character wherever
possible. May I suggest d\\=16th, d\=8th, d=quarter, o=half, O=whole.
Clefs are G:, C:, F:. Sharps are # or + (+ is better because simpler) and
flats are - (this is code, and one is stuck with the codes on the keyboard;
drawing a picture of sheet music e.g. thus: bd=flatted quarter, confuses the
code). Extant code puts the accidental before the note, so +d\ is a sharped
8th, -d a flatted 4ter.
Dynamics are simple enough if coded: <, >, ^, u (medium accent), z (code:
szforzando), . (stacatto or time-dot). f, ff, p, mp, etc. already exist.
While doublespacing spreads the screen picture and nothing can be done about
it (you'll go snowblind looking at the whitespace, and that's that), one can
set any printer to print, say, 12 lines/inch instead of 6, and squeeze down
the vertical spacing w/o losing legibility.
3. Drawing "real" sheet music. Several progs do this today and author MIDI
or WAV files in the process. Of course, it's no longer "ASCII" music, it's
standard-code sheet music. CakeWalk Studio PRO is probably the best
all-around, though SoundForge gives more detailed control over WAV generation
(MIDI sound quality is entirely up to the sound card it's being played, not
written, on). Unfortunately for the sometime-artist, these progs are plain
spendy, running around $400 for the fuller packages.
For composers who want to "trade notes" in e-mail, method #2 is the only one
that offers any promise. Once originated, useage will quickly modify it to a
standard form (happened with traditional notation, too). But you can /not/
expect a composer to spend his time drawing pictures; he'll use a code, and
the faster the better, reading it the same way.
For drawing ASCII art involving music but not intended to be music, you can
pretty much do what you want.
--
>^,,^<
The number you have reached is imaginary.
Rotate your screen 90 degrees and reconnect.
http://blitz.org/fishhook/