https://github.com/openmusic-project/RQ
A library for rhythm transcription in OpenMusic
https://github.com/openmusic-project/RQ
om-library
Last synced: about 2 months ago
JSON representation
A library for rhythm transcription in OpenMusic
- Host: GitHub
- URL: https://github.com/openmusic-project/RQ
- Owner: openmusic-project
- License: gpl-3.0
- Created: 2018-12-22T16:35:32.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-12-05T21:08:58.000Z (over 1 year ago)
- Last Synced: 2023-12-05T22:23:07.286Z (over 1 year ago)
- Topics: om-library
- Language: Common Lisp
- Homepage:
- Size: 1.39 MB
- Stars: 6
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- trackawesomelist - rq (⭐10) - a library for rhythm transcription in OpenMusic (version 6.10 and later). [demo video](https://www.youtube.com/watch?v=XVEllB0TtVs). [GPL3](http://www.gnu.org/copyleft/gpl.html). (Recently Updated / [Mar 08, 2025](/content/2025/03/08/README.md))
README
# RQ
## Supervised approach of rhythm quantification based on tree series enumerationThe RQ library for OM proposes a new interactive approach for rhythm quantification.
In contrast with previous single-solution systems, RQ runs a graphical interface that allows to visualize and edit the transcriptions of the segmented input sequence.
A. Ycart, F. Jacquemard, J. Bresson — UMR STMS Ircam/CNRS/SU, 2015-2016
### The k-best parsing
The quantization algorithm is a recursive, dynamic-programming, lazy algorithm. It works by recursively subdividing segments into equal parts, and then aligning the input points to the closest segment boundary. The algorithm enumerates the subdivisions that give the best results, ranked according to a criterion that combines two quality measures :
- Distance: how close the output is to the input. This distance is given by the sum of the differences between each input point and the point to which it is aligned.
- Complexity: in other words, readability of the output. Complexity takes into account the size of the output rhythm tree, the arities of the tree nodes, and the number of grace notes in the final notation.### Compatibility
OpenMusic 6.10 and higher.
### Documentation
See [Project Wiki](https://github.com/openmusic-project/RQ/wiki)
### Further reading
The RQ transcription system is described in:
- Adrien Ycart, Florent Jacquemard, Jean Bresson, Slawek Staworko, [Une approche interactive pour la transcription rythmique dans OpenMusic](https://hal.inria.fr/hal-01298806), [JIM 2016](http://jim2016.gmea.net).
- Adrien Ycart, Florent Jacquemard, Jean Bresson, Slawek Staworko, [A Supervised Approach for Rhythm Transcription based on Tree Series Enumeration](https://hal.inria.fr/hal-01315689), [ICMC 2016](http://www.icmc2016.com).More in-depth description of the algorithm can be found in:
- Adrien Ycart, [Quantification rythmique dans OpenMusic](https://hal.inria.fr/hal-01202257), Master thesis, IRCAM.See also a [presentation of the library](https://medias.ircam.fr/embed/media/xac88c6) (in French).
The algorithm is based on the algorithms described in:
- L. Huang, D. Chiang, [Better k-best parsing](http://www.cis.upenn.edu/~lhuang3/huang-iwpt-correct.pdf), _Proceedings of the Ninth International Workshop on Parsing Technology_. Association for Computational Linguistics.The segmentation algorithm is described in:
- A. C. Yang, E. Chew, A. Volk, [A dynamic programming approach to adaptive tatum assignment for rhythm transcription](https://www.researchgate.net/publication/4207863), _Seventh IEEE International Symposium on Multimedia_, 2005.More on rhythmic notation, rhythmic quantification and rhythm trees:
- http://repmus.ircam.fr/cao/rhythm/For any inquiries, please contact : adrien[dot]ycart[at]ircam.fr