Is there a working music notator in PD?
pp
Patrick Pagano, B.S, M.F.A Assistant in Digital Arts and Science Digital Media Projection and Audio Design Digital Worlds Institute University of Florida, USA (352)294-2070
I think somebody had one using Gem and dynamic patching.
I've got a demo using svg-style drawing instructions in Pd-l2ork. I'm almost finished working on nested svg groups-- at that point one should be able to output a page of Lilypond notation to svg and write an importer to convert to a Pd patch.
-Jonathan
On Monday, April 28, 2014 5:36 PM, "Pagano, Patrick" pat@digitalworlds.ufl.edu wrote:
Is there a working music notator in PD? pp Patrick Pagano, B.S, M.F.A Assistant in Digital Arts and Science Digital Media Projection and Audio Design Digital Worlds Institute University of Florida, USA (352)294-2070 _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
I've been using this external of mine which is certainly ongoing work for converting pitch-duration pairs into Lilypond Scores. Here is the c code and an os x binary:
http://www.jaimeoliver.pe/archives/2827
Pitch is expressed in midi and duration in multiples of a smaller unit of reference. If the smallest duration is a 32nd, a duration of 4 will give you an 8th note.
I hope to improve it over the summer and get chords and tuplets which are not there just yet, but most importantly to make readable notations (i.e. get the beat to be easy to view…)
Anyway, all comments are welcome at this stage...
best,
J
On Apr 28, 2014, at 8:07 PM, Jonathan Wilkes jancsika@yahoo.com wrote:
I think somebody had one using Gem and dynamic patching.
I've got a demo using svg-style drawing instructions in Pd-l2ork. I'm almost finished working on nested svg groups-- at that point one should be able to output a page of Lilypond notation to svg and write an importer to convert to a Pd patch.
-Jonathan
On Monday, April 28, 2014 5:36 PM, "Pagano, Patrick" pat@digitalworlds.ufl.edu wrote: Is there a working music notator in PD?
pp
Patrick Pagano, B.S, M.F.A Assistant in Digital Arts and Science Digital Media Projection and Audio Design Digital Worlds Institute University of Florida, USA (352)294-2070
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 2014? 04? 29? 09:07, Jonathan Wilkes wrote:
I think somebody had one using Gem and dynamic patching.
that someone is Ed Kelly http://www.uni-weimar.de/medien/wiki/PDCON:Conference/Gemnotes:_A_Realtime_m...
INScore works great for me http://inscore.sourceforge.net/ Tim
2014-04-29 5:21 GMT+02:00 Max abonnements@revolwear.com:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 2014? 04? 29? 09:07, Jonathan Wilkes wrote:
I think somebody had one using Gem and dynamic patching.
that someone is Ed Kelly
http://www.uni-weimar.de/medien/wiki/PDCON:Conference/Gemnotes:_A_Realtime_m...
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iEYEARECAAYFAlNfGsEACgkQ3EB7kzgMM6KDSwCbBRP53mn0kDf5UAy6sm9iU487 xMQAnjtBN571+jVjRLSp0fN1rubo/a4G =kUcj -----END PGP SIGNATURE-----
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On 04/28/2014 11:21 PM, Max wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 2014? 04? 29? 09:07, Jonathan Wilkes wrote:
I think somebody had one using Gem and dynamic patching.
that someone is Ed Kelly http://www.uni-weimar.de/medien/wiki/PDCON:Conference/Gemnotes:_A_Realtime_m...
Thanks.
Here's a demo of a simple Lilypond score imported into Pd-l2ork: https://jwilkes.nfshost.com/notes.webm
Benefits of data structures:
Drawback:
to the gui. (Even worse, ds-arrays have to redraw the entire array atm.) But one could probably just instantiate a bunch of scalars and vis them as needed.
-Jonathan
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iEYEARECAAYFAlNfGsEACgkQ3EB7kzgMM6KDSwCbBRP53mn0kDf5UAy6sm9iU487 xMQAnjtBN571+jVjRLSp0fN1rubo/a4G =kUcj -----END PGP SIGNATURE-----
Hi Jonathan,
This is excellent work!
I wonder in what direction are you taking this…
best,
J
On Apr 29, 2014, at 1:20 PM, Jonathan Wilkes jancsika@yahoo.com wrote:
On 04/28/2014 11:21 PM, Max wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 2014? 04? 29? 09:07, Jonathan Wilkes wrote:
I think somebody had one using Gem and dynamic patching.
that someone is Ed Kelly http://www.uni-weimar.de/medien/wiki/PDCON:Conference/Gemnotes:_A_Realtime_m...
Thanks.
Here's a demo of a simple Lilypond score imported into Pd-l2ork: https://jwilkes.nfshost.com/notes.webm
Benefits of data structures:
- no dynamic patching needed
- can display the music on a normal canvas
- 2d API
Drawback:
- if you create a new scalar, the drawing instructions have to be sent to the gui. (Even worse, ds-arrays have to redraw the entire array atm.) But one could probably just instantiate a bunch of scalars and vis them as needed.
-Jonathan
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iEYEARECAAYFAlNfGsEACgkQ3EB7kzgMM6KDSwCbBRP53mn0kDf5UAy6sm9iU487 xMQAnjtBN571+jVjRLSp0fN1rubo/a4G =kUcj -----END PGP SIGNATURE-----
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On 04/29/2014 05:28 PM, Jaime E Oliver wrote:
Hi Jonathan,
This is excellent work!
I wonder in what direction are you taking thisÂ…
As far as notation inside Pd patches-- just the demo. But I do remember Ed saying he'd initially investigated using data structures for his project. If someone wants to build some higher level tools utilizing these new features of data structure, I'm happy to fix bugs and make any improvements that would be necessary.
But higher level tools are tricky-- their design depends on what you want to do with the notation.
As far as the data structures, in the next release I think I'll have the basic API the way I want it. At some point I'd like to investigate drawing xlets on scalars that forward messages to the parent [struct]-- that would hide the complexity of [pointer] and friends in most cases.
Finally, I'd like to find a straightforward way to load canvases with [struct] definitions as libraries. At that point people will be able to build GUI objects directly in Pd.
-Jonathan
best,
J
On Apr 29, 2014, at 1:20 PM, Jonathan Wilkes jancsika@yahoo.com wrote:
On 04/28/2014 11:21 PM, Max wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 2014? 04? 29? 09:07, Jonathan Wilkes wrote:
I think somebody had one using Gem and dynamic patching.
that someone is Ed Kelly http://www.uni-weimar.de/medien/wiki/PDCON:Conference/Gemnotes:_A_Realtime_m...
Thanks.
Here's a demo of a simple Lilypond score imported into Pd-l2ork: https://jwilkes.nfshost.com/notes.webm
Benefits of data structures:
- no dynamic patching needed
- can display the music on a normal canvas
- 2d API
Drawback:
- if you create a new scalar, the drawing instructions have to be sent to the gui. (Even worse, ds-arrays have to redraw the entire array atm.) But one could probably just instantiate a bunch of scalars and vis them as needed.
-Jonathan
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iEYEARECAAYFAlNfGsEACgkQ3EB7kzgMM6KDSwCbBRP53mn0kDf5UAy6sm9iU487 xMQAnjtBN571+jVjRLSp0fN1rubo/a4G =kUcj -----END PGP SIGNATURE-----
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
I guess one of the nicest things about what you're showing is to do manipulations ala PWGL or open music. I'm interested in being able to make arbitrarily complex and long scores, and be able to export these as lilypond scores that can be edited and printed for someone else to play…
best,
J
On Apr 29, 2014, at 6:54 PM, Jonathan Wilkes jancsika@yahoo.com wrote:
On 04/29/2014 05:28 PM, Jaime E Oliver wrote:
Hi Jonathan,
This is excellent work!
I wonder in what direction are you taking this…
As far as notation inside Pd patches-- just the demo. But I do remember Ed saying he'd initially investigated using data structures for his project. If someone wants to build some higher level tools utilizing these new features of data structure, I'm happy to fix bugs and make any improvements that would be necessary.
But higher level tools are tricky-- their design depends on what you want to do with the notation.
As far as the data structures, in the next release I think I'll have the basic API the way I want it. At some point I'd like to investigate drawing xlets on scalars that forward messages to the parent [struct]-- that would hide the complexity of [pointer] and friends in most cases.
Finally, I'd like to find a straightforward way to load canvases with [struct] definitions as libraries. At that point people will be able to build GUI objects directly in Pd.
-Jonathan
best,
J
On Apr 29, 2014, at 1:20 PM, Jonathan Wilkes jancsika@yahoo.com wrote:
On 04/28/2014 11:21 PM, Max wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 2014? 04? 29? 09:07, Jonathan Wilkes wrote:
I think somebody had one using Gem and dynamic patching.
that someone is Ed Kelly http://www.uni-weimar.de/medien/wiki/PDCON:Conference/Gemnotes:_A_Realtime_m...
Thanks.
Here's a demo of a simple Lilypond score imported into Pd-l2ork: https://jwilkes.nfshost.com/notes.webm
Benefits of data structures:
- no dynamic patching needed
- can display the music on a normal canvas
- 2d API
Drawback:
- if you create a new scalar, the drawing instructions have to be sent to the gui. (Even worse, ds-arrays have to redraw the entire array atm.) But one could probably just instantiate a bunch of scalars and vis them as needed.
-Jonathan
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iEYEARECAAYFAlNfGsEACgkQ3EB7kzgMM6KDSwCbBRP53mn0kDf5UAy6sm9iU487 xMQAnjtBN571+jVjRLSp0fN1rubo/a4G =kUcj -----END PGP SIGNATURE-----
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On 04/29/2014 10:44 PM, Jaime E Oliver wrote:
I guess one of the nicest things about what you're showing is to do manipulations ala PWGL or open music. I'm interested in being able to make arbitrarily complex and long scores, and be able to export these as lilypond scores that can be edited and printed for someone else to playÂ…
I see. In that case I suppose you want to try to provide as much score-related data as you can for the converter to minimize your editing work.
-Jonathan
best,
J
On Apr 29, 2014, at 6:54 PM, Jonathan Wilkes jancsika@yahoo.com wrote:
On 04/29/2014 05:28 PM, Jaime E Oliver wrote:
Hi Jonathan,
This is excellent work!
I wonder in what direction are you taking thisÂ…
As far as notation inside Pd patches-- just the demo. But I do remember Ed saying he'd initially investigated using data structures for his project. If someone wants to build some higher level tools utilizing these new features of data structure, I'm happy to fix bugs and make any improvements that would be necessary.
But higher level tools are tricky-- their design depends on what you want to do with the notation.
As far as the data structures, in the next release I think I'll have the basic API the way I want it. At some point I'd like to investigate drawing xlets on scalars that forward messages to the parent [struct]-- that would hide the complexity of [pointer] and friends in most cases.
Finally, I'd like to find a straightforward way to load canvases with [struct] definitions as libraries. At that point people will be able to build GUI objects directly in Pd.
-Jonathan
best,
J
On Apr 29, 2014, at 1:20 PM, Jonathan Wilkes jancsika@yahoo.com wrote:
On 04/28/2014 11:21 PM, Max wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 2014? 04? 29? 09:07, Jonathan Wilkes wrote:
I think somebody had one using Gem and dynamic patching.
that someone is Ed Kelly http://www.uni-weimar.de/medien/wiki/PDCON:Conference/Gemnotes:_A_Realtime_m...
Thanks.
Here's a demo of a simple Lilypond score imported into Pd-l2ork: https://jwilkes.nfshost.com/notes.webm
Benefits of data structures:
- no dynamic patching needed
- can display the music on a normal canvas
- 2d API
Drawback:
- if you create a new scalar, the drawing instructions have to be sent to the gui. (Even worse, ds-arrays have to redraw the entire array atm.) But one could probably just instantiate a bunch of scalars and vis them as needed.
-Jonathan
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iEYEARECAAYFAlNfGsEACgkQ3EB7kzgMM6KDSwCbBRP53mn0kDf5UAy6sm9iU487 xMQAnjtBN571+jVjRLSp0fN1rubo/a4G =kUcj -----END PGP SIGNATURE-----
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list