Skip to content

Render Abjad scores (Lilypond) using SuperCollider Patterns

License

Notifications You must be signed in to change notification settings

munshkr/AbjadScore.sc

Repository files navigation

AbjadScore.sc

(work in progress) Render Abjad scores (Lylipond) using SuperCollider Patterns.

Requirements

  • SuperCollider 3.7+
  • Lilypond 2.18+
  • Python 3 and pip

Install

Open a new document on your SuperCollider IDE and type:

Quarks.install("https://github.com/munshkr/AbjadScore.sc");

Then, on a terminal, go to the Quark directory and install AbjadOSC server:

pip install -r requirements.txt

Usage

First run AbjadOSC server from the Quark directory:

./abjad-osc-server.py

Then, on SC, for example:

~score = AbjadScore.new;
// you can connect to a remote AbjadOSC server at 192.168.0.5 for example:
//~score = AbjadScore.new("192.168.0.5", 5005);

(
~foo = ~score.notes(\foo, Pbind(
	\voice, \upper,
	\dur, Pseq([Pn(1/12,6),1/4,Pn(1/6, 3),1/4, Pn(1/16, 4) ], repeats: 1),
	\octave, 4,
	\degree, Pser([0, 2, 6], 16),
));
)

~foo.preview;
~foo.render;

// oneshot messages
~foo.slur([4, 7]);
~foo.textSpanner([4], "aire", "tono", staff_padding: 6);

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/munshkr/AbjadScore.sc. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

LICENSE

See LICENSE

About

Render Abjad scores (Lilypond) using SuperCollider Patterns

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published