云教练github库

sschmid e6b34f63c5 Merge branch 'release/0.9.4' %!s(int64=4) %!d(string=hai) anos
bin 6a24624092 fix publish_gh_page %!s(int64=4) %!d(string=hai) anos
demo 20b8cc90e9 fix(StringNumbersClassical): write as roman numerals, offset positioning, etc (#957, #949) %!s(int64=4) %!d(string=hai) anos
src 4b056bb276 chore: bump version to 0.9.4 %!s(int64=4) %!d(string=hai) anos
test 11d0f0bf25 chore: rename slurs steep arc chopin sample %!s(int64=4) %!d(string=hai) anos
.appveyor.yml 121ffcfdb0 chore: put appveyor back on node 12, node 13 probably wasn't necessary %!s(int64=5) %!d(string=hai) anos
.editorconfig fb93f057f9 added .editorconfig file %!s(int64=9) %!d(string=hai) anos
.eslintignore a546c1b6bb add VexFlowPatch folder with Vexflow files to patch (need manual patching for now) %!s(int64=4) %!d(string=hai) anos
.eslintrc.js 5c596aace6 eslint: add webpack*.js files to ignorePatterns %!s(int64=4) %!d(string=hai) anos
.eslintrc.yml e84f20e7b7 chore: update eslint to version 6.8.0, eslintrc: set ecmaversion to 8 (2017) (#673) %!s(int64=5) %!d(string=hai) anos
.gitattributes f4de69b02e changed gitattributes file as it made troubles with binary files. %!s(int64=8) %!d(string=hai) anos
.gitignore 0f64f5847b Add option for untracked local env config file %!s(int64=5) %!d(string=hai) anos
.travis.yml cd0631df94 chore: fix Travis build: upgrade to node 12 (from 10) %!s(int64=5) %!d(string=hai) anos
AUTHORS 393f74e619 Update AUTHORS: add sschmid, PieterHartzer, Github contributors %!s(int64=6) %!d(string=hai) anos
CHANGELOG.md a73fd099ab chore: update changelog for 0.9.4 %!s(int64=4) %!d(string=hai) anos
LICENSE 78bc00d4c3 change license to BSD (minimal changes) %!s(int64=5) %!d(string=hai) anos
README.md e7628af047 Update README.md %!s(int64=4) %!d(string=hai) anos
karma.conf.js c25bb45800 fix karma tests (npm test) by excluding util folder %!s(int64=5) %!d(string=hai) anos
package.json 4b056bb276 chore: bump version to 0.9.4 %!s(int64=4) %!d(string=hai) anos
test_rehearsal_marks_simple_one_measure.musicxml c93134177f feat(Rehearsal Marks): Render Rehearsal Marks (#919), add several RehearsalMarks EngravingRules %!s(int64=4) %!d(string=hai) anos
tsconfig.json 20b8cc90e9 fix(StringNumbersClassical): write as roman numerals, offset positioning, etc (#957, #949) %!s(int64=4) %!d(string=hai) anos
webpack.common.js 77e7996bc0 chore: upgrade eslint (last 5.x version), eslint-config-standard, eslint-plugin-node %!s(int64=5) %!d(string=hai) anos
webpack.dev.js 8b6039794c fix(demo/embedding): hide debug controls before rendering, always check showHeader option, only show debug controls by default on dev server (#661) %!s(int64=5) %!d(string=hai) anos
webpack.prod.js e326943094 chore: update clean-webpack-plugin to 3.0.0, adapt webpack.prod.js %!s(int64=5) %!d(string=hai) anos
webpack.sourcemap.js 9361925708 chore: fix source map webpack build file %!s(int64=6) %!d(string=hai) anos

README.md

OSMD logo OpenSheetMusicDisplay (OSMD)

A MusicXML renderer for the Browser

opensheetmusicdisplay.org
Gitter Appveyor Build status Commitizen friendly

About OSMDDemoKey FeaturesLimitationsHow to Use OSMDSponsor OSMDAbout UsGet In Touch

:star: - Star us on Github - It really helps us a lot!
:pray: - Become our Sponsor - Support our work and receive awesome perks!

About OSMD

OpenSheetMusicDisplay renders MusicXML sheet music in the browser. It is the missing link between MusicXML and VexFlow. Built upon many years of experience in both sheet music interactivity and engraving, it is the perfect solution for app developers seeking to build digital sheet music services.

MusicXML is the de facto standard for exchanging sheet music between music software.
VexFlow is widely used for rendering sheet music. It features an extensive library of musical elements, but each measure and symbol has to be created and positioned by hand in Javascript.

OpenSheetMusicDisplay brings the two together and offers an open source turnkey solution for your digital sheet music project.

Demo

Try the Public Demo to see what OSMD can do.
Learn more about the demo and OSMD in the OSMD Wiki.

Developers can also run a local development demo (see Wiki):

Local OSMD Developer Demo

Key Features

  • Displays MusicXML sheet music in a browser(less) environment (Javascript, Typescript, server-side: browserless NodeJS script)
  • Uses Vexflow for rendering and (partly) layout
  • Parses most MusicXML tags and integrates it into an accessible and modifiable data model (e.g. to change a note's color)
  • Offers many options (OSMDOptions / EngravingRules): Page Format, Font Family, Positioning, not rendering certain elements like the title or lyrics, etc.
  • Allows modification of the displayed score, like hiding parts or instruments, hiding instrument names, title or composer, a more compact layout, or coloring notes
  • Outputs SVG or PNG, also via nodejs script in the command line, completely browserless (e.g. for server-side rendering)
  • Written in Typescript with complete type information, 100% compatible with Javascript (minified build is .js)

Limitations

Not all MusicXML tags are (fully) supported:

Also, OSMD is a renderer, not an interactive sheet music editor. Rendering takes some time, and you can't easily/quickly move notes, place new notes, etc.

How to Use OSMD

Sponsor OSMD

OSMD on Github Sponsors

Sadly free isn’t sustainable on its own. To keep on improving and developing Open Sheet Music Display we need your support. Your monthly sponsorship subscription - especially if you are already actively using OSMD - would mean everything to us - it’s a stable way that would enable us to continue our work, and improve and expand Open Sheet Music Display.
New features currently in the making are:

  • OSMD Audio Player
  • Transposing Plugin
  • Annotations (Add custom text, music symbols, etc. to the score and export to and import from XML)

Our awesome sponsors get awesome perks, like:

  • Early Access to features like the Audio Player
  • A postcard from Vienna

and others. Check them out at our GitHub sponsors page.

And there are other ways to contribute to the community - we plan on starting a blog & a newsletter and share our knowledge. We encourage our sponsors to bring up their desired features and pitch blog post ideas.

Though we highly recommend the sponsor route, you can also donate via Paypal:

paypal
Any support is highly appreciated.

About Us

OSMD is made by Phonicscore - a music-tech company based in Vienna. We create solutions for musicians, sheet music publishers, app developers, music stores and researchers:

Our mission is to provide state of the art software solutions for building MusicXML apps and to include the community in a constant thrive for improvement. We want to take away the pain of building music software from scratch and offer a shortcut when it comes to building your next MusicXML sheet music application.

We also want to thank our Github Contributors, who show that with open source many people come together to not only share but improve software.

Get In Touch

To contact us directly, you can: