bbloomf / jgabc Goto Github PK
View Code? Open in Web Editor NEWHome Page: http://bbloomf.github.io/jgabc/
License: The Unlicense
Home Page: http://bbloomf.github.io/jgabc/
License: The Unlicense
Users: See http://bbloomf.github.io/jgabc/ for a live example. Developers: To get started, install Node.js from: https://nodejs.org On Linux/OSX: Verify node installation from terminal with: node -version Install npm with: sudo npm install npm@latest -g From the jgabc directory run: sudo npm install -g http-server sudo http-server -a localhost -p 80 Visit the local directory from your browser: http://127.0.0.1
on transcriber.html
try this notation:
initial-style: 1;
%%
c4 ed g hj jji hg hi hg g. ;
g ijk j ji hg h gf e.d. :
dh h' g hiwji hg hi. hg g. ;
h h' g fe d efg fe e. ::
with this text
Novàne das lucem Deus,
Nos inchoàre? nec reis
Jus est petèndi, nec decet
Optàre devòtos tibi.
it dosent work quite right. it lines up if you replace the accents with regular vowels though
Lines 742 to 743 in 006babf
Readings should be:
Epistle: Ecclesiasticus 24:23-31
Gospel: Joannes 19:25-27
Hello,
I keep recommending it to people around me, but they usually are not fluent in Latin nor in English. I18n would be a good feature to have, have you thought about it already?
I just saw in another issue that you plan to refactor the code before adding new features. If you need any help with this, I can help, as I have a bit of spare time at the moment.
God bless you for your excellent work.
perhaps another option could be added to the drop down "Full w/ G. P." where it replaces the "e u o u a e" with the Gloria Patri tone
I think this is because it is being fetched from https://github.com/Initsogar/cordova-webintent which does not exist, or there is a conflict with cordova-webintent,
in package.json
"dependencies": {
"com.borismus.webintent": "https://github.com/cordova-misc/cordova-webintent.git",
"cordova-android": "^8.0.0",
"cordova-ios": "^5.0.0",
"cordova-plugin-whitelist": "^1.3.3",
"cordova-plugin-x-socialsharing": "^5.4.4",
"cordova-webintent": "git+https://github.com/cordova-misc/cordova-webintent.git",
"es6-promise-plugin": "^4.2.2"`
https://github.com/cordova-misc/cordova-webintent.git vs git+https://github.com/cordova-misc/cordova-webintent.git ??
PS C:\Users\Richard\source\repos\Chant Tools> npm install
npm WARN [email protected] No repository field.
audited 1540 packages in 6.707s
found 6 vulnerabilities (3 moderate, 3 high)
run `npm audit fix` to fix them, or `npm audit` for details
PS C:\Users\Richard\source\repos\Chant Tools> npm audit
npm ERR! code ELOCKVERIFY
npm ERR! Errors were found in your package-lock.json, run npm install to fix them.
npm ERR! Missing: com.borismus.webintent@https://github.com/cordova-misc/cordova-webintent.git
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Richard\AppData\Roaming\npm-cache\_logs\2019-05-05T05_23_45_958Z-debug.log
That helps...🤣
Debug log
0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli 'audit' ]
2 info using [email protected]
3 info using [email protected]
4 verbose npm-session e2e12a29b18a3f79
5 verbose stack Error: Errors were found in your package-lock.json, run npm install to fix them.
5 verbose stack Missing: com.borismus.webintent@https://github.com/cordova-misc/cordova-webintent.git
5 verbose stack at lockVerify.then (C:\Program Files\nodejs\node_modules\npm\lib\audit.js:163:19)
6 verbose cwd C:\Users\Richard\source\repos\Chant Tools
7 verbose Windows_NT 10.0.17763
8 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "audit"
9 verbose node v10.15.3
10 verbose npm v6.4.1
11 error code ELOCKVERIFY
12 error Errors were found in your package-lock.json, run npm install to fix them.
12 error Missing: com.borismus.webintent@https://github.com/cordova-misc/cordova-webintent.git
13 verbose exit [ 1, true ]
It would be nice if there were command-line versions of the tools, so one could do something like
gabctranscribe words.txt music.gabc > words-and-music.gabc
and produce combined GABC files in batch that way. The psalm tone tool would likely be somewhat tricky to set up this way given its large number of configuration options, but the GABC transcription tool is quite simple by comparison. It would ‘just’ be a matter of pulling out the actual code which integrates words and music together into a separate module which could be used both by the web tool online, and by a Node.js-powered command line tool.
TeX hyphenation patterns for portuguese language are available at http://mirror.ctan.org/language/hyph-utf8/tex/generic/hyph-utf8/patterns/tex/hyph-pt.tex Could you provide support for portuguese language based on those patterns?
The Android app seemed to have difficulties rendering today's Alleluias as Psalm tone.
When I get a chance later I'll try it in chrome and see if there's a script error. If I can figure out the issue, I'll submit a Pull Request.
Hi, thanks for this awesome project that I use every week.
This is not an issue, it's more like a feature request
Would it be possible to include an iframe for any of the included score ?
That would be incredibly helpful to integrate a gregorian chant score inside a markdown / Obsidian note, or inside Outline wiki note / Flarum forum post for instance !
Thanks !
French gregorian singer
When i put two annotation headers. it should show up on multiple lines. as seen here: http://gregorio-project.github.io/gabc/#header
instead, the transcriber only displays the first annotation:
I have noticed that many English words are not being separated correctly:
This will be displayed as having two syllables instead of four at the moment. In other cases words are given too many syllables; e.g. 'ends' gets two.
I reported a similar issue over on GregoBase, but it is happening in jgabc as well (in fact, this is where my schola noticed the issue).
I'm reporting over here as well for your benefit.
Gloria XI is not rendering a quilisma in the final Patris before the Amen. It works fine when I run the gabc manually in Gregorio 5.0.1.
Should both use Beatus vir
If I get a chance, pretty sure I can add it. However been extremely busy with software launches recently.
A bright white screen at mass or in the dark is very disturbing.
It would be very nice to improve a little bit the UI/UX of the website and Android app, as well as the possibility to change police, layouts...
It could be an open discussion and I could maybe help.
Set the current day to a Sunday in Easter
When you select "Completely Psalm toned" on either of the of the alleluias, the other gets changed too. Was this intentional?
With the current version of exsurge in use, flats are (at least sometimes) carried over quarter bars. Take the following gabc:
(c4) Dó(ixjhi)mi(gf)ne.(fhg___) (,) (jkijh./fhg/hggf.) (::)
The flat is correctly canceled by a quarter bar when createMappingsFromSource
is called, but when updateMappingsFromSource
is called the value is no longer correct. To reproduce, you can run the following code:
var gabc = "(c4) Dó(ixjhi)mi(gf)ne.(fhg___) (,) (jkijh./fhg/hggf.) (::)";
var ctxt = new exsurge.ChantContext();
var mappings = exsurge.Gabc.createMappingsFromSource(ctxt, gabc);
var score = new exsurge.ChantScore(ctxt, mappings);
console.dir(score.mappings[3].notations[0].notes[2].pitch)
// { step: 11, octave: 1 }
exsurge.Gabc.updateMappingsFromSource(ctxt, score.mappings, gabc);
console.dir(score.mappings[3].notations[0].notes[2].pitch)
// { step: 10, octave: 1 }
I've tested this same code with the latest version of exsurge and verified that this does not occur there.
It seems to be complaining about the _3
, _5
scattered throughout the gabc. I had to remove them to compile correctly.
The readings tool is amazing but it seems like the GABC modification inputs are a bit of a black art. I tried looking through the code in readings.js
but I couldn't easily find the implementation of their parser, not even an eval
call.
Thanks
There is the Chant Tools app on Android, but I miss the same app on Linux. It would be great to have jgabc built with Electron so it could run as a desktop app. Then it could be packaged in Flathub.
If I have the time, I'll contribute to this if you agree on the feature.
When I try to play the music on: http://bbloomf.github.io/jgabc/transcriber.html
I get the error: "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. "
Related Stackoverflow: https://stackoverflow.com/questions/55026293/google-chrome-javascript-issue-in-getting-user-audio-the-audiocontext-was-not
If I understand correctly the Audiocontext in Tone.min.js with line !i.context && (i.context = new window.AudioContext,
should be created when the user clicks something to circumvent this error.
EDIT: The tones.js library shows how to fix this: https://github.com/Tonejs/Tone.js#starting-audio
Dear Benjamin,
I have performed a little "Accenteur", i.e. a JS application to accent latin texts (https://github.com/BrRoman/accenteur, test here).
It is quite stable, even if some errors still occur (Iésu, Mariǽ).
So I was wondering if you would be interested by this feature in your Transcription tool: the user, in mode "two boxes separated", would have a checkbox "Accents auto", so that when he types an inaccented word, your app would put the correct accent (or at least suggests accented forms).
I am not wed to this idea (in french: "Je n'y tiens pas mordicus"), and I have not a lot of time for that, but if your are interested, I would be glad to participate to the elaboration of this feature.
Yours in Christ
Brother Roman Mary
Hello,
First of all, I'd like to apologize for my english and say that I very appreciate work you've done. jgabc is almost exactly what I need. Almost, because I'm looking for a way of getting fully passive behavior of jgabc. More accurately: the way test.html was working in one of the first releases (i.e. a0ce9fd). So rendering based on gabc source in div
, no interactivity (no neumes color change on hover, no textbox to edit syllables, no playback).
Is it hard to get it working that way?
Thank you for help and/or responses.
The psalm tone tool omits all text from an exclamation point to the end of the hemistich. Found this on verse 5 of psalm 119, Heu mihi! quia incolátus meus prolongátus est: † habitávi cum habitántibus Cedar: * multum íncola fuit ánima mea.
Experimented a bit and confirmed it happens whenever there's an exclamation point in the psalm text.
If you select "psalm toned" for the alleluia of the 3rd Sunday after Easter, the clef is 3f, even though the psalm tone for mode 4 expects the clef to be c4, and so the neumes it gives for the psalm tone need to be transposed, but aren't currently
It would be nice if there was an option to add a dash within the preparatory and accented syllables when they are "next" to another syllable.
Example off:
\item Dóminus opem ferat illi super lectum dolóris \textbf{e}jus: * univérsum stratum ejus versásti in infirmitá\textit{te} \textbf{e}jus.
\item Verbum iníquum constituérunt ad\textbf{vér}sum me: * Numquid qui dormit non adjíciet ut \textit{re}\textbf{súr}gat?
Example on:
\item Dóminus opem ferat illi super lectum dolóris \textbf{e-}jus: * univérsum stratum ejus versásti in infirmitá\textit{-te} \textbf{e-}jus.
\item Verbum iníquum constituérunt ad\textbf{-vér-}sum me: * Numquid qui dormit non adjíciet ut \textit{re-}\textbf{súr-}gat?
Another part is if it would also "prefer" the left or the right side. Namely if there is a preparatory syllable adjacent to an accented syllable should the dash be part of the preparatory, or the accented, or neither and be between.
I'll mention you that on simplified graduale here, the last verse is not psalm toned.
If you want to add this possibility (a long and fastidious work…)
It's an exsurge bug but frmatthew's version doesn't have that bug and there's no issue tracker on your fork.
<i>om</i>(h)<i>nis</i>(ih gr[ocba:1{]) <b>ter</b>(gf[ocba:0}])ra.(e)
Actually, only the first one causes the crash. If you put ocb instead it works. Changing the 2nd one to ocba doesn't have any consequence.
With your transcription tools, the script just stop rendering anything more. But in the Source & Summit Editor the whole page gets blank.
Comparing what the psalm tone generator does for the Graduale on Christmas Midnight Mass and what is in the back of the Liber Brevior. There seems to be a discrepancy in where the rising nume goes. (at spelndoribus sanctorum
)
Side note: how hard would it be to have the psalm tones be provided like the full propers are in gabc format?
Excuse my bad English, but is it possible to add a function to repeat the first psalm verse, or a "format verse" full-tex (tex-plain) to introduce a psalm in a tex document (and download all psalms in full-tex !) ?
Thank you to your work !
Hello,
first of all big thank you for work you have done. Unfortunately when I generated propers for today's Mass (26 Nov, Saint Sylvester) I realized, that there is a mistake. Offertory should be "Desiderium animae eius", but there is "Desiderium pauperum". Could you correct this?
Thank you for your response.
Unlike in gregorio and the legacy editor. Not sure it's actually used anywhere in literature though...
Like with the replacement of ae
with æ
it would be cool if V/
was replace with ℣
and R/
was replaced with ℟
.
Here, it seems the psalm toned feature does not work when there is a star at the end of the piece like for Ascentio Alleluia:
Here is what it does:
This is what I believe it should do:
This seems caused by a star at the end of the piece:
As in title. E.g.,
%font-family: "Times New Roman";
produces no result.
Adding
ctxt.setFont(ctxt.lyricTextFont, 19.2 / 0.9);
above the ctxt.setGlyphScaling
line in transcriber.html.js
, setupFontFromHeader
produces a result, but the drop-cap is severely misaligned (which it is not, when using "Crimson Text".)
I guess this feature was somehow lost in all the Exsurge changes?
I tried FireFox and Chromium, and it plays, but I am not hearing anything. I tested Pentecost Sunday's propers.
Firefox console gives:
An AudioContext was prevented from starting automatically. It must be created or resumed after a user gesture on the page.
Hello,
since Version 4.0.0 there is a possibility in Gregorio to typeset also adiastematic neumes;
NABC "language" is defined (as described here: GregorioNabcRef.pdf
Although it would be great to have it implemented to your tool too, all I would like to ask for is to teach your transcriber to ignore it (to be able to parse it correctly and write the quadratic neumes as if the nabc code was not there).
All you need to know is probably in following lines from the reference:
To describe adiastematic neumes in gabc, the header should contain nabc-lines: 1; line, like:
nabc-lines: 1;
(f3) AL(ef~|ta>)le(fg/hggf|peclhgpi)lú(ef~|ta>)ia.(f.|ta-) (,)
(ii//|bv-|gh!ivHG//|vi-hhppu2su1sut1|fhg/|to|eef.|pt) (;)
The nabc snippets are then separated by | character from gabc snippets or other nabc snippets. Every gabc snippet may be followed by multiple nabc snippets. The maximum number of consecutive nabc snippets is the number declared in the header field nabc-lines: x;. After reaching that number of consecutive nabc snippets another gabc snippet followed by nabc snippets can
follow.
Best regards,
Marek Klein
When using the web inspector tool in the GABC Transcription Tool it shows the following warning message under the console:
"DevTools failed to load SourceMap: Could not load content for https://bbloomf.github.io/jgabc/exsurge.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE".
This issue has replaced the Crimson font and default text size and has inhabilitated several settings such as "%drop-cap-text-color: ;", "%font-family: ;" and others.
It's not causing front-end errors, but as I was digging through the code to understand it, and I noticed that https://apps.illuminarepublications.com has an insecure cert listed in chrome, because it's SHA-1, and it's also the wrong domain name.
Just a low-priority heads up on that one... time for Let's Encrypt?
I am using the Chrome Extension on a Mac and cannot download the PNG when offline.
If I select Psalm Toned
for the Alleluia (link), it includes an extra set of double bar lines containing just ij
between the Alleluia and the verse:
If I select Completely Psalm Toned
for the Alleluia (link), there's no Alleluia at all - it starts with the ij
(with the "i" as a drop cap!) and goes right into the verse:
This doesn't happen for the 14th Sunday after Pentecost, but I tried some others (including all the Sundays after Pentecost) and it happens for them.
The pentecost vigil proper is missing in the novus ordo propers.
Is it possible for you to add it?
Thanks in advance!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.