Gamera OCR with Psaltiki Toolkit [GOPT]- FREEWARE
From GKM
(user: [mimi])
Gamera OCR is an open source program that segments, isolates, groups and recognizes glyphs.
It works in Linux and Windows.
Toolkits have been developed for (among others)
== standard Latin characters
== polytonic Greek
and, of course
== Psaltiki Neumes.
Linux users can use the latest versions.
Windows users who know about programing can create their own executable binaries.
Those who do not know much can work with what is provided here
REFERENCES (just click on links for information mainly in English)
(http://analogion.com/forum/showpost.php?p=179099&postcount=4)
LINKS to Windows application and Video presentations in Greek by one of the contributing authors to the Gamera OCR Psaltiki Toolkit project.
(http://analogion.com/forum/showpost.php?p=201897&postcount=10)
[CLICK on EVERYTHING, download, watch without trying to understand everything, and, by the end, many things will become clear].
The versions provided for Windows XP to 8.1 are not the latest, yet, they are the only combinations of
Python
WXpython
and
GAMERA
that work.
After unzipping, RUN AS ADMINISTRATOR any program that can be so run
in the EXACT order provided below
01 Python-2.3.5.exe
02 wxPythonWIN32-2.4.2.4-Py23.exe
03 gamera-2.9.0.win32-py2.3.msi
04_gamera-2.0.0.win32-py2.3.exe
05 psaltiki_1[1].0.6.win32_py2.3.exe
(the archive has been mislabeled...
04 gamera-2.9.0.win32-py2.3.msi
03_gamera-2.0.0.win32-py2.3.exe
Therefore, following wx Python, please install "gamera-2.9.0.win32-py2.3.msi", only then followed by "gamera-2.0.0.win32-py2.3.exe" )
To RUN Gamera OCR:
Before RUNNING Gamera, please run PYTHON, and leave it open.
Therefore:
1) Python
2) Gamera OCR
3) Toolkits => Psaltiki => etc....
All of the above is shown within the video presentations.
The program requires images at 300 dpi.
It recognizes ONE print type at a time: different fonts for a given charater (glyph) will create problems.
The program provides an output code for each page recognized.
All necessary information is provided in the "documents" section.
This output code will hopefully be used by the creators of programs such as BK, MK, BZ, BZQ, Melodos, Pandouris, Ephesios, Neumes Project, etc.
so as to integrate the recognized neumes.
For the time being, the toolkit does NOT recognize lyrics.
Any lyrics will DESTABILIZE recognition.
Lyrics beneath neumes are removed by the program, but some further removal of titles, etc. might be helpful.
Neume names that do NOT appear in Contemporary Psaltic Notation can easily be added (Palaeography, etc).
One may even attempt recognizing neatly written handwriting.
Lyrics integration will require programing.
++++++++++++++++
First "seed"
Provided below are some files, including an entire book at 300 dpi, as well as a trained classifier for that book,
so as to initiate what hopefully will become a worldwide collaboration for a rapid progression towards digital forms of AUTHENTIC, unalatered, TRADITIONAL, psaltic books:
(http://www.mediafire.com/download/c...1834_Constantinople_for_GAMERA_OCR_part01.zip)
(http://www.mediafire.com/download/h...1834_Constantinople_for_GAMERA_OCR_part02.zip )
++++++++++++++
General principles
For each different book
GOPT (Gamera OCR Psaltiki Toolkit) must be TRAINED.
Training results are archived into to "classifier___.xml" documents.
5 to 10 pages (chosen so as to be REPRESENTATIVE of all neumes) from the book are usually sufficient.
The last, most complete (cumulative) classifier is in turn used to recognize ALL the pages of the book.
The code, of course, is useless, unless there are those willing to contribute by making it work in their programs (by some "import" function).
++++++++++++
Encoding characteristics
Neumes are GROUPED according to
== either some PRIMARY lyph that is on the baseling (eg ison, oligon)
== some MARTYRIA (witness): letter and characteristic glyph
== some tempo change (CHRONOS).
All OTHER neumes are DEPEDENT and can be
= LINKING neumes (we decided to use links in RETRO vs ANTERO grade sense, making the code easier to use with ED Psaltica and derivatives thereof)
= ATTACHED neumes such as the BAREIA
= Secondary neumes such as FTHORA, CHROA, accidents, DIASTOLE, etc
Classifier names do NOT include the title "secondary"...
Therefore, anything not PRIMARY, Linking or ATTACHED
is, by definition, SECONDARY.
Furthermore, FTHORA that are UNIQUELY fthora in function, are NOT explicitely labelled as "fthora".
On the other hand, MARTYRIA that are uniquely MARTYRIA in function , symbols (Capital M in table), are labelled under MARTYRIA-
Finally, neumes that can have EITHER MARTYRIA or FTHORA functions (such as the plagal second Di symbol), are labelled
MARTYRIA-FTHORA.
Please refer to the TABLES so as to avoid any errors of labelling attributions.
eg: diatonic bou stands for secondary fthora of diatonic bou
++++++++++++++++++++++++
For those wishing to integrate INSTANTANEOUS handwritten recognition of psaltic neumes,
(( "on-line character recognition", "dynamic character recognition", "real-time character recognition", "intelligent character recognition")
please read about Benjamin Milde
here
(http://analogion.com/forum/showpost.php?p=194757&postcount=5)
++++++++++++++++
Example of code output
ORIGINAL (and uncorrected)
(primary.oligon[0,-1];hypsili[-7,1];psiphiston[1,-4];klasma[-3,1]) (primary.apostrophos[0,-1];klasma[-1,2]) (primary.apostrophos[0,-1];bareia[-4,-4]) (primary.apostrophos[0,-1];gorgon.mono-gorgon[-3,1]) (primary.oligon[0,-1]) (primary.oligon[0,0];klasma[-3,2]) (primary.elaphron[0,-1];klasma[-3,2];primary.apostrophos[-2,-2]) (primary.oligon[0,0];klasma[-3,2]) (primary.oligon[0,0];kendima[-5,2];gorgon.mono-gorgon[-4,4];kendima[-2,2]) (primary.apostrophos[0,0]) (primary.apostrophos[0,-1];gorgon.mono-gorgon[-2,2]) (primary.oligon[0,0];klasma[-3,2];kendima[2,0]) (martyria.diatonic-delta[0,-8];letter.capital.di[-1,-4]) (primary.elaphron[0,0]) (primary.oligon[0,1];chromatic.hard-large-intervall[-3,3];kendima[-1,-2]) (primary.ison[0,1];psiphiston[2,-3]) (primary.apostrophos[0,0]) (martyria.diatonic-delta[0,-8];letter.small.ni[-2,-3])
(primary.apostrophos[0,-2];bareia[-2,-5];apostrophos[2,-5]) (primary.oligon[0,-1];klasma[-3,2]) (primary.oligon[0,0];antikenoma[0,-4];gorgon.mono-gorgon[-5,2]) (primary.elaphron[0,-1];kendima[2,-1];kendima[3,-1]) (primary.oligon[0,0];klasma[-3,2]) (primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-5,2]) (primary.elaphron[0,-1]) (primary.oligon[0,0];klasma[-4,3];kendima[-2,-2];kendima[0,-2]) (primary.oligon[0,1];antikenoma[0,-3];gorgon.mono-gorgon[-5,2]) (primary.apostrophos[0,0]) (primary.apostrophos[0,0];gorgon.mono-gorgon[-2,3]) (martyria.chromatic-large-interval[0,-7];gorgon.mono-gorgon[-3,-3];dot.hapli[-6,-2]) (primary.apostrophos[0,0]) (primary.oligon[0,1];dot.hapli[-7,-1];antikenoma[1,-2];gorgon.mono-gorgon[-5,3]) (primary.oligon[0,1];apostrophos[-5,3];kendima[-3,2];kendima[-1,2]) (primary.elaphron[0,0];klasma[-2,3];letter.small.pa[3,-3]) (primary.apostrophos[0,0];diatonic.ni-kato[-1,-3];klasma[0,3];kendima[2,0];dot.hapli[2,-2];kendima[4,0];dot.hapli[3,0])
(primary.oligon[0,-1];bareia[-6,-5]) (primary.ison[0,0];gorgon.mono-gorgon[-4,1]) (primary.ison[0,0];linking.omalon[-8,-4];dot.hapli[0,2]) (primary.hyporrhoe[0,-1];dot.hapli[-3,3];dot.hapli[-1,3]) (primary.apostrophos[0,-1];diesis.basis[-1,-4]) (primary.oligon[0,0];klasma[-3,2]) (martyria.diatonic-delta[0,-8];letter.small.ni[-2,-4]) (primary.oligon[0,0]) (primary.oligon[0,0]) (primary.oligon[0,0];psiphiston[1,-3];dot.hapli[-7,-4]) (primary.apostrophos[0,0]) (primary.apostrophos[0,0]) (primary.oligon[0,1];kendima[0,-2]) (primary.apostrophos[0,0];bareia[-5,-3];klasma[-1,3]) (primary.hyporrhoe[0,0];gorgon.mono-gorgon[-3,3]) (primary.oligon[0,1];dot.hapli[-8,-1];dot.hapli[-7,-1];dot.hapli[-6,-1];dot.hapli[-6,-1];dot.hapli[-5,-1];dot.hapli[-4,-1];gorgon.mono-gorgon[-5,3];dot.hapli[-3,-1];dot.hapli[-3,-1];apostrophos[0,-3]) (primary.apostrophos[0,0]) (primary.ison[0,1];dot.hapli[-4,-1];dot.hapli[-3,-1];kendima[7,-7];letter.small.zo[8,-3];elaphron[8,-6])
(primary.ison[0,-2];dot.hapli[-6,1]) (primary.oligon[0,-2];hyporrhoe[-6,-4];chromatic.hard-small[-2,-4]) (primary.oligon[0,-1]) (primary.oligon[0,-1]) (primary.ison[0,1];kendima[-7,-1];klasma[-2,-3];primary.petasti[0,-2]) (primary.apostrophos[0,-1]) (primary.elaphron[0,-1];kendima[1,-1];kendima[3,-1]) (primary.oligon[0,0];klasma[-4,2]) (martyria.chromatic.hard-large-intervall[0,-8];letter.capital.di[0,-4]) (primary.oligon[0,0];dot.hapli[-1,1]) (primary.oligon[0,0];psiphiston[0,-4]) (primary.apostrophos[0,-1]) (primary.apostrophos[0,-1]) (primary.oligon[0,0];psiphiston[0,-4];dot.hapli[-9,3]) (primary.apostrophos[0,0]) (primary.apostrophos[0,0]) (primary.oligon[0,0];psiphiston[0,-3];klasma[-4,3]) (primary.hyporrhoe[0,0];gorgon.mono-gorgon[-2,2]) (primary.apostrophos[0,0];dot.hapli[0,-3];dot.hapli[0,1])
(primary.apostrophos[0,-2];klasma[-1,1]) (primary.oligon[0,-1];kendima[-5,1];gorgon.mono-gorgon[-6,3];kendima[-3,1]) (primary.apostrophos[0,-2]) (primary.oligon[0,-1];klasma[-3,1]) (primary.oligon[0,-1];antikenoma[0,-4];gorgon.mono-gorgon[-5,1]) (primary.elaphron[0,-1]) (primary.oligon[0,0];dot.hapli[-3,-2];stavros[3,-1]) (primary.oligon[0,0]) (primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-4,2]) (primary.elaphron[0,-1]) (primary.oligon[0,0];klasma[-3,2];kendima[-1,-2];kendima[0,-3]) (primary.oligon[0,0];antikenoma[1,-3];gorgon.mono-gorgon[-4,2]) (primary.apostrophos[0,0]) (primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2]) (martyria.chromatic-large-interval[0,-7];gorgon.di-gorgon[-3,-3];dot.hapli[-6,-2]) (primary.apostrophos[0,0]) (primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-5,3]) (primary.oligon[0,0];apostrophos[-7,3];kendima[-5,2];kendima[-3,2];dot.hapli[4,-7])
(primary.elaphron[0,-2];klasma[-2,1]) (martyria.chromatic-large-interval[0,-8];letter.small.pa[-2,-5]) (primary.apostrophos[0,-2];klasma[0,1];diatonic.ni-kato[0,-5];kendima[1,-1];gorgon.mono-gorgon[1,-4];kendima[3,-1]) (primary.oligon[0,-1];bareia[-6,-4]) (primary.ison[0,0];gorgon.mono-gorgon[-5,1]) (primary.ison[0,0];linking.omalon[-8,-4]) (primary.hyporrhoe[0,-1];gorgon.mono-gorgon[-3,2]) (primary.apostrophos[0,-1];chromatic.hard-large-intervall[-2,-4]) (primary.oligon[0,0];klasma[-4,2]) (martyria.diatonic-delta[0,-8];letter.small.zo[-2,-3]) (primary.oligon[0,0]) (primary.oligon[0,0]) (primary.oligon[0,0];psiphiston[0,-3]) (primary.apostrophos[0,0]) (primary.apostrophos[0,0]) (primary.oligon[0,1];bareia[-7,-3];kendima[0,-2]) (primary.apostrophos[0,0];gorgon.mono-gorgon[-1,3])
(primary.ison[0,0];bareia[-6,-4];klasma[-2,2]) (primary.hyporrhoe[0,-1];gorgon.mono-gorgon[-3,2]) (primary.oligon[0,0];antikenoma[0,-4];gorgon.mono-gorgon[-5,2]) (primary.apostrophos[0,-1]) (primary.ison[0,0];dot.hapli[-4,-2];dot.hapli[-2,-2]) (martyria.diatonic-delta[0,-7];dot.hapli[-4,-5];letter.small.zo[-1,-2])
(primary.ison[0,-1];dot.hapli[-6,-2]) (primary.oligon[0,-1];klasma[-3,1]) (primary.oligon[0,-1];antikenoma[0,-4];dot.hapli[-6,1];gorgon.mono-gorgon[-5,1];dot.hapli[-8,2]) (primary.oligon[0,0];apostrophos[-6,2];kendima[-4,1];kendima[-2,1]) (primary.elaphron[0,-1];klasma[-1,2]) (primary.oligon[0,0];kendima[2,-1]) (primary.oligon[0,0]) (primary.oligon[0,0];kendima[-5,2];gorgon.mono-gorgon[-5,4];kendima[-3,2]) (primary.apostrophos[0,-1]) (primary.apostrophos[0,-1];gorgon.di-gorgon[-1,2]) (primary.hyporrhoe[0,0];dot.hapli[-1,-2]) (primary.oligon[0,0]) (primary.oligon[0,0]) (primary.petasti[0,0];klasma[-2,-2]) (primary.hyporrhoe[0,0];gorgon.mono-gorgon[-2,2]) (primary.oligon[0,0];kendima[1,-2]) (primary.oligon[0,0];apostrophos[-10,3];elaphron[-3,3];kendima[-1,2];gorgon.mono-gorgon[-1,5];kendima[1,2]) (primary.apostrophos[0,0])
(primary.apostrophos[0,-1]) (primary.elaphron[0,-2]) (primary.oligon[0,-1];antikenoma[0,-4];gorgon.mono-gorgon[-6,1]) (primary.apostrophos[0,-1]) (primary.ison[0,0]) (primary.oligon[0,0]) (primary.oligon[0,0];psiphiston[0,-4]) (primary.hyporrhoe[0,0];gorgon.mono-gorgon[-3,2];dot.hapli[0,7]) (primary.oligon[0,0]) (primary.oligon[0,0];psiphiston[1,-4]) (primary.hyporrhoe[0,0];gorgon.mono-gorgon[-2,2]) (primary.oligon[0,0];klasma[-3,2]) (primary.petasti[0,-1];ison[-2,2]) (primary.apostrophos[0,0]) (primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2]) (primary.ison[0,1];bareia[-9,-3]) (primary.apostrophos[0,0];dot.hapli[8,0]) (primary.oligon[0,0])
(primary.oligon[0,0];kendima[-3,2];gorgon.mono-gorgon[-4,4];kendima[-2,1];primary.baseline.ison[-6,2]) (primary.apostrophos[0,-1]) (primary.apostrophos[0,-1]) (primary.elaphron[0,-1]) (primary.oligon[0,0];antikenoma[0,-4];gorgon.mono-gorgon[-6,2]) (primary.apostrophos[0,-1]) (primary.ison[0,0];klasma[-2,2]) (martyria.diatonic-delta[0,-8];letter.small.zo[-1,-3])
(primary.ison[0,-1]) (primary.oligon[0,-1];klasma[-3,2];kendima[2,-1]) (primary.oligon[0,0];kendima[-3,1]) (primary.apostrophos[0,-1]) (primary.oligon[0,0];klasma[-2,2]) (primary.oligon[0,0]) (primary.oligon[0,0];klasma[-3,2];kendima[-2,-3];kendima[0,-3]) (primary.ison[0,0];bareia[-9,-3]) (primary.apostrophos[0,0]) (primary.oligon[0,0];klasma[-3,3]) (martyria.diatonic-na[0,-7];letter.small.zo[0,-3]) (martyria.diatonic-na[0,-7];letter.tonos[0,-2]) (primary.elaphron[0,0];primary.apostrophos[-2,-1]) (primary.oligon[0,0];klasma[-3,3]) (primary.oligon[0,0];kendima[-3,2];kendima[-1,2]) (primary.apostrophos[0,0]) (primary.apostrophos[0,0];dot.hapli[5,4]) (primary.elaphron[0,-1];dot.hapli[-2,3])
(primary.oligon[0,-1];kendima[-5,2];gorgon.mono-gorgon[-5,4];kendima[-2,1]) (primary.apostrophos[0,-1]) (primary.oligon[0,-1];klasma[-3,2];dot.hapli[-5,-3];kendima[2,-1];gorgon.mono-gorgon[0,-3];kendima[4,-1]) (primary.oligon[0,0];psiphiston[-1,-4];kendima[-6,1];kendima[-4,2]) (primary.apostrophos[0,-1]) (primary.apostrophos[0,-1];dot.hapli[-3,-1]) (primary.petasti[0,-1];klasma[-3,-2];primary.apostrophos[-3,1]) (primary.hyporrhoe[0,0];gorgon.mono-gorgon[-3,2];kendima[2,0];gorgon.mono-gorgon[0,-3];kendima[3,0];hypsili[19,-1];kendima[9,2];gorgon.mono-gorgon[8,4];kendima[11,2];dot.hapli[-1,-2]) (primary.oligon[0,0];klasma[-2,3]) (martyria.diatonic-delta[0,-8];dot.hapli[-1,-5]) (martyria.diatonic-delta[0,-4]) (primary.apostrophos[0,0];bareia[-5,0]) (primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2]) (primary.ison[0,0];bareia[-9,-3]) (primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2]) (primary.oligon[0,0];dot.hapli[-6,2])
(primary.oligon[0,0];dot.hapli[-10,2];kendima[-3,2];gorgon.mono-gorgon[-3,4];kendima[-1,2];primary.baseline.oligon[-5,2]) (primary.apostrophos[0,0]) (primary.apostrophos[0,-1]) (primary.elaphron[0,-1]) (primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-5,2]) (primary.apostrophos[0,-1]) (primary.ison[0,0];klasma[-3,2];dot.hapli[-1,0];dot.hapli[96,-19];letter.tonos[97,-17];dot.hapli[97,-25];dot.hapli[98,-19];dot.hapli[98,-18];dot.hapli[99,-21];gorgon.mono-gorgon[99,-24];dot.hapli[98,-24])
GROUPED (and uncorrected)
(primary.oligon[0,-1];hypsili[-7,1];psiphiston[1,-4];klasma[-3,1])
(primary.apostrophos[0,-1];klasma[-1,2])
(primary.apostrophos[0,-1];bareia[-4,-4])
(primary.apostrophos[0,-1];gorgon.mono-gorgon[-3,1])
(primary.oligon[0,-1])
(primary.oligon[0,0];klasma[-3,2])
(primary.elaphron[0,-1];klasma[-3,2];primary.apostrophos[-2,-2])
(primary.oligon[0,0];klasma[-3,2])
(primary.oligon[0,0];kendima[-5,2];gorgon.mono-gorgon[-4,4];kendima[-2,2])
(primary.apostrophos[0,0])
(primary.apostrophos[0,-1];gorgon.mono-gorgon[-2,2])
(primary.oligon[0,0];klasma[-3,2];kendima[2,0])
(martyria.diatonic-delta[0,-8];letter.capital.di[-1,-4])
(primary.elaphron[0,0])
(primary.oligon[0,1];chromatic.hard-large-intervall[-3,3];kendima[-1,-2])
(primary.ison[0,1];psiphiston[2,-3])
(primary.apostrophos[0,0])
(martyria.diatonic-delta[0,-8];letter.small.ni[-2,-3])
(primary.apostrophos[0,-2];bareia[-2,-5];apostrophos[2,-5])
(primary.oligon[0,-1];klasma[-3,2])
(primary.oligon[0,0];antikenoma[0,-4];gorgon.mono-gorgon[-5,2])
(primary.elaphron[0,-1];kendima[2,-1];kendima[3,-1])
(primary.oligon[0,0];klasma[-3,2])
(primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-5,2])
(primary.elaphron[0,-1])
(primary.oligon[0,0];klasma[-4,3];kendima[-2,-2];kendima[0,-2])
(primary.oligon[0,1];antikenoma[0,-3];gorgon.mono-gorgon[-5,2])
(primary.apostrophos[0,0])
(primary.apostrophos[0,0];gorgon.mono-gorgon[-2,3])
(martyria.chromatic-large-interval[0,-7];gorgon.mono-gorgon[-3,-3];dot.hapli[-6,-2])
(primary.apostrophos[0,0])
(primary.oligon[0,1];dot.hapli[-7,-1];antikenoma[1,-2];gorgon.mono-gorgon[-5,3])
(primary.oligon[0,1];apostrophos[-5,3];kendima[-3,2];kendima[-1,2])
(primary.elaphron[0,0];klasma[-2,3];letter.small.pa[3,-3])
(primary.apostrophos[0,0];diatonic.ni-kato[-1,-3];klasma[0,3];kendima[2,0];dot.hapli[2,-2];kendima[4,0];dot.hapli[3,0])
(primary.oligon[0,-1];bareia[-6,-5])
(primary.ison[0,0];gorgon.mono-gorgon[-4,1])
(primary.ison[0,0];linking.omalon[-8,-4];dot.hapli[0,2])
(primary.hyporrhoe[0,-1];dot.hapli[-3,3];dot.hapli[-1,3])
(primary.apostrophos[0,-1];diesis.basis[-1,-4])
(primary.oligon[0,0];klasma[-3,2])
(martyria.diatonic-delta[0,-8];letter.small.ni[-2,-4])
(primary.oligon[0,0])
(primary.oligon[0,0])
(primary.oligon[0,0];psiphiston[1,-3];dot.hapli[-7,-4])
(primary.apostrophos[0,0])
(primary.apostrophos[0,0])
(primary.oligon[0,1];kendima[0,-2])
(primary.apostrophos[0,0];bareia[-5,-3];klasma[-1,3])
(primary.hyporrhoe[0,0];gorgon.mono-gorgon[-3,3])
(primary.oligon[0,1];dot.hapli[-8,-1];dot.hapli[-7,-1];dot.hapli[-6,-1];dot.hapli[-6,-1];dot.hapli[-5,-1];dot.hapli[-4,-1];gorgon.mono-gorgon[-5,3];dot.hapli[-3,-1];dot.hapli[-3,-1];apostrophos[0,-3])
(primary.apostrophos[0,0])
(primary.ison[0,1];dot.hapli[-4,-1];dot.hapli[-3,-1];kendima[7,-7];letter.small.zo[8,-3];elaphron[8,-6])
(primary.ison[0,-2];dot.hapli[-6,1])
(primary.oligon[0,-2];hyporrhoe[-6,-4];chromatic.hard-small[-2,-4])
(primary.oligon[0,-1])
(primary.oligon[0,-1])
(primary.ison[0,1];kendima[-7,-1];klasma[-2,-3];primary.petasti[0,-2])
(primary.apostrophos[0,-1])
(primary.elaphron[0,-1];kendima[1,-1];kendima[3,-1])
(primary.oligon[0,0];klasma[-4,2])
(martyria.chromatic.hard-large-intervall[0,-8];letter.capital.di[0,-4])
(primary.oligon[0,0];dot.hapli[-1,1])
(primary.oligon[0,0];psiphiston[0,-4])
(primary.apostrophos[0,-1])
(primary.apostrophos[0,-1])
(primary.oligon[0,0];psiphiston[0,-4];dot.hapli[-9,3])
(primary.apostrophos[0,0])
(primary.apostrophos[0,0])
(primary.oligon[0,0];psiphiston[0,-3];klasma[-4,3])
(primary.hyporrhoe[0,0];gorgon.mono-gorgon[-2,2])
(primary.apostrophos[0,0];dot.hapli[0,-3];dot.hapli[0,1])
(primary.apostrophos[0,-2];klasma[-1,1])
(primary.oligon[0,-1];kendima[-5,1];gorgon.mono-gorgon[-6,3];kendima[-3,1])
(primary.apostrophos[0,-2])
(primary.oligon[0,-1];klasma[-3,1])
(primary.oligon[0,-1];antikenoma[0,-4];gorgon.mono-gorgon[-5,1])
(primary.elaphron[0,-1])
(primary.oligon[0,0];dot.hapli[-3,-2];stavros[3,-1])
(primary.oligon[0,0])
(primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-4,2])
(primary.elaphron[0,-1])
(primary.oligon[0,0];klasma[-3,2];kendima[-1,-2];kendima[0,-3])
(primary.oligon[0,0];antikenoma[1,-3];gorgon.mono-gorgon[-4,2])
(primary.apostrophos[0,0])
(primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2])
(martyria.chromatic-large-interval[0,-7];gorgon.di-gorgon[-3,-3];dot.hapli[-6,-2])
(primary.apostrophos[0,0])
(primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-5,3])
(primary.oligon[0,0];apostrophos[-7,3];kendima[-5,2];kendima[-3,2];dot.hapli[4,-7])
(primary.elaphron[0,-2];klasma[-2,1])
(martyria.chromatic-large-interval[0,-8];letter.small.pa[-2,-5])
(primary.apostrophos[0,-2];klasma[0,1];diatonic.ni-kato[0,-5];kendima[1,-1];gorgon.mono-gorgon[1,-4];kendima[3,-1])
(primary.oligon[0,-1];bareia[-6,-4])
(primary.ison[0,0];gorgon.mono-gorgon[-5,1])
(primary.ison[0,0];linking.omalon[-8,-4])
(primary.hyporrhoe[0,-1];gorgon.mono-gorgon[-3,2])
(primary.apostrophos[0,-1];chromatic.hard-large-intervall[-2,-4])
(primary.oligon[0,0];klasma[-4,2])
(martyria.diatonic-delta[0,-8];letter.small.zo[-2,-3])
(primary.oligon[0,0])
(primary.oligon[0,0])
(primary.oligon[0,0];psiphiston[0,-3])
(primary.apostrophos[0,0])
(primary.apostrophos[0,0])
(primary.oligon[0,1];bareia[-7,-3];kendima[0,-2])
(primary.apostrophos[0,0];gorgon.mono-gorgon[-1,3])
(primary.ison[0,0];bareia[-6,-4];klasma[-2,2])
(primary.hyporrhoe[0,-1];gorgon.mono-gorgon[-3,2])
(primary.oligon[0,0];antikenoma[0,-4];gorgon.mono-gorgon[-5,2])
(primary.apostrophos[0,-1])
(primary.ison[0,0];dot.hapli[-4,-2];dot.hapli[-2,-2])
(martyria.diatonic-delta[0,-7];dot.hapli[-4,-5];letter.small.zo[-1,-2])
(primary.ison[0,-1];dot.hapli[-6,-2])
(primary.oligon[0,-1];klasma[-3,1])
(primary.oligon[0,-1];antikenoma[0,-4];dot.hapli[-6,1];gorgon.mono-gorgon[-5,1];dot.hapli[-8,2])
(primary.oligon[0,0];apostrophos[-6,2];kendima[-4,1];kendima[-2,1])
(primary.elaphron[0,-1];klasma[-1,2])
(primary.oligon[0,0];kendima[2,-1])
(primary.oligon[0,0])
(primary.oligon[0,0];kendima[-5,2];gorgon.mono-gorgon[-5,4];kendima[-3,2])
(primary.apostrophos[0,-1])
(primary.apostrophos[0,-1];gorgon.di-gorgon[-1,2])
(primary.hyporrhoe[0,0];dot.hapli[-1,-2])
(primary.oligon[0,0])
(primary.oligon[0,0])
(primary.petasti[0,0];klasma[-2,-2])
(primary.hyporrhoe[0,0];gorgon.mono-gorgon[-2,2])
(primary.oligon[0,0];kendima[1,-2])
(primary.oligon[0,0];apostrophos[-10,3];elaphron[-3,3];kendima[-1,2];gorgon.mono-gorgon[-1,5];kendima[1,2])
(primary.apostrophos[0,0])
(primary.apostrophos[0,-1])
(primary.elaphron[0,-2])
(primary.oligon[0,-1];antikenoma[0,-4];gorgon.mono-gorgon[-6,1])
(primary.apostrophos[0,-1])
(primary.ison[0,0])
(primary.oligon[0,0])
(primary.oligon[0,0];psiphiston[0,-4])
(primary.hyporrhoe[0,0];gorgon.mono-gorgon[-3,2];dot.hapli[0,7])
(primary.oligon[0,0])
(primary.oligon[0,0];psiphiston[1,-4])
(primary.hyporrhoe[0,0];gorgon.mono-gorgon[-2,2])
(primary.oligon[0,0];klasma[-3,2])
(primary.petasti[0,-1];ison[-2,2])
(primary.apostrophos[0,0])
(primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2])
(primary.ison[0,1];bareia[-9,-3])
(primary.apostrophos[0,0];dot.hapli[8,0])
(primary.oligon[0,0])
(primary.oligon[0,0];kendima[-3,2];gorgon.mono-gorgon[-4,4];kendima[-2,1];primary.baseline.ison[-6,2])
(primary.apostrophos[0,-1])
(primary.apostrophos[0,-1])
(primary.elaphron[0,-1])
(primary.oligon[0,0];antikenoma[0,-4];gorgon.mono-gorgon[-6,2])
(primary.apostrophos[0,-1])
(primary.ison[0,0];klasma[-2,2])
(martyria.diatonic-delta[0,-8];letter.small.zo[-1,-3])
(primary.ison[0,-1])
(primary.oligon[0,-1];klasma[-3,2];kendima[2,-1])
(primary.oligon[0,0];kendima[-3,1])
(primary.apostrophos[0,-1])
(primary.oligon[0,0];klasma[-2,2])
(primary.oligon[0,0])
(primary.oligon[0,0];klasma[-3,2];kendima[-2,-3];kendima[0,-3])
(primary.ison[0,0];bareia[-9,-3])
(primary.apostrophos[0,0])
(primary.oligon[0,0];klasma[-3,3])
(martyria.diatonic-na[0,-7];letter.small.zo[0,-3])
(martyria.diatonic-na[0,-7];letter.tonos[0,-2])
(primary.elaphron[0,0];primary.apostrophos[-2,-1])
(primary.oligon[0,0];klasma[-3,3])
(primary.oligon[0,0];kendima[-3,2];kendima[-1,2])
(primary.apostrophos[0,0])
(primary.apostrophos[0,0];dot.hapli[5,4])
(primary.elaphron[0,-1];dot.hapli[-2,3])
(primary.oligon[0,-1];kendima[-5,2];gorgon.mono-gorgon[-5,4];kendima[-2,1])
(primary.apostrophos[0,-1])
(primary.oligon[0,-1];klasma[-3,2];dot.hapli[-5,-3];kendima[2,-1];gorgon.mono-gorgon[0,-3];kendima[4,-1])
(primary.oligon[0,0];psiphiston[-1,-4];kendima[-6,1];kendima[-4,2])
(primary.apostrophos[0,-1])
(primary.apostrophos[0,-1];dot.hapli[-3,-1])
(primary.petasti[0,-1];klasma[-3,-2];primary.apostrophos[-3,1])
(primary.hyporrhoe[0,0];gorgon.mono-gorgon[-3,2];kendima[2,0];gorgon.mono-gorgon[0,-3];kendima[3,0];hypsili[19,-1];kendima[9,2];gorgon.mono-gorgon[8,4];kendima[11,2];dot.hapli[-1,-2])
(primary.oligon[0,0];klasma[-2,3])
(martyria.diatonic-delta[0,-8];dot.hapli[-1,-5])
(martyria.diatonic-delta[0,-4])
(primary.apostrophos[0,0];bareia[-5,0])
(primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2])
(primary.ison[0,0];bareia[-9,-3])
(primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2])
(primary.oligon[0,0];dot.hapli[-6,2])
(primary.oligon[0,0];dot.hapli[-10,2];kendima[-3,2];gorgon.mono-gorgon[-3,4];kendima[-1,2];primary.baseline.oligon[-5,2])
(primary.apostrophos[0,0])
(primary.apostrophos[0,-1])
(primary.elaphron[0,-1])
(primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-5,2])
(primary.apostrophos[0,-1])
(primary.ison[0,0];klasma[-3,2];dot.hapli[-1,0];dot.hapli[96,-19];letter.tonos[97,-17];dot.hapli[97,-25];dot.hapli[98,-19];dot.hapli[98,-18];dot.hapli[99,-21];gorgon.mono-gorgon[99,-24];dot.hapli[98,-24])
From GKM
(user: [mimi])
Gamera OCR is an open source program that segments, isolates, groups and recognizes glyphs.
It works in Linux and Windows.
Toolkits have been developed for (among others)
== standard Latin characters
== polytonic Greek
and, of course
== Psaltiki Neumes.
Linux users can use the latest versions.
Windows users who know about programing can create their own executable binaries.
Those who do not know much can work with what is provided here
REFERENCES (just click on links for information mainly in English)
(http://analogion.com/forum/showpost.php?p=179099&postcount=4)
LINKS to Windows application and Video presentations in Greek by one of the contributing authors to the Gamera OCR Psaltiki Toolkit project.
(http://analogion.com/forum/showpost.php?p=201897&postcount=10)
[CLICK on EVERYTHING, download, watch without trying to understand everything, and, by the end, many things will become clear].
The versions provided for Windows XP to 8.1 are not the latest, yet, they are the only combinations of
Python
WXpython
and
GAMERA
that work.
After unzipping, RUN AS ADMINISTRATOR any program that can be so run
in the EXACT order provided below
01 Python-2.3.5.exe
02 wxPythonWIN32-2.4.2.4-Py23.exe
03 gamera-2.9.0.win32-py2.3.msi
04_gamera-2.0.0.win32-py2.3.exe
05 psaltiki_1[1].0.6.win32_py2.3.exe
(the archive has been mislabeled...
04 gamera-2.9.0.win32-py2.3.msi
03_gamera-2.0.0.win32-py2.3.exe
Therefore, following wx Python, please install "gamera-2.9.0.win32-py2.3.msi", only then followed by "gamera-2.0.0.win32-py2.3.exe" )
To RUN Gamera OCR:
Before RUNNING Gamera, please run PYTHON, and leave it open.
Therefore:
1) Python
2) Gamera OCR
3) Toolkits => Psaltiki => etc....
All of the above is shown within the video presentations.
The program requires images at 300 dpi.
It recognizes ONE print type at a time: different fonts for a given charater (glyph) will create problems.
The program provides an output code for each page recognized.
All necessary information is provided in the "documents" section.
This output code will hopefully be used by the creators of programs such as BK, MK, BZ, BZQ, Melodos, Pandouris, Ephesios, Neumes Project, etc.
so as to integrate the recognized neumes.
For the time being, the toolkit does NOT recognize lyrics.
Any lyrics will DESTABILIZE recognition.
Lyrics beneath neumes are removed by the program, but some further removal of titles, etc. might be helpful.
Neume names that do NOT appear in Contemporary Psaltic Notation can easily be added (Palaeography, etc).
One may even attempt recognizing neatly written handwriting.
Lyrics integration will require programing.
++++++++++++++++
First "seed"
Provided below are some files, including an entire book at 300 dpi, as well as a trained classifier for that book,
so as to initiate what hopefully will become a worldwide collaboration for a rapid progression towards digital forms of AUTHENTIC, unalatered, TRADITIONAL, psaltic books:
(http://www.mediafire.com/download/c...1834_Constantinople_for_GAMERA_OCR_part01.zip)
(http://www.mediafire.com/download/h...1834_Constantinople_for_GAMERA_OCR_part02.zip )
++++++++++++++
General principles
For each different book
GOPT (Gamera OCR Psaltiki Toolkit) must be TRAINED.
Training results are archived into to "classifier___.xml" documents.
5 to 10 pages (chosen so as to be REPRESENTATIVE of all neumes) from the book are usually sufficient.
The last, most complete (cumulative) classifier is in turn used to recognize ALL the pages of the book.
The code, of course, is useless, unless there are those willing to contribute by making it work in their programs (by some "import" function).
++++++++++++
Encoding characteristics
Neumes are GROUPED according to
== either some PRIMARY lyph that is on the baseling (eg ison, oligon)
== some MARTYRIA (witness): letter and characteristic glyph
== some tempo change (CHRONOS).
All OTHER neumes are DEPEDENT and can be
= LINKING neumes (we decided to use links in RETRO vs ANTERO grade sense, making the code easier to use with ED Psaltica and derivatives thereof)
= ATTACHED neumes such as the BAREIA
= Secondary neumes such as FTHORA, CHROA, accidents, DIASTOLE, etc
Classifier names do NOT include the title "secondary"...
Therefore, anything not PRIMARY, Linking or ATTACHED
is, by definition, SECONDARY.
Furthermore, FTHORA that are UNIQUELY fthora in function, are NOT explicitely labelled as "fthora".
On the other hand, MARTYRIA that are uniquely MARTYRIA in function , symbols (Capital M in table), are labelled under MARTYRIA-
Finally, neumes that can have EITHER MARTYRIA or FTHORA functions (such as the plagal second Di symbol), are labelled
MARTYRIA-FTHORA.
Please refer to the TABLES so as to avoid any errors of labelling attributions.
eg: diatonic bou stands for secondary fthora of diatonic bou
++++++++++++++++++++++++
For those wishing to integrate INSTANTANEOUS handwritten recognition of psaltic neumes,
(( "on-line character recognition", "dynamic character recognition", "real-time character recognition", "intelligent character recognition")
please read about Benjamin Milde
here
(http://analogion.com/forum/showpost.php?p=194757&postcount=5)
++++++++++++++++
Example of code output
ORIGINAL (and uncorrected)
(primary.oligon[0,-1];hypsili[-7,1];psiphiston[1,-4];klasma[-3,1]) (primary.apostrophos[0,-1];klasma[-1,2]) (primary.apostrophos[0,-1];bareia[-4,-4]) (primary.apostrophos[0,-1];gorgon.mono-gorgon[-3,1]) (primary.oligon[0,-1]) (primary.oligon[0,0];klasma[-3,2]) (primary.elaphron[0,-1];klasma[-3,2];primary.apostrophos[-2,-2]) (primary.oligon[0,0];klasma[-3,2]) (primary.oligon[0,0];kendima[-5,2];gorgon.mono-gorgon[-4,4];kendima[-2,2]) (primary.apostrophos[0,0]) (primary.apostrophos[0,-1];gorgon.mono-gorgon[-2,2]) (primary.oligon[0,0];klasma[-3,2];kendima[2,0]) (martyria.diatonic-delta[0,-8];letter.capital.di[-1,-4]) (primary.elaphron[0,0]) (primary.oligon[0,1];chromatic.hard-large-intervall[-3,3];kendima[-1,-2]) (primary.ison[0,1];psiphiston[2,-3]) (primary.apostrophos[0,0]) (martyria.diatonic-delta[0,-8];letter.small.ni[-2,-3])
(primary.apostrophos[0,-2];bareia[-2,-5];apostrophos[2,-5]) (primary.oligon[0,-1];klasma[-3,2]) (primary.oligon[0,0];antikenoma[0,-4];gorgon.mono-gorgon[-5,2]) (primary.elaphron[0,-1];kendima[2,-1];kendima[3,-1]) (primary.oligon[0,0];klasma[-3,2]) (primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-5,2]) (primary.elaphron[0,-1]) (primary.oligon[0,0];klasma[-4,3];kendima[-2,-2];kendima[0,-2]) (primary.oligon[0,1];antikenoma[0,-3];gorgon.mono-gorgon[-5,2]) (primary.apostrophos[0,0]) (primary.apostrophos[0,0];gorgon.mono-gorgon[-2,3]) (martyria.chromatic-large-interval[0,-7];gorgon.mono-gorgon[-3,-3];dot.hapli[-6,-2]) (primary.apostrophos[0,0]) (primary.oligon[0,1];dot.hapli[-7,-1];antikenoma[1,-2];gorgon.mono-gorgon[-5,3]) (primary.oligon[0,1];apostrophos[-5,3];kendima[-3,2];kendima[-1,2]) (primary.elaphron[0,0];klasma[-2,3];letter.small.pa[3,-3]) (primary.apostrophos[0,0];diatonic.ni-kato[-1,-3];klasma[0,3];kendima[2,0];dot.hapli[2,-2];kendima[4,0];dot.hapli[3,0])
(primary.oligon[0,-1];bareia[-6,-5]) (primary.ison[0,0];gorgon.mono-gorgon[-4,1]) (primary.ison[0,0];linking.omalon[-8,-4];dot.hapli[0,2]) (primary.hyporrhoe[0,-1];dot.hapli[-3,3];dot.hapli[-1,3]) (primary.apostrophos[0,-1];diesis.basis[-1,-4]) (primary.oligon[0,0];klasma[-3,2]) (martyria.diatonic-delta[0,-8];letter.small.ni[-2,-4]) (primary.oligon[0,0]) (primary.oligon[0,0]) (primary.oligon[0,0];psiphiston[1,-3];dot.hapli[-7,-4]) (primary.apostrophos[0,0]) (primary.apostrophos[0,0]) (primary.oligon[0,1];kendima[0,-2]) (primary.apostrophos[0,0];bareia[-5,-3];klasma[-1,3]) (primary.hyporrhoe[0,0];gorgon.mono-gorgon[-3,3]) (primary.oligon[0,1];dot.hapli[-8,-1];dot.hapli[-7,-1];dot.hapli[-6,-1];dot.hapli[-6,-1];dot.hapli[-5,-1];dot.hapli[-4,-1];gorgon.mono-gorgon[-5,3];dot.hapli[-3,-1];dot.hapli[-3,-1];apostrophos[0,-3]) (primary.apostrophos[0,0]) (primary.ison[0,1];dot.hapli[-4,-1];dot.hapli[-3,-1];kendima[7,-7];letter.small.zo[8,-3];elaphron[8,-6])
(primary.ison[0,-2];dot.hapli[-6,1]) (primary.oligon[0,-2];hyporrhoe[-6,-4];chromatic.hard-small[-2,-4]) (primary.oligon[0,-1]) (primary.oligon[0,-1]) (primary.ison[0,1];kendima[-7,-1];klasma[-2,-3];primary.petasti[0,-2]) (primary.apostrophos[0,-1]) (primary.elaphron[0,-1];kendima[1,-1];kendima[3,-1]) (primary.oligon[0,0];klasma[-4,2]) (martyria.chromatic.hard-large-intervall[0,-8];letter.capital.di[0,-4]) (primary.oligon[0,0];dot.hapli[-1,1]) (primary.oligon[0,0];psiphiston[0,-4]) (primary.apostrophos[0,-1]) (primary.apostrophos[0,-1]) (primary.oligon[0,0];psiphiston[0,-4];dot.hapli[-9,3]) (primary.apostrophos[0,0]) (primary.apostrophos[0,0]) (primary.oligon[0,0];psiphiston[0,-3];klasma[-4,3]) (primary.hyporrhoe[0,0];gorgon.mono-gorgon[-2,2]) (primary.apostrophos[0,0];dot.hapli[0,-3];dot.hapli[0,1])
(primary.apostrophos[0,-2];klasma[-1,1]) (primary.oligon[0,-1];kendima[-5,1];gorgon.mono-gorgon[-6,3];kendima[-3,1]) (primary.apostrophos[0,-2]) (primary.oligon[0,-1];klasma[-3,1]) (primary.oligon[0,-1];antikenoma[0,-4];gorgon.mono-gorgon[-5,1]) (primary.elaphron[0,-1]) (primary.oligon[0,0];dot.hapli[-3,-2];stavros[3,-1]) (primary.oligon[0,0]) (primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-4,2]) (primary.elaphron[0,-1]) (primary.oligon[0,0];klasma[-3,2];kendima[-1,-2];kendima[0,-3]) (primary.oligon[0,0];antikenoma[1,-3];gorgon.mono-gorgon[-4,2]) (primary.apostrophos[0,0]) (primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2]) (martyria.chromatic-large-interval[0,-7];gorgon.di-gorgon[-3,-3];dot.hapli[-6,-2]) (primary.apostrophos[0,0]) (primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-5,3]) (primary.oligon[0,0];apostrophos[-7,3];kendima[-5,2];kendima[-3,2];dot.hapli[4,-7])
(primary.elaphron[0,-2];klasma[-2,1]) (martyria.chromatic-large-interval[0,-8];letter.small.pa[-2,-5]) (primary.apostrophos[0,-2];klasma[0,1];diatonic.ni-kato[0,-5];kendima[1,-1];gorgon.mono-gorgon[1,-4];kendima[3,-1]) (primary.oligon[0,-1];bareia[-6,-4]) (primary.ison[0,0];gorgon.mono-gorgon[-5,1]) (primary.ison[0,0];linking.omalon[-8,-4]) (primary.hyporrhoe[0,-1];gorgon.mono-gorgon[-3,2]) (primary.apostrophos[0,-1];chromatic.hard-large-intervall[-2,-4]) (primary.oligon[0,0];klasma[-4,2]) (martyria.diatonic-delta[0,-8];letter.small.zo[-2,-3]) (primary.oligon[0,0]) (primary.oligon[0,0]) (primary.oligon[0,0];psiphiston[0,-3]) (primary.apostrophos[0,0]) (primary.apostrophos[0,0]) (primary.oligon[0,1];bareia[-7,-3];kendima[0,-2]) (primary.apostrophos[0,0];gorgon.mono-gorgon[-1,3])
(primary.ison[0,0];bareia[-6,-4];klasma[-2,2]) (primary.hyporrhoe[0,-1];gorgon.mono-gorgon[-3,2]) (primary.oligon[0,0];antikenoma[0,-4];gorgon.mono-gorgon[-5,2]) (primary.apostrophos[0,-1]) (primary.ison[0,0];dot.hapli[-4,-2];dot.hapli[-2,-2]) (martyria.diatonic-delta[0,-7];dot.hapli[-4,-5];letter.small.zo[-1,-2])
(primary.ison[0,-1];dot.hapli[-6,-2]) (primary.oligon[0,-1];klasma[-3,1]) (primary.oligon[0,-1];antikenoma[0,-4];dot.hapli[-6,1];gorgon.mono-gorgon[-5,1];dot.hapli[-8,2]) (primary.oligon[0,0];apostrophos[-6,2];kendima[-4,1];kendima[-2,1]) (primary.elaphron[0,-1];klasma[-1,2]) (primary.oligon[0,0];kendima[2,-1]) (primary.oligon[0,0]) (primary.oligon[0,0];kendima[-5,2];gorgon.mono-gorgon[-5,4];kendima[-3,2]) (primary.apostrophos[0,-1]) (primary.apostrophos[0,-1];gorgon.di-gorgon[-1,2]) (primary.hyporrhoe[0,0];dot.hapli[-1,-2]) (primary.oligon[0,0]) (primary.oligon[0,0]) (primary.petasti[0,0];klasma[-2,-2]) (primary.hyporrhoe[0,0];gorgon.mono-gorgon[-2,2]) (primary.oligon[0,0];kendima[1,-2]) (primary.oligon[0,0];apostrophos[-10,3];elaphron[-3,3];kendima[-1,2];gorgon.mono-gorgon[-1,5];kendima[1,2]) (primary.apostrophos[0,0])
(primary.apostrophos[0,-1]) (primary.elaphron[0,-2]) (primary.oligon[0,-1];antikenoma[0,-4];gorgon.mono-gorgon[-6,1]) (primary.apostrophos[0,-1]) (primary.ison[0,0]) (primary.oligon[0,0]) (primary.oligon[0,0];psiphiston[0,-4]) (primary.hyporrhoe[0,0];gorgon.mono-gorgon[-3,2];dot.hapli[0,7]) (primary.oligon[0,0]) (primary.oligon[0,0];psiphiston[1,-4]) (primary.hyporrhoe[0,0];gorgon.mono-gorgon[-2,2]) (primary.oligon[0,0];klasma[-3,2]) (primary.petasti[0,-1];ison[-2,2]) (primary.apostrophos[0,0]) (primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2]) (primary.ison[0,1];bareia[-9,-3]) (primary.apostrophos[0,0];dot.hapli[8,0]) (primary.oligon[0,0])
(primary.oligon[0,0];kendima[-3,2];gorgon.mono-gorgon[-4,4];kendima[-2,1];primary.baseline.ison[-6,2]) (primary.apostrophos[0,-1]) (primary.apostrophos[0,-1]) (primary.elaphron[0,-1]) (primary.oligon[0,0];antikenoma[0,-4];gorgon.mono-gorgon[-6,2]) (primary.apostrophos[0,-1]) (primary.ison[0,0];klasma[-2,2]) (martyria.diatonic-delta[0,-8];letter.small.zo[-1,-3])
(primary.ison[0,-1]) (primary.oligon[0,-1];klasma[-3,2];kendima[2,-1]) (primary.oligon[0,0];kendima[-3,1]) (primary.apostrophos[0,-1]) (primary.oligon[0,0];klasma[-2,2]) (primary.oligon[0,0]) (primary.oligon[0,0];klasma[-3,2];kendima[-2,-3];kendima[0,-3]) (primary.ison[0,0];bareia[-9,-3]) (primary.apostrophos[0,0]) (primary.oligon[0,0];klasma[-3,3]) (martyria.diatonic-na[0,-7];letter.small.zo[0,-3]) (martyria.diatonic-na[0,-7];letter.tonos[0,-2]) (primary.elaphron[0,0];primary.apostrophos[-2,-1]) (primary.oligon[0,0];klasma[-3,3]) (primary.oligon[0,0];kendima[-3,2];kendima[-1,2]) (primary.apostrophos[0,0]) (primary.apostrophos[0,0];dot.hapli[5,4]) (primary.elaphron[0,-1];dot.hapli[-2,3])
(primary.oligon[0,-1];kendima[-5,2];gorgon.mono-gorgon[-5,4];kendima[-2,1]) (primary.apostrophos[0,-1]) (primary.oligon[0,-1];klasma[-3,2];dot.hapli[-5,-3];kendima[2,-1];gorgon.mono-gorgon[0,-3];kendima[4,-1]) (primary.oligon[0,0];psiphiston[-1,-4];kendima[-6,1];kendima[-4,2]) (primary.apostrophos[0,-1]) (primary.apostrophos[0,-1];dot.hapli[-3,-1]) (primary.petasti[0,-1];klasma[-3,-2];primary.apostrophos[-3,1]) (primary.hyporrhoe[0,0];gorgon.mono-gorgon[-3,2];kendima[2,0];gorgon.mono-gorgon[0,-3];kendima[3,0];hypsili[19,-1];kendima[9,2];gorgon.mono-gorgon[8,4];kendima[11,2];dot.hapli[-1,-2]) (primary.oligon[0,0];klasma[-2,3]) (martyria.diatonic-delta[0,-8];dot.hapli[-1,-5]) (martyria.diatonic-delta[0,-4]) (primary.apostrophos[0,0];bareia[-5,0]) (primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2]) (primary.ison[0,0];bareia[-9,-3]) (primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2]) (primary.oligon[0,0];dot.hapli[-6,2])
(primary.oligon[0,0];dot.hapli[-10,2];kendima[-3,2];gorgon.mono-gorgon[-3,4];kendima[-1,2];primary.baseline.oligon[-5,2]) (primary.apostrophos[0,0]) (primary.apostrophos[0,-1]) (primary.elaphron[0,-1]) (primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-5,2]) (primary.apostrophos[0,-1]) (primary.ison[0,0];klasma[-3,2];dot.hapli[-1,0];dot.hapli[96,-19];letter.tonos[97,-17];dot.hapli[97,-25];dot.hapli[98,-19];dot.hapli[98,-18];dot.hapli[99,-21];gorgon.mono-gorgon[99,-24];dot.hapli[98,-24])
GROUPED (and uncorrected)
(primary.oligon[0,-1];hypsili[-7,1];psiphiston[1,-4];klasma[-3,1])
(primary.apostrophos[0,-1];klasma[-1,2])
(primary.apostrophos[0,-1];bareia[-4,-4])
(primary.apostrophos[0,-1];gorgon.mono-gorgon[-3,1])
(primary.oligon[0,-1])
(primary.oligon[0,0];klasma[-3,2])
(primary.elaphron[0,-1];klasma[-3,2];primary.apostrophos[-2,-2])
(primary.oligon[0,0];klasma[-3,2])
(primary.oligon[0,0];kendima[-5,2];gorgon.mono-gorgon[-4,4];kendima[-2,2])
(primary.apostrophos[0,0])
(primary.apostrophos[0,-1];gorgon.mono-gorgon[-2,2])
(primary.oligon[0,0];klasma[-3,2];kendima[2,0])
(martyria.diatonic-delta[0,-8];letter.capital.di[-1,-4])
(primary.elaphron[0,0])
(primary.oligon[0,1];chromatic.hard-large-intervall[-3,3];kendima[-1,-2])
(primary.ison[0,1];psiphiston[2,-3])
(primary.apostrophos[0,0])
(martyria.diatonic-delta[0,-8];letter.small.ni[-2,-3])
(primary.apostrophos[0,-2];bareia[-2,-5];apostrophos[2,-5])
(primary.oligon[0,-1];klasma[-3,2])
(primary.oligon[0,0];antikenoma[0,-4];gorgon.mono-gorgon[-5,2])
(primary.elaphron[0,-1];kendima[2,-1];kendima[3,-1])
(primary.oligon[0,0];klasma[-3,2])
(primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-5,2])
(primary.elaphron[0,-1])
(primary.oligon[0,0];klasma[-4,3];kendima[-2,-2];kendima[0,-2])
(primary.oligon[0,1];antikenoma[0,-3];gorgon.mono-gorgon[-5,2])
(primary.apostrophos[0,0])
(primary.apostrophos[0,0];gorgon.mono-gorgon[-2,3])
(martyria.chromatic-large-interval[0,-7];gorgon.mono-gorgon[-3,-3];dot.hapli[-6,-2])
(primary.apostrophos[0,0])
(primary.oligon[0,1];dot.hapli[-7,-1];antikenoma[1,-2];gorgon.mono-gorgon[-5,3])
(primary.oligon[0,1];apostrophos[-5,3];kendima[-3,2];kendima[-1,2])
(primary.elaphron[0,0];klasma[-2,3];letter.small.pa[3,-3])
(primary.apostrophos[0,0];diatonic.ni-kato[-1,-3];klasma[0,3];kendima[2,0];dot.hapli[2,-2];kendima[4,0];dot.hapli[3,0])
(primary.oligon[0,-1];bareia[-6,-5])
(primary.ison[0,0];gorgon.mono-gorgon[-4,1])
(primary.ison[0,0];linking.omalon[-8,-4];dot.hapli[0,2])
(primary.hyporrhoe[0,-1];dot.hapli[-3,3];dot.hapli[-1,3])
(primary.apostrophos[0,-1];diesis.basis[-1,-4])
(primary.oligon[0,0];klasma[-3,2])
(martyria.diatonic-delta[0,-8];letter.small.ni[-2,-4])
(primary.oligon[0,0])
(primary.oligon[0,0])
(primary.oligon[0,0];psiphiston[1,-3];dot.hapli[-7,-4])
(primary.apostrophos[0,0])
(primary.apostrophos[0,0])
(primary.oligon[0,1];kendima[0,-2])
(primary.apostrophos[0,0];bareia[-5,-3];klasma[-1,3])
(primary.hyporrhoe[0,0];gorgon.mono-gorgon[-3,3])
(primary.oligon[0,1];dot.hapli[-8,-1];dot.hapli[-7,-1];dot.hapli[-6,-1];dot.hapli[-6,-1];dot.hapli[-5,-1];dot.hapli[-4,-1];gorgon.mono-gorgon[-5,3];dot.hapli[-3,-1];dot.hapli[-3,-1];apostrophos[0,-3])
(primary.apostrophos[0,0])
(primary.ison[0,1];dot.hapli[-4,-1];dot.hapli[-3,-1];kendima[7,-7];letter.small.zo[8,-3];elaphron[8,-6])
(primary.ison[0,-2];dot.hapli[-6,1])
(primary.oligon[0,-2];hyporrhoe[-6,-4];chromatic.hard-small[-2,-4])
(primary.oligon[0,-1])
(primary.oligon[0,-1])
(primary.ison[0,1];kendima[-7,-1];klasma[-2,-3];primary.petasti[0,-2])
(primary.apostrophos[0,-1])
(primary.elaphron[0,-1];kendima[1,-1];kendima[3,-1])
(primary.oligon[0,0];klasma[-4,2])
(martyria.chromatic.hard-large-intervall[0,-8];letter.capital.di[0,-4])
(primary.oligon[0,0];dot.hapli[-1,1])
(primary.oligon[0,0];psiphiston[0,-4])
(primary.apostrophos[0,-1])
(primary.apostrophos[0,-1])
(primary.oligon[0,0];psiphiston[0,-4];dot.hapli[-9,3])
(primary.apostrophos[0,0])
(primary.apostrophos[0,0])
(primary.oligon[0,0];psiphiston[0,-3];klasma[-4,3])
(primary.hyporrhoe[0,0];gorgon.mono-gorgon[-2,2])
(primary.apostrophos[0,0];dot.hapli[0,-3];dot.hapli[0,1])
(primary.apostrophos[0,-2];klasma[-1,1])
(primary.oligon[0,-1];kendima[-5,1];gorgon.mono-gorgon[-6,3];kendima[-3,1])
(primary.apostrophos[0,-2])
(primary.oligon[0,-1];klasma[-3,1])
(primary.oligon[0,-1];antikenoma[0,-4];gorgon.mono-gorgon[-5,1])
(primary.elaphron[0,-1])
(primary.oligon[0,0];dot.hapli[-3,-2];stavros[3,-1])
(primary.oligon[0,0])
(primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-4,2])
(primary.elaphron[0,-1])
(primary.oligon[0,0];klasma[-3,2];kendima[-1,-2];kendima[0,-3])
(primary.oligon[0,0];antikenoma[1,-3];gorgon.mono-gorgon[-4,2])
(primary.apostrophos[0,0])
(primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2])
(martyria.chromatic-large-interval[0,-7];gorgon.di-gorgon[-3,-3];dot.hapli[-6,-2])
(primary.apostrophos[0,0])
(primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-5,3])
(primary.oligon[0,0];apostrophos[-7,3];kendima[-5,2];kendima[-3,2];dot.hapli[4,-7])
(primary.elaphron[0,-2];klasma[-2,1])
(martyria.chromatic-large-interval[0,-8];letter.small.pa[-2,-5])
(primary.apostrophos[0,-2];klasma[0,1];diatonic.ni-kato[0,-5];kendima[1,-1];gorgon.mono-gorgon[1,-4];kendima[3,-1])
(primary.oligon[0,-1];bareia[-6,-4])
(primary.ison[0,0];gorgon.mono-gorgon[-5,1])
(primary.ison[0,0];linking.omalon[-8,-4])
(primary.hyporrhoe[0,-1];gorgon.mono-gorgon[-3,2])
(primary.apostrophos[0,-1];chromatic.hard-large-intervall[-2,-4])
(primary.oligon[0,0];klasma[-4,2])
(martyria.diatonic-delta[0,-8];letter.small.zo[-2,-3])
(primary.oligon[0,0])
(primary.oligon[0,0])
(primary.oligon[0,0];psiphiston[0,-3])
(primary.apostrophos[0,0])
(primary.apostrophos[0,0])
(primary.oligon[0,1];bareia[-7,-3];kendima[0,-2])
(primary.apostrophos[0,0];gorgon.mono-gorgon[-1,3])
(primary.ison[0,0];bareia[-6,-4];klasma[-2,2])
(primary.hyporrhoe[0,-1];gorgon.mono-gorgon[-3,2])
(primary.oligon[0,0];antikenoma[0,-4];gorgon.mono-gorgon[-5,2])
(primary.apostrophos[0,-1])
(primary.ison[0,0];dot.hapli[-4,-2];dot.hapli[-2,-2])
(martyria.diatonic-delta[0,-7];dot.hapli[-4,-5];letter.small.zo[-1,-2])
(primary.ison[0,-1];dot.hapli[-6,-2])
(primary.oligon[0,-1];klasma[-3,1])
(primary.oligon[0,-1];antikenoma[0,-4];dot.hapli[-6,1];gorgon.mono-gorgon[-5,1];dot.hapli[-8,2])
(primary.oligon[0,0];apostrophos[-6,2];kendima[-4,1];kendima[-2,1])
(primary.elaphron[0,-1];klasma[-1,2])
(primary.oligon[0,0];kendima[2,-1])
(primary.oligon[0,0])
(primary.oligon[0,0];kendima[-5,2];gorgon.mono-gorgon[-5,4];kendima[-3,2])
(primary.apostrophos[0,-1])
(primary.apostrophos[0,-1];gorgon.di-gorgon[-1,2])
(primary.hyporrhoe[0,0];dot.hapli[-1,-2])
(primary.oligon[0,0])
(primary.oligon[0,0])
(primary.petasti[0,0];klasma[-2,-2])
(primary.hyporrhoe[0,0];gorgon.mono-gorgon[-2,2])
(primary.oligon[0,0];kendima[1,-2])
(primary.oligon[0,0];apostrophos[-10,3];elaphron[-3,3];kendima[-1,2];gorgon.mono-gorgon[-1,5];kendima[1,2])
(primary.apostrophos[0,0])
(primary.apostrophos[0,-1])
(primary.elaphron[0,-2])
(primary.oligon[0,-1];antikenoma[0,-4];gorgon.mono-gorgon[-6,1])
(primary.apostrophos[0,-1])
(primary.ison[0,0])
(primary.oligon[0,0])
(primary.oligon[0,0];psiphiston[0,-4])
(primary.hyporrhoe[0,0];gorgon.mono-gorgon[-3,2];dot.hapli[0,7])
(primary.oligon[0,0])
(primary.oligon[0,0];psiphiston[1,-4])
(primary.hyporrhoe[0,0];gorgon.mono-gorgon[-2,2])
(primary.oligon[0,0];klasma[-3,2])
(primary.petasti[0,-1];ison[-2,2])
(primary.apostrophos[0,0])
(primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2])
(primary.ison[0,1];bareia[-9,-3])
(primary.apostrophos[0,0];dot.hapli[8,0])
(primary.oligon[0,0])
(primary.oligon[0,0];kendima[-3,2];gorgon.mono-gorgon[-4,4];kendima[-2,1];primary.baseline.ison[-6,2])
(primary.apostrophos[0,-1])
(primary.apostrophos[0,-1])
(primary.elaphron[0,-1])
(primary.oligon[0,0];antikenoma[0,-4];gorgon.mono-gorgon[-6,2])
(primary.apostrophos[0,-1])
(primary.ison[0,0];klasma[-2,2])
(martyria.diatonic-delta[0,-8];letter.small.zo[-1,-3])
(primary.ison[0,-1])
(primary.oligon[0,-1];klasma[-3,2];kendima[2,-1])
(primary.oligon[0,0];kendima[-3,1])
(primary.apostrophos[0,-1])
(primary.oligon[0,0];klasma[-2,2])
(primary.oligon[0,0])
(primary.oligon[0,0];klasma[-3,2];kendima[-2,-3];kendima[0,-3])
(primary.ison[0,0];bareia[-9,-3])
(primary.apostrophos[0,0])
(primary.oligon[0,0];klasma[-3,3])
(martyria.diatonic-na[0,-7];letter.small.zo[0,-3])
(martyria.diatonic-na[0,-7];letter.tonos[0,-2])
(primary.elaphron[0,0];primary.apostrophos[-2,-1])
(primary.oligon[0,0];klasma[-3,3])
(primary.oligon[0,0];kendima[-3,2];kendima[-1,2])
(primary.apostrophos[0,0])
(primary.apostrophos[0,0];dot.hapli[5,4])
(primary.elaphron[0,-1];dot.hapli[-2,3])
(primary.oligon[0,-1];kendima[-5,2];gorgon.mono-gorgon[-5,4];kendima[-2,1])
(primary.apostrophos[0,-1])
(primary.oligon[0,-1];klasma[-3,2];dot.hapli[-5,-3];kendima[2,-1];gorgon.mono-gorgon[0,-3];kendima[4,-1])
(primary.oligon[0,0];psiphiston[-1,-4];kendima[-6,1];kendima[-4,2])
(primary.apostrophos[0,-1])
(primary.apostrophos[0,-1];dot.hapli[-3,-1])
(primary.petasti[0,-1];klasma[-3,-2];primary.apostrophos[-3,1])
(primary.hyporrhoe[0,0];gorgon.mono-gorgon[-3,2];kendima[2,0];gorgon.mono-gorgon[0,-3];kendima[3,0];hypsili[19,-1];kendima[9,2];gorgon.mono-gorgon[8,4];kendima[11,2];dot.hapli[-1,-2])
(primary.oligon[0,0];klasma[-2,3])
(martyria.diatonic-delta[0,-8];dot.hapli[-1,-5])
(martyria.diatonic-delta[0,-4])
(primary.apostrophos[0,0];bareia[-5,0])
(primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2])
(primary.ison[0,0];bareia[-9,-3])
(primary.apostrophos[0,0];gorgon.mono-gorgon[-3,2])
(primary.oligon[0,0];dot.hapli[-6,2])
(primary.oligon[0,0];dot.hapli[-10,2];kendima[-3,2];gorgon.mono-gorgon[-3,4];kendima[-1,2];primary.baseline.oligon[-5,2])
(primary.apostrophos[0,0])
(primary.apostrophos[0,-1])
(primary.elaphron[0,-1])
(primary.oligon[0,0];antikenoma[0,-3];gorgon.mono-gorgon[-5,2])
(primary.apostrophos[0,-1])
(primary.ison[0,0];klasma[-3,2];dot.hapli[-1,0];dot.hapli[96,-19];letter.tonos[97,-17];dot.hapli[97,-25];dot.hapli[98,-19];dot.hapli[98,-18];dot.hapli[99,-21];gorgon.mono-gorgon[99,-24];dot.hapli[98,-24])
Attachments
Last edited: