diff --git a/docs/_build/doctrees/code/align/aligner.doctree b/docs/_build/doctrees/code/align/aligner.doctree index ded4974..620bfcd 100644 Binary files a/docs/_build/doctrees/code/align/aligner.doctree and b/docs/_build/doctrees/code/align/aligner.doctree differ diff --git a/docs/_build/doctrees/code/align/index.doctree b/docs/_build/doctrees/code/align/index.doctree index ddd58e9..1059d1a 100644 Binary files a/docs/_build/doctrees/code/align/index.doctree and b/docs/_build/doctrees/code/align/index.doctree differ diff --git a/docs/_build/doctrees/code/align/transcriptprocessor.doctree b/docs/_build/doctrees/code/align/transcriptprocessor.doctree index ff40422..a6d4ec8 100644 Binary files a/docs/_build/doctrees/code/align/transcriptprocessor.doctree and b/docs/_build/doctrees/code/align/transcriptprocessor.doctree differ diff --git a/docs/_build/doctrees/code/cmudictionary.doctree b/docs/_build/doctrees/code/cmudictionary.doctree index 3626de3..bcb2761 100644 Binary files a/docs/_build/doctrees/code/cmudictionary.doctree and b/docs/_build/doctrees/code/cmudictionary.doctree differ diff --git a/docs/_build/doctrees/code/extract/esps.doctree b/docs/_build/doctrees/code/extract/esps.doctree index 143f21e..9e79d8d 100644 Binary files a/docs/_build/doctrees/code/extract/esps.doctree and b/docs/_build/doctrees/code/extract/esps.doctree differ diff --git a/docs/_build/doctrees/code/extract/index.doctree b/docs/_build/doctrees/code/extract/index.doctree index 9ee6adb..e5e1e9b 100644 Binary files a/docs/_build/doctrees/code/extract/index.doctree and b/docs/_build/doctrees/code/extract/index.doctree differ diff --git a/docs/_build/doctrees/code/extract/mahalanobis.doctree b/docs/_build/doctrees/code/extract/mahalanobis.doctree index df587e4..8248064 100644 Binary files a/docs/_build/doctrees/code/extract/mahalanobis.doctree and b/docs/_build/doctrees/code/extract/mahalanobis.doctree differ diff --git a/docs/_build/doctrees/code/extract/plotnik.doctree b/docs/_build/doctrees/code/extract/plotnik.doctree index 9a94e25..1b6091f 100644 Binary files a/docs/_build/doctrees/code/extract/plotnik.doctree and b/docs/_build/doctrees/code/extract/plotnik.doctree differ diff --git a/docs/_build/doctrees/code/extract/remeasure.doctree b/docs/_build/doctrees/code/extract/remeasure.doctree index 078898a..6c6555d 100644 Binary files a/docs/_build/doctrees/code/extract/remeasure.doctree and b/docs/_build/doctrees/code/extract/remeasure.doctree differ diff --git a/docs/_build/doctrees/code/extract/vowel.doctree b/docs/_build/doctrees/code/extract/vowel.doctree index 822634a..ef560dc 100644 Binary files a/docs/_build/doctrees/code/extract/vowel.doctree and b/docs/_build/doctrees/code/extract/vowel.doctree differ diff --git a/docs/_build/doctrees/code/praat.doctree b/docs/_build/doctrees/code/praat.doctree index 4f395d6..edb43bb 100644 Binary files a/docs/_build/doctrees/code/praat.doctree and b/docs/_build/doctrees/code/praat.doctree differ diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle index 01777a2..7cd920e 100644 Binary files a/docs/_build/doctrees/environment.pickle and b/docs/_build/doctrees/environment.pickle differ diff --git a/docs/_build/doctrees/index.doctree b/docs/_build/doctrees/index.doctree index 3689e1a..262127d 100644 Binary files a/docs/_build/doctrees/index.doctree and b/docs/_build/doctrees/index.doctree differ diff --git a/docs/_build/doctrees/usage/installation.doctree b/docs/_build/doctrees/usage/installation.doctree index fbb8fda..dc885f5 100644 Binary files a/docs/_build/doctrees/usage/installation.doctree and b/docs/_build/doctrees/usage/installation.doctree differ diff --git a/docs/_build/doctrees/usage/quickstart.doctree b/docs/_build/doctrees/usage/quickstart.doctree index bef0240..2f99b30 100644 Binary files a/docs/_build/doctrees/usage/quickstart.doctree and b/docs/_build/doctrees/usage/quickstart.doctree differ diff --git a/docs/_build/html/.buildinfo b/docs/_build/html/.buildinfo index 8247159..9ea5fc0 100644 --- a/docs/_build/html/.buildinfo +++ b/docs/_build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: a9e501948c645bf032c7e86e32c92cb5 +config: 8745e4e4f0df8712ab397deb6ddc5d88 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_build/html/_static/documentation_options.js b/docs/_build/html/_static/documentation_options.js index 15926ec..08d1bf6 100644 --- a/docs/_build/html/_static/documentation_options.js +++ b/docs/_build/html/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '2.0.1', + VERSION: '2.0.2-dev', LANGUAGE: 'None', COLLAPSE_INDEX: false, BUILDER: 'html', @@ -11,4 +11,4 @@ var DOCUMENTATION_OPTIONS = { NAVIGATION_WITH_KEYS: false, SHOW_SEARCH_SUMMARY: true, ENABLE_SEARCH_SHORTCUTS: true, -}; \ No newline at end of file +}; diff --git a/docs/_build/html/code/align/aligner.html b/docs/_build/html/code/align/aligner.html index 1209fc3..291a5b6 100644 --- a/docs/_build/html/code/align/aligner.html +++ b/docs/_build/html/code/align/aligner.html @@ -6,7 +6,7 @@ - FAVE Aligner module — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + FAVE Aligner module — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -40,7 +40,7 @@

Navigation

  • previous |
  • - + @@ -128,7 +128,7 @@

    Next topic

    This Page

    @@ -161,7 +161,7 @@

    Navigation

  • previous |
  • - + @@ -172,4 +172,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/code/align/index.html b/docs/_build/html/code/align/index.html index 07f2492..c7c0ef1 100644 --- a/docs/_build/html/code/align/index.html +++ b/docs/_build/html/code/align/index.html @@ -6,7 +6,7 @@ - FAVE Align module — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + FAVE Align module — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -40,7 +40,7 @@

    Navigation

  • previous |
  • - + @@ -83,7 +83,7 @@

    Next topic

    This Page

    @@ -116,7 +116,7 @@

    Navigation

  • previous |
  • - + @@ -126,4 +126,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/code/align/transcriptprocessor.html b/docs/_build/html/code/align/transcriptprocessor.html index 946c001..a11e8a7 100644 --- a/docs/_build/html/code/align/transcriptprocessor.html +++ b/docs/_build/html/code/align/transcriptprocessor.html @@ -6,7 +6,7 @@ - FAVE TranscriptProcessor module — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + FAVE TranscriptProcessor module — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -40,7 +40,7 @@

    Navigation

  • previous |
  • - + @@ -124,7 +124,7 @@

    Next topic

    This Page

    @@ -157,7 +157,7 @@

    Navigation

  • previous |
  • - + @@ -168,4 +168,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/code/cmudictionary.html b/docs/_build/html/code/cmudictionary.html index 50d5ce7..7ee3a49 100644 --- a/docs/_build/html/code/cmudictionary.html +++ b/docs/_build/html/code/cmudictionary.html @@ -6,7 +6,7 @@ - FAVE CMU Dictionary module — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + FAVE CMU Dictionary module — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -40,7 +40,7 @@

    Navigation

  • previous |
  • - + @@ -154,7 +154,7 @@

    Next topic

    This Page

    @@ -187,7 +187,7 @@

    Navigation

  • previous |
  • - + @@ -197,4 +197,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/code/extract/esps.html b/docs/_build/html/code/extract/esps.html index cd8b34c..496ceea 100644 --- a/docs/_build/html/code/extract/esps.html +++ b/docs/_build/html/code/extract/esps.html @@ -6,7 +6,7 @@ - FAVE esps module — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + FAVE esps module — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -40,7 +40,7 @@

    Navigation

  • previous |
  • - + @@ -82,7 +82,7 @@

    Next topic

    This Page

    @@ -115,7 +115,7 @@

    Navigation

  • previous |
  • - + @@ -126,4 +126,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/code/extract/index.html b/docs/_build/html/code/extract/index.html index 0e4ea99..56667e7 100644 --- a/docs/_build/html/code/extract/index.html +++ b/docs/_build/html/code/extract/index.html @@ -6,7 +6,7 @@ - FAVE Extract module — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + FAVE Extract module — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -40,7 +40,7 @@

    Navigation

  • previous |
  • - + @@ -86,7 +86,7 @@

    Next topic

    This Page

    @@ -119,7 +119,7 @@

    Navigation

  • previous |
  • - + @@ -129,4 +129,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/code/extract/mahalanobis.html b/docs/_build/html/code/extract/mahalanobis.html index b858670..9d61f78 100644 --- a/docs/_build/html/code/extract/mahalanobis.html +++ b/docs/_build/html/code/extract/mahalanobis.html @@ -6,7 +6,7 @@ - FAVE Mahalanobis module — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + FAVE Mahalanobis module — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -40,7 +40,7 @@

    Navigation

  • previous |
  • - + @@ -105,7 +105,7 @@

    Next topic

    This Page

    @@ -138,7 +138,7 @@

    Navigation

  • previous |
  • - + @@ -149,4 +149,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/code/extract/plotnik.html b/docs/_build/html/code/extract/plotnik.html index 4f3bae9..a9ac269 100644 --- a/docs/_build/html/code/extract/plotnik.html +++ b/docs/_build/html/code/extract/plotnik.html @@ -6,7 +6,7 @@ - FAVE Plotnik module — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + FAVE Plotnik module — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -40,7 +40,7 @@

    Navigation

  • previous |
  • - + @@ -186,6 +186,12 @@

    Navigation

    translates numerical following sequence code to a readable code.

    +
    +
    +fave.extract.plotnik.plt_ipa(cd)
    +

    translates numerical vowel class code to ipa-like.

    +
    +
    fave.extract.plotnik.plt_manner(fm)
    @@ -274,7 +280,7 @@

    Next topic

    This Page

    @@ -307,7 +313,7 @@

    Navigation

  • previous |
  • - + @@ -318,4 +324,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/code/extract/remeasure.html b/docs/_build/html/code/extract/remeasure.html index f78cef4..d46723e 100644 --- a/docs/_build/html/code/extract/remeasure.html +++ b/docs/_build/html/code/extract/remeasure.html @@ -6,7 +6,7 @@ - FAVE Remeasure module — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + FAVE Remeasure module — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -40,7 +40,7 @@

    Navigation

  • previous |
  • - + @@ -126,7 +126,7 @@

    Next topic

    This Page

    @@ -159,7 +159,7 @@

    Navigation

  • previous |
  • - + @@ -170,4 +170,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/code/extract/vowel.html b/docs/_build/html/code/extract/vowel.html index bb368bb..aa394b7 100644 --- a/docs/_build/html/code/extract/vowel.html +++ b/docs/_build/html/code/extract/vowel.html @@ -6,7 +6,7 @@ - FAVE Vowel module — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + FAVE Vowel module — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -40,7 +40,7 @@

    Navigation

  • previous |
  • - + @@ -100,7 +100,7 @@

    Next topic

    This Page

    @@ -133,7 +133,7 @@

    Navigation

  • previous |
  • - + @@ -144,4 +144,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/code/praat.html b/docs/_build/html/code/praat.html index add1d09..a6cef48 100644 --- a/docs/_build/html/code/praat.html +++ b/docs/_build/html/code/praat.html @@ -6,7 +6,7 @@ - FAVE Praat module — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + FAVE Praat module — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -36,7 +36,7 @@

    Navigation

  • previous |
  • - + @@ -216,7 +216,7 @@

    Previous topic

    This Page

    @@ -246,7 +246,7 @@

    Navigation

  • previous |
  • - + @@ -256,4 +256,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/genindex.html b/docs/_build/html/genindex.html index 1646dc5..87978b1 100644 --- a/docs/_build/html/genindex.html +++ b/docs/_build/html/genindex.html @@ -5,7 +5,7 @@ - Index — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + Index — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -31,7 +31,7 @@

    Navigation

  • modules |
  • - + @@ -345,6 +345,8 @@

    P

  • Phone (class in fave.cmudictionary)
  • plt_folseq() (in module fave.extract.plotnik) +
  • +
  • plt_ipa() (in module fave.extract.plotnik)
  • plt_manner() (in module fave.extract.plotnik)
  • @@ -353,11 +355,11 @@

    P

  • plt_preseg() (in module fave.extract.plotnik)
  • plt_voice() (in module fave.extract.plotnik) -
  • -
  • plt_vowels() (in module fave.extract.plotnik)
  • @@ -527,4 +529,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/index.html b/docs/_build/html/index.html index 35dc555..8789259 100644 --- a/docs/_build/html/index.html +++ b/docs/_build/html/index.html @@ -6,7 +6,7 @@ - Forced Alignment and Vowel Extraction (FAVE) — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + Forced Alignment and Vowel Extraction (FAVE) — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -36,7 +36,7 @@

    Navigation

  • next |
  • - + @@ -51,35 +51,78 @@

    Forced Alignment and Vowel Extraction (FAVE)

    Warning

    -

    If you have used FAVE before, please read What’s new in version 2 to familiarize yourself with the differences between the current and legacy versions of FAVE.

    +

    If you have used FAVE before, please read +usage/whats-new to familiarize yourself +with the differences between the current and legacy versions of FAVE.

    Guides and documentation

    +
    +

    For Users

    +
    +
    +

    For Developers

    + +
    -
    -

    Indices

    -
    @@ -94,8 +137,11 @@

    IndicesTable of Contents

    @@ -109,7 +155,7 @@

    Next topic

    This Page

    @@ -139,7 +185,7 @@

    Navigation

  • next |
  • - + @@ -148,4 +194,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/objects.inv b/docs/_build/html/objects.inv index b3d785a..eccd2f5 100644 Binary files a/docs/_build/html/objects.inv and b/docs/_build/html/objects.inv differ diff --git a/docs/_build/html/py-modindex.html b/docs/_build/html/py-modindex.html index 2d974d3..c214d1f 100644 --- a/docs/_build/html/py-modindex.html +++ b/docs/_build/html/py-modindex.html @@ -5,7 +5,7 @@ - Python Module Index — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + Python Module Index — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -138,7 +138,7 @@

    Navigation

  • modules |
  • - + @@ -147,4 +147,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/search.html b/docs/_build/html/search.html index 8c88e1e..ab21980 100644 --- a/docs/_build/html/search.html +++ b/docs/_build/html/search.html @@ -5,7 +5,7 @@ - Search — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + Search — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - + @@ -97,7 +97,7 @@

    Navigation

  • modules |
  • - + @@ -106,4 +106,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js index 59a840e..a2bc425 100644 --- a/docs/_build/html/searchindex.js +++ b/docs/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["code/align/aligner","code/align/index","code/align/transcriptprocessor","code/cmudictionary","code/extract/esps","code/extract/index","code/extract/mahalanobis","code/extract/plotnik","code/extract/remeasure","code/extract/vowel","code/index","code/praat","index","usage/index","usage/installation","usage/quickstart","usage/whats-new"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["code/align/aligner.rst","code/align/index.rst","code/align/transcriptprocessor.rst","code/cmudictionary.rst","code/extract/esps.rst","code/extract/index.rst","code/extract/mahalanobis.rst","code/extract/plotnik.rst","code/extract/remeasure.rst","code/extract/vowel.rst","code/index.rst","code/praat.rst","index.rst","usage/index.rst","usage/installation.rst","usage/quickstart.rst","usage/whats-new.rst"],objects:{"fave.align":[[0,0,0,"-","aligner"],[2,0,0,"-","transcriptprocessor"]],"fave.align.aligner":[[0,1,1,"","Aligner"]],"fave.align.aligner.Aligner":[[0,2,1,"","align"],[0,2,1,"","check_against_dictionary"],[0,2,1,"","check_transcript"],[0,2,1,"","get_duration"],[0,2,1,"","merge_textgrids"],[0,2,1,"","process_style_tier"],[0,2,1,"","read_transcript"]],"fave.align.transcriptprocessor":[[2,1,1,"","TranscriptProcessor"]],"fave.align.transcriptprocessor.TranscriptProcessor":[[2,2,1,"","check_dictionary_entries"],[2,2,1,"","check_transcription_file"],[2,2,1,"","check_transcription_format"],[2,2,1,"","preprocess_transcription"],[2,2,1,"","read_transcription_file"],[2,2,1,"","replace_smart_quotes"]],"fave.cmudictionary":[[3,1,1,"","CMU_Dictionary"],[3,1,1,"","Phone"],[3,3,1,"","read_dict"],[3,3,1,"","read_phoneset"]],"fave.cmudictionary.CMU_Dictionary":[[3,2,1,"","add_dictionary_entries"],[3,2,1,"","check_phone"],[3,2,1,"","check_transcription"],[3,2,1,"","check_word"],[3,2,1,"","merge_dicts"],[3,2,1,"","read"],[3,2,1,"","write_dict"],[3,2,1,"","write_unknown_words"]],"fave.extract":[[4,0,0,"-","esps"],[6,0,0,"-","mahalanobis"],[7,0,0,"-","plotnik"],[8,0,0,"-","remeasure"],[9,0,0,"-","vowel"]],"fave.extract.esps":[[4,3,1,"","rmFormantFiles"]],"fave.extract.mahalanobis":[[6,3,1,"","mahalanobis"]],"fave.extract.plotnik":[[7,1,1,"","PltFile"],[7,1,1,"","VowelMeasurement"],[7,3,1,"","arpabet2plotnik"],[7,3,1,"","cmu2plotnik_code"],[7,3,1,"","convertDur"],[7,3,1,"","convertStress"],[7,3,1,"","get_age"],[7,3,1,"","get_city"],[7,3,1,"","get_first_name"],[7,3,1,"","get_last_name"],[7,3,1,"","get_n"],[7,3,1,"","get_n_foll_c"],[7,3,1,"","get_n_foll_syl"],[7,3,1,"","get_s"],[7,3,1,"","get_sex"],[7,3,1,"","get_state"],[7,3,1,"","get_stressed_v"],[7,3,1,"","get_ts"],[7,3,1,"","is_v"],[7,3,1,"","outputPlotnikFile"],[7,3,1,"","phila_system"],[7,3,1,"","plt_folseq"],[7,3,1,"","plt_manner"],[7,3,1,"","plt_place"],[7,3,1,"","plt_preseg"],[7,3,1,"","plt_voice"],[7,3,1,"","plt_vowels"],[7,3,1,"","process_measurement_line"],[7,3,1,"","process_plt_file"],[7,3,1,"","split_stress_digit"],[7,3,1,"","style2plotnik"],[7,3,1,"","word2fname"],[7,3,1,"","word2trans"]],"fave.extract.remeasure":[[8,1,1,"","VowelMeasurement"],[8,3,1,"","calculateVowelMeans"],[8,3,1,"","createVowelDictionary"],[8,3,1,"","excludeOutliers"],[8,3,1,"","loadfile"],[8,3,1,"","output"],[8,3,1,"","pruneVowels"],[8,3,1,"","repredictF1F2"]],"fave.extract.vowel":[[9,3,1,"","isDiphthong"],[9,3,1,"","isIngliding"],[9,3,1,"","isShort"],[9,3,1,"","isUpgliding"]],"fave.praat":[[11,1,1,"","Formant"],[11,1,1,"","Intensity"],[11,1,1,"","Interval"],[11,1,1,"","IntervalTier"],[11,1,1,"","LPC"],[11,1,1,"","MFCC"],[11,1,1,"","Point"],[11,1,1,"","PointTier"],[11,1,1,"","TextGrid"]],"fave.praat.Formant":[[11,2,1,"","bandwidths"],[11,2,1,"","formants"],[11,2,1,"","intensities"],[11,2,1,"","n"],[11,2,1,"","read"],[11,2,1,"","times"],[11,2,1,"","xmax"],[11,2,1,"","xmin"]],"fave.praat.Intensity":[[11,2,1,"","read"]],"fave.praat.IntervalTier":[[11,2,1,"","rename"],[11,2,1,"","sort_intervals"],[11,2,1,"","tidyup"]],"fave.praat.LPC":[[11,2,1,"","read"]],"fave.praat.MFCC":[[11,2,1,"","read"]],"fave.praat.TextGrid":[[11,2,1,"","read"],[11,2,1,"","write"]],fave:[[3,0,0,"-","cmudictionary"],[11,0,0,"-","praat"]]},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function"},terms:{"0":[6,7,11,12,13,16],"1":[6,16],"10":16,"12":16,"14":16,"1d":6,"2":[12,13],"2000":16,"2006":16,"2008":16,"2014":16,"2015":16,"2020":16,"2022":16,"3":[7,16],"4":16,"5":[2,6,16],"7":16,"8":[7,16],"9":16,"break":16,"case":[6,7],"class":[0,1,2,3,5,7,8,11],"default":[11,15],"do":16,"final":7,"function":[0,2,3,5],"import":[6,15,16],"long":[11,16],"new":[3,11,12,13,15],"return":[2,3,7,8,11],"short":[9,11],"static":[2,3],"true":[6,9],"try":16,A:6,As:16,For:16,If:[2,10,12,14,16],In:16,It:[0,1,5,8,16],The:[0,1,5,13],These:16,To:16,_:6,_ic_:6,_u_:6,_v_:6,abil:16,abov:16,ac:7,accord:[8,11,15],account:16,accumul:16,acoust:5,add:[0,2,3,7,16],add_dictionary_entri:3,addit:3,ae:9,after:16,ag:[7,16],again:16,against:6,ah:9,align:[2,5,10,13,14,15],all:[0,2,4,16],all_input:2,allow:[0,3,16],alreadi:[14,16],also:16,alwai:16,among:16,an:[2,6,8,11],ani:[3,16],announc:16,api:16,appli:16,ar:[6,8,10,14,16],area:16,arg:2,argument:16,arpabet2plotnik:7,arpabet:[2,3,7],arrai:[6,8],ask:13,assign:[3,11],assum:16,attempt:16,audio:[5,15],audiofil:[15,16],august:16,author:3,autom:0,avail:[14,16],avoid:16,aw:9,ay:9,b1:8,b3:8,bandaid:16,bandwidth:11,base:[8,16],batch:16,becaus:16,becom:6,befor:[12,14,16],began:16,begin:15,behavior:16,being:16,best:16,between:[0,6,11,12],brickhous:16,bug:[14,16],build:16,built:16,c:16,calcul:8,calculatevowelmean:8,came:16,can:[11,14,16],categori:8,caus:16,cd:7,cepstral:11,chang:16,charact:7,check:[0,2,3,6,7,9,15],check_against_dictionari:0,check_dictionary_entri:2,check_phon:3,check_transcript:[0,3],check_transcription_fil:2,check_transcription_format:2,check_word:3,christian:16,chunkname_textgrid:0,citi:7,cmu2plotnik_cod:7,cmu:[2,7],cmu_dictionari:3,cmudictionari:[3,10,12],coda:7,code:[7,11,16],coeffici:11,come:16,command:16,comment:7,compat:16,complet:16,complex:16,comput:[6,14],configur:16,conform:3,conson:7,contain:[0,1,5,13,16],content:[0,7],continu:16,contour:11,contribut:[10,14],convert:7,convertdur:7,convertstress:7,coordin:0,correct:2,correspond:7,could:16,count:7,cov:6,covari:[6,8],creat:[8,15,16],createvoweldictionari:8,current:[12,16],custom:16,custom_dictionari:[15,16],customiz:16,d1:3,d2:3,data:[2,7,13,15],date:16,debian:14,debt:16,defin:6,delet:[2,4],delimit:2,depend:[6,15,16],deprec:16,detail:16,develop:[10,16],dict:[2,3],dictionari:[0,2,7,8,15,16],dictionary_fil:3,differ:[0,12],digit:7,dimens:6,diphthong:9,direct:15,directli:16,distanc:[6,8],distinct:3,distribut:8,document:16,doubl:[7,16],download:[15,16],duct:16,dur:7,durat:[0,7,8],dure:16,e:9,each:[3,8,11,15],easi:[0,16],easier:16,easili:16,either:11,empti:[2,11],end:[10,11,16],enough:8,enter:[3,7],entri:[0,2,3],environment:7,error:16,esp:[5,10],etc:16,euclidean:6,evanini:3,even:16,everi:16,exampl:16,exclud:8,excludeoutli:8,exist:[7,16],exit:2,extend:16,extens:4,extract:[4,6,7,8,9,10,13,14,15],extractform:[8,15],ey:[6,9],f1:[8,11],f2:8,f3:11,f:[3,7],faav:2,faavalign:15,fadir:0,fail:16,familiar:12,fanci:2,fave:10,featur:[3,16],februari:16,feel:14,field:2,file:[0,1,2,3,4,5,7,8,11,16],filenam:[7,11],filestem:4,find:[8,10],first:7,fix:16,flag:16,fm:7,fname:3,folder:16,foll_p:7,follow:[7,16],forc:[2,15,16],formant:[7,11,15,16],format:[2,7,8,11],foundat:16,fp:7,frame:11,free:14,frequenc:11,frequent:13,freuhwald:16,from:[2,3,5,6,7,8,11,16],fs:7,full:16,futur:16,fv:7,gap:11,get:0,get_:7,get_ag:7,get_citi:7,get_dur:0,get_first_nam:7,get_last_nam:7,get_n:7,get_n_foll_c:7,get_n_foll_syl:7,get_sex:7,get_stat:7,get_stressed_v:7,get_t:7,given:[3,4,11],glide:7,go:16,good:16,greater:16,guid:16,h:16,ha:16,had:16,handl:[0,2],hard:16,harder:16,have:[2,12,16],header:7,help:[10,16],higher:16,highli:16,histori:16,hold:16,how:[13,16],htk:14,i:[7,9,16],ic:6,ident:6,identifi:8,improv:16,includ:[7,15,16],incorrect:6,increas:16,index:[3,7,8,12,14],indexerror:3,indic:8,infil:3,inglid:9,input:2,insert:11,instal:[12,13,15],instruct:16,integ:7,intens:11,interact:0,interfac:[0,16],intern:[10,16],interv:11,intervalti:11,introduc:16,inv:6,invers:6,irrespons:16,is_v:7,isdiphthong:9,isinglid:9,isshort:9,isupglid:9,its:[15,16],iy:9,januari:16,josef:16,keelan:3,keep:16,knowledg:16,known:16,kwarg:[0,2,3],label:[3,7],labovian:7,langaug:16,languag:16,larg:16,larger:0,last:7,latest:16,learn:13,least:16,leav:16,left:[8,16],legaci:12,less:16,letter:7,librari:[0,14],licens:16,life:16,like:[10,14,16],limit:7,linalg:6,line:[2,3,7,8,16],linear:11,list:[2,3,8,11,15,16],littl:16,load:[8,16],loadfil:8,locat:16,longer:16,lookup:2,lpc:11,m:[14,16],mac:14,made:16,mahalanobi:[5,8,10],mahalanobis_scipi:6,mai:16,main:0,main_textgrid:0,maintain:16,make:[7,8,16],manag:16,mani:16,manipul:1,manner:7,manual:14,mark:11,matric:8,matrix:6,maximum:11,mean:[6,8,16],measur:[5,7,8,11],mel:11,memori:2,merg:3,merge_dict:3,merge_textgrid:0,mfa:16,mfcc:11,might:[14,16],migrat:16,modif:14,modifi:7,modul:[12,13],moment:14,montral:16,more:[7,10,16],msec:7,multipl:3,n:[6,11],name:[7,11,16],navig:16,need:[14,16],new_textgrid:0,newer:16,newnam:11,next_word:3,none:[0,3,7,11],normal:7,np:6,number:[5,7,11],numer:7,numpi:8,o:9,object:[1,3,7,11],observ:[6,8],obvious:6,octob:16,off:16,often:16,older:16,omit:16,onc:16,one:[7,16],ongo:[14,16],open:15,option:[2,16],order:[14,16],origin:7,other:[0,3,16],out:[7,15,16],outli:8,outlier:8,output:[8,16],outputalign:[15,16],outputfilenam:[15,16],outputplotnikfil:7,over:16,overal:0,ow:9,own:[8,16],oy:9,packag:16,page:12,par:11,param:3,paramet:11,parenthes:7,part:3,particularli:6,patch:16,path:3,pc:7,peopl:16,person:16,phila_system:7,philadelphia:7,phone:[3,7],phonem:3,phoneset:[3,7],phonet:3,pip:[13,16],place:7,pleas:[12,14],plotnik:[5,10],plt:7,plt_folseq:7,plt_manner:7,plt_place:7,plt_preseg:7,plt_voic:7,plt_vowel:7,pltfile:7,point:[0,11],pointtier:11,possibl:16,praat:[10,12,14],praatpath:0,prec_p:7,preced:7,predict:[8,11],preprocess:2,preprocess_transcript:2,present:7,previou:16,problem:16,process:[0,2,16],process_measurement_lin:7,process_plt_fil:7,process_style_ti:0,program:[0,16],programm:[10,16],prompt:2,pronounc:[3,7],pronunci:3,pronunciation_dictionari:2,proper:16,prune:8,prunevowel:8,ps:7,publish:14,py:[0,15],pypi:14,python3:[14,15,16],python:[13,14],question:13,quick:16,quickstart:[12,13],quot:2,rais:3,ran:16,random:6,re:16,reach:16,read:[0,2,3,7,11,12,16],read_dict:3,read_phoneset:3,read_transcript:0,read_transcription_fil:2,readabl:7,readm:16,receiv:16,recommend:16,redefin:7,releas:16,reli:16,remain:16,remeasur:[5,10],renam:11,repai:16,replac:[2,16],replace_smart_quot:2,report:14,repredictf1f2:8,repres:[3,7,8,11],represent:3,requir:[7,13],research:16,restructur:16,review:16,rewrit:16,right:16,risk:16,riski:16,rmformantfil:4,run:16,s:[3,8,12,13],sai:16,same:[3,6],sampl:6,save:11,schedul:16,scipi:6,script:[0,10,15,16],search:12,second:[7,11],section:[10,13,16],secur:16,see:[14,16],segment:7,select:[2,8],semant:16,sensibl:16,sensit:16,separ:7,sequenc:7,seri:11,set:15,sex:7,should:[8,16],similar:16,simpli:16,sinc:16,singl:7,situat:16,size:16,slight:14,slightli:16,small:16,so:16,softwar:[12,13],some:[6,16],sometim:14,soon:16,sooner:16,sort:11,sort_interv:11,sound:16,soundfil:0,sox:14,spatial:6,speaker:[0,7,8],specif:16,specifi:16,split:7,split_stress_digit:7,sqrt:6,stabl:16,start:[11,16],state:7,stem:4,step:16,still:16,straight:2,stress:7,string:3,structur:16,style2plotnik:7,style:[0,3,7],style_ti:0,stylecod:7,subject:7,success:16,sum:6,sunset:16,support:[14,16],sure:[8,16],syllabl:7,syntax:16,system:[14,16],t:6,tab:2,taken:8,tape:16,techinc:16,technic:16,telsur:7,tempdir:0,termin:16,text:11,textgrid:[0,11,15,16],tgfile:0,than:[7,16],thei:14,them:[3,8,16],thi:[6,10,12,13,14,16],thing:16,those:16,through:16,thrown:6,tidyup:11,tier:[0,11],time:[11,16],token:[7,8],top:16,trade:16,tran:7,transcript:[1,2,3,7,11,15,16],transcriptionfil:[15,16],transcriptprocessor:[0,1,10,16],translat:7,transript_fil:2,tri:8,trsfile:0,tsv:[15,16],two:[1,3,6],txt:[3,15,16],type:8,u:[6,9],udnerstand:16,understood:16,uniqu:7,unknown:[2,3,16],unknown_word:[15,16],unlik:16,unstress:7,until:16,updat:13,upglid:9,upper:7,us:[0,6,10,12,13,14],usag:[10,16],user:[0,2,3,10,12,14,16],uw:9,v2:16,v3:16,v:[6,9],vagu:16,valu:[7,11],valueerror:6,vector:6,version:[3,12,13],voic:7,vowel:[5,7,8,10],vowelcov:8,vowelmean:8,vowelmeasur:[7,8],vowelsystem:7,vulner:16,wai:[0,16],want:10,wav:[15,16],wavfil:[0,2],we:16,websit:[12,16],were:16,what:[12,13],when:[6,16],where:[6,16],whether:[3,7,9],which:[8,16],who:[10,16],wide:16,word2fnam:7,word2tran:7,word:[2,3,7,15,16],work:[3,14],workflow:16,would:[10,14,16],wrapper:2,write:[2,3,7,8,11],write_dict:3,write_unknown_word:3,written:16,x:8,xmax:11,xmin:11,xrang:6,xxxxx:7,year:16,you:[10,12,14,16],your:[10,14,15],yourself:12},titles:["FAVE Aligner module","FAVE Align module","FAVE TranscriptProcessor module","FAVE CMU Dictionary module","FAVE esps module","FAVE Extract module","FAVE Mahalanobis module","FAVE Plotnik module","FAVE Remeasure module","FAVE Vowel module","Module documentation","FAVE Praat module","Forced Alignment and Vowel Extraction (FAVE)","FAVE User Guides","Installing FAVE 2","Quickstart guide to using FAVE 2.0","What\u2019s new in version 2"],titleterms:{"0":15,"2":[14,15,16],"new":16,The:16,align:[0,1,12,16],ask:16,check:16,cmu:3,content:16,data:16,dictionari:3,differ:16,document:[10,12],doe:16,esp:4,extract:[5,12,16],extractform:16,faavalign:16,fave:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16],forc:12,frequent:16,get:16,guid:[12,13,15],indic:12,instal:[14,16],mahalanobi:6,manag:14,modul:[0,1,2,3,4,5,6,7,8,9,10,11,16],old:16,other:14,packag:14,pip:14,plotnik:7,praat:11,py:16,python:16,question:16,quickstart:15,remeasur:8,requir:14,s:16,softwar:[14,16],transcriptprocessor:2,updat:16,us:[15,16],user:13,version:16,vowel:[9,12,16],wa:16,what:16,why:16,work:16,wrong:16,your:16}}) \ No newline at end of file +Search.setIndex({docnames:["code/align/aligner","code/align/index","code/align/transcriptprocessor","code/cmudictionary","code/extract/esps","code/extract/index","code/extract/mahalanobis","code/extract/plotnik","code/extract/remeasure","code/extract/vowel","code/index","code/praat","index","usage/cli_startup/cli_setup","usage/index","usage/installation","usage/quickstart","usage/whats-new"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["code/align/aligner.md","code/align/index.md","code/align/transcriptprocessor.md","code/cmudictionary.md","code/extract/esps.md","code/extract/index.md","code/extract/mahalanobis.md","code/extract/plotnik.md","code/extract/remeasure.md","code/extract/vowel.md","code/index.md","code/praat.md","index.md","usage/cli_startup/cli_setup.md","usage/index.md","usage/installation.md","usage/quickstart.md","usage/whats-new.md"],objects:{"fave.align":[[0,0,0,"-","aligner"],[2,0,0,"-","transcriptprocessor"]],"fave.align.aligner":[[0,1,1,"","Aligner"]],"fave.align.aligner.Aligner":[[0,2,1,"","align"],[0,2,1,"","check_against_dictionary"],[0,2,1,"","check_transcript"],[0,2,1,"","get_duration"],[0,2,1,"","merge_textgrids"],[0,2,1,"","process_style_tier"],[0,2,1,"","read_transcript"]],"fave.align.transcriptprocessor":[[2,1,1,"","TranscriptProcessor"]],"fave.align.transcriptprocessor.TranscriptProcessor":[[2,2,1,"","check_dictionary_entries"],[2,2,1,"","check_transcription_file"],[2,2,1,"","check_transcription_format"],[2,2,1,"","preprocess_transcription"],[2,2,1,"","read_transcription_file"],[2,2,1,"","replace_smart_quotes"]],"fave.cmudictionary":[[3,1,1,"","CMU_Dictionary"],[3,1,1,"","Phone"],[3,3,1,"","read_dict"],[3,3,1,"","read_phoneset"]],"fave.cmudictionary.CMU_Dictionary":[[3,2,1,"","add_dictionary_entries"],[3,2,1,"","check_phone"],[3,2,1,"","check_transcription"],[3,2,1,"","check_word"],[3,2,1,"","merge_dicts"],[3,2,1,"","read"],[3,2,1,"","write_dict"],[3,2,1,"","write_unknown_words"]],"fave.extract":[[4,0,0,"-","esps"],[6,0,0,"-","mahalanobis"],[7,0,0,"-","plotnik"],[8,0,0,"-","remeasure"],[9,0,0,"-","vowel"]],"fave.extract.esps":[[4,3,1,"","rmFormantFiles"]],"fave.extract.mahalanobis":[[6,3,1,"","mahalanobis"]],"fave.extract.plotnik":[[7,1,1,"","PltFile"],[7,1,1,"","VowelMeasurement"],[7,3,1,"","arpabet2plotnik"],[7,3,1,"","cmu2plotnik_code"],[7,3,1,"","convertDur"],[7,3,1,"","convertStress"],[7,3,1,"","get_age"],[7,3,1,"","get_city"],[7,3,1,"","get_first_name"],[7,3,1,"","get_last_name"],[7,3,1,"","get_n"],[7,3,1,"","get_n_foll_c"],[7,3,1,"","get_n_foll_syl"],[7,3,1,"","get_s"],[7,3,1,"","get_sex"],[7,3,1,"","get_state"],[7,3,1,"","get_stressed_v"],[7,3,1,"","get_ts"],[7,3,1,"","is_v"],[7,3,1,"","outputPlotnikFile"],[7,3,1,"","phila_system"],[7,3,1,"","plt_folseq"],[7,3,1,"","plt_ipa"],[7,3,1,"","plt_manner"],[7,3,1,"","plt_place"],[7,3,1,"","plt_preseg"],[7,3,1,"","plt_voice"],[7,3,1,"","plt_vowels"],[7,3,1,"","process_measurement_line"],[7,3,1,"","process_plt_file"],[7,3,1,"","split_stress_digit"],[7,3,1,"","style2plotnik"],[7,3,1,"","word2fname"],[7,3,1,"","word2trans"]],"fave.extract.remeasure":[[8,1,1,"","VowelMeasurement"],[8,3,1,"","calculateVowelMeans"],[8,3,1,"","createVowelDictionary"],[8,3,1,"","excludeOutliers"],[8,3,1,"","loadfile"],[8,3,1,"","output"],[8,3,1,"","pruneVowels"],[8,3,1,"","repredictF1F2"]],"fave.extract.vowel":[[9,3,1,"","isDiphthong"],[9,3,1,"","isIngliding"],[9,3,1,"","isShort"],[9,3,1,"","isUpgliding"]],"fave.praat":[[11,1,1,"","Formant"],[11,1,1,"","Intensity"],[11,1,1,"","Interval"],[11,1,1,"","IntervalTier"],[11,1,1,"","LPC"],[11,1,1,"","MFCC"],[11,1,1,"","Point"],[11,1,1,"","PointTier"],[11,1,1,"","TextGrid"]],"fave.praat.Formant":[[11,2,1,"","bandwidths"],[11,2,1,"","formants"],[11,2,1,"","intensities"],[11,2,1,"","n"],[11,2,1,"","read"],[11,2,1,"","times"],[11,2,1,"","xmax"],[11,2,1,"","xmin"]],"fave.praat.Intensity":[[11,2,1,"","read"]],"fave.praat.IntervalTier":[[11,2,1,"","rename"],[11,2,1,"","sort_intervals"],[11,2,1,"","tidyup"]],"fave.praat.LPC":[[11,2,1,"","read"]],"fave.praat.MFCC":[[11,2,1,"","read"]],"fave.praat.TextGrid":[[11,2,1,"","read"],[11,2,1,"","write"]],fave:[[3,0,0,"-","cmudictionary"],[11,0,0,"-","praat"]]},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function"},terms:{"0":[6,7,11,12,14,17],"1":[6,17],"10":17,"12":17,"14":17,"1d":6,"2":[12,14],"2000":17,"2006":17,"2008":17,"2014":17,"2015":17,"2020":17,"2022":17,"3":[7,17],"4":17,"5":[2,6,17],"7":17,"8":[7,17],"9":17,"break":17,"case":[6,7],"class":[0,1,2,3,5,7,8,11],"default":[11,16],"do":17,"final":7,"function":[0,2,3,5],"import":[6,16,17],"long":[11,17],"new":[3,11,12,14,16],"return":[2,3,7,8,11],"short":[9,11],"static":[2,3],"true":[6,9],"try":17,A:6,As:17,For:17,If:[2,10,12,15,17],In:17,It:[0,1,5,8,17],The:[0,1,5,12,14],These:17,To:17,_:6,_ic_:6,_u_:6,_v_:6,abil:17,abov:17,ac:7,accord:[8,11,16],account:17,accumul:17,acoust:5,add:[0,2,3,7,17],add_dictionary_entri:3,addit:3,ae:9,after:17,ag:[7,17],again:17,against:6,ah:9,align:[2,5,10,14,15,16],all:[0,2,4,17],all_input:2,allow:[0,3,17],alreadi:[15,17],also:17,alwai:17,among:17,an:[2,6,8,11],ani:[3,17],announc:17,api:17,appli:17,ar:[6,8,10,15,17],area:17,arg:2,argument:17,arpabet2plotnik:7,arpabet:[2,3,7],arrai:[6,8],ask:[12,14],assign:[3,11],assum:17,attempt:17,audio:[5,16],audiofil:[16,17],august:17,author:3,autom:0,avail:[15,17],avoid:17,aw:9,ay:9,b1:8,b3:8,bandaid:17,bandwidth:11,base:[8,17],batch:17,becaus:17,becom:6,befor:[12,15,17],began:17,begin:16,behavior:17,being:17,best:17,between:[0,6,11,12],brickhous:17,bug:[15,17],build:17,built:17,c:17,calcul:8,calculatevowelmean:8,came:17,can:[11,15,17],categori:8,caus:17,cd:7,cepstral:11,chang:17,charact:7,check:[0,2,3,6,7,9,12,16],check_against_dictionari:0,check_dictionary_entri:2,check_phon:3,check_transcript:[0,3],check_transcription_fil:2,check_transcription_format:2,check_word:3,christian:17,chunkname_textgrid:0,citi:7,cmu2plotnik_cod:7,cmu:[2,7],cmu_dictionari:3,cmudictionari:[3,10,12],coda:7,code:[7,11,17],coeffici:11,come:17,command:17,comment:7,compat:17,complet:17,complex:17,comput:[6,15],configur:17,conform:3,conson:7,contain:[0,1,5,14,17],content:[0,7],continu:17,contour:11,contribut:[10,15],convert:7,convertdur:7,convertstress:7,coordin:0,correct:2,correspond:7,could:17,count:7,cov:6,covari:[6,8],creat:[8,16,17],createvoweldictionari:8,current:[12,17],custom:17,custom_dictionari:[16,17],customiz:17,d1:3,d2:3,data:[2,7,12,14,16],date:17,debian:15,debt:17,defin:6,delet:[2,4],delimit:2,depend:[6,16,17],deprec:17,detail:17,develop:[10,17],dict:[2,3],dictionari:[0,2,7,8,16,17],dictionary_fil:3,differ:[0,12],digit:7,dimens:6,diphthong:9,direct:16,directli:17,distanc:[6,8],distinct:3,distribut:8,doc:[],document:17,doe:12,doubl:[7,17],download:[16,17],duct:17,dur:7,durat:[0,7,8],dure:17,e:9,each:[3,8,11,16],easi:[0,17],easier:17,easili:17,either:11,empti:[2,11],end:[10,11,17],enough:8,enter:[3,7],entri:[0,2,3],environment:7,error:17,esp:[5,10,12],etc:17,euclidean:6,evanini:3,even:17,everi:17,exampl:17,exclud:8,excludeoutli:8,exist:[7,17],exit:2,extend:17,extens:4,extract:[4,6,7,8,9,10,14,15,16],extractform:[8,12,16],ey:[6,9],f1:[8,11],f2:8,f3:11,f:[3,7],faav:2,faavalign:[12,16],fadir:0,fail:17,familiar:12,fanci:2,fave:10,featur:[3,17],februari:17,feel:15,field:2,file:[0,1,2,3,4,5,7,8,11,17],filenam:[7,11],filestem:4,find:[8,10],first:7,fix:17,flag:17,fm:7,fname:3,folder:17,foll_p:7,follow:[7,17],forc:[2,16,17],formant:[7,11,16,17],format:[2,7,8,11],foundat:17,fp:7,frame:11,free:15,frequenc:11,frequent:[12,14],freuhwald:17,from:[2,3,5,6,7,8,11,17],fs:7,full:17,futur:17,fv:7,gap:11,genindex:[],get:[0,12],get_:7,get_ag:7,get_citi:7,get_dur:0,get_first_nam:7,get_last_nam:7,get_n:7,get_n_foll_c:7,get_n_foll_syl:7,get_sex:7,get_stat:7,get_stressed_v:7,get_t:7,given:[3,4,11],glide:7,go:17,good:17,greater:17,guid:17,h:17,ha:17,had:17,handl:[0,2],hard:17,harder:17,have:[2,12,17],header:7,help:[10,17],higher:17,highli:17,histori:17,hold:17,how:[14,17],htk:15,i:[7,9,17],ic:6,ident:6,identifi:8,improv:17,includ:[7,16,17],incorrect:6,increas:17,index:[3,7,8,15],indexerror:3,indic:8,infil:3,inglid:9,input:2,insert:11,instal:[12,14,16],instruct:17,integ:7,intens:11,interact:0,interfac:[0,17],intern:[10,17],interpret:[],interv:11,intervalti:11,introduc:17,inv:6,invers:6,ipa:7,irrespons:17,is_v:7,isdiphthong:9,isinglid:9,isshort:9,isupglid:9,its:[16,17],iy:9,januari:17,josef:17,keelan:3,keep:17,knowledg:17,known:17,kwarg:[0,2,3],label:[3,7],labovian:7,langaug:17,languag:17,larg:17,larger:0,last:7,latest:17,learn:14,least:17,leav:17,left:[8,17],legaci:12,less:17,letter:7,librari:[0,15],licens:17,life:17,like:[7,10,15,17],limit:7,linalg:6,line:[2,3,7,8,17],linear:11,list:[2,3,8,11,16,17],littl:17,load:[8,17],loadfil:8,locat:17,longer:17,lookup:2,lpc:11,m:[15,17],mac:15,made:17,mahalanobi:[5,8,10,12],mahalanobis_scipi:6,mai:17,main:0,main_textgrid:0,maintain:17,make:[7,8,17],manag:[12,17],mani:17,manipul:1,manner:7,manual:15,mark:11,matric:8,matrix:6,maxdepth:[],maximum:11,mean:[6,8,17],measur:[5,7,8,11],mel:11,memori:2,merg:3,merge_dict:3,merge_textgrid:0,mfa:17,mfcc:11,might:[15,17],migrat:17,modif:15,modifi:7,modindex:[],modul:[12,14],moment:15,montral:17,more:[7,10,17],msec:7,multipl:3,n:[6,11],name:[7,11,17],navig:17,need:[15,17],new_textgrid:0,newer:17,newnam:11,next_word:3,none:[0,3,7,11],normal:7,note:[],np:6,number:[5,7,11],numer:7,numpi:8,o:9,object:[1,3,7,11],observ:[6,8],obvious:6,octob:17,off:17,often:17,old:12,older:17,omit:17,onc:17,one:[7,17],ongo:[15,17],open:16,option:[2,17],order:[15,17],origin:7,other:[0,3,12,17],out:[7,16,17],outli:8,outlier:8,output:[8,17],outputalign:[16,17],outputfilenam:[16,17],outputplotnikfil:7,over:17,overal:0,ow:9,own:[8,17],oy:9,packag:[12,17],page:[],par:11,param:3,paramet:11,parenthes:7,part:3,particularli:6,patch:17,path:3,pc:7,peopl:17,person:17,phila_system:7,philadelphia:7,phone:[3,7],phonem:3,phoneset:[3,7],phonet:3,pip:[12,14,17],place:7,pleas:[12,15],plotnik:[5,10,12],plt:7,plt_folseq:7,plt_ipa:7,plt_manner:7,plt_place:7,plt_preseg:7,plt_voic:7,plt_vowel:7,pltfile:7,point:[0,11],pointtier:11,possibl:17,praat:[10,12,15],praatpath:0,prec_p:7,preced:7,predict:[8,11],preprocess:2,preprocess_transcript:2,present:7,previou:17,problem:17,process:[0,2,17],process_measurement_lin:7,process_plt_fil:7,process_style_ti:0,program:[0,17],programm:[10,17],prompt:2,pronounc:[3,7],pronunci:3,pronunciation_dictionari:2,proper:17,prune:8,prunevowel:8,ps:7,publish:15,py:[0,12,16],pypi:15,python3:[15,16,17],python:[12,14,15],question:[12,14],quick:17,quickstart:[12,14],quot:2,rais:3,ran:17,random:6,re:17,reach:17,read:[0,2,3,7,11,12,17],read_dict:3,read_phoneset:3,read_transcript:0,read_transcription_fil:2,readabl:7,readm:17,receiv:17,recommend:17,redefin:7,ref:[],releas:17,reli:17,remain:17,remeasur:[5,10,12],renam:11,repai:17,replac:[2,17],replace_smart_quot:2,report:15,repredictf1f2:8,repres:[3,7,8,11],represent:3,requir:[7,12,14],research:17,restructur:17,review:17,rewrit:17,right:17,risk:17,riski:17,rmformantfil:4,role:[],run:17,s:[3,8,12,14],sai:17,same:[3,6],sampl:6,save:11,schedul:17,scipi:6,script:[0,10,16,17],search:[],second:[7,11],section:[10,14,17],secur:17,see:[15,17],segment:7,select:[2,8],semant:17,sensibl:17,sensit:17,separ:7,sequenc:7,seri:11,set:16,sex:7,should:[8,17],similar:17,simpli:17,sinc:17,singl:7,situat:17,size:17,slight:15,slightli:17,small:17,so:17,softwar:[12,14],some:[6,17],sometim:15,soon:17,sooner:17,sort:11,sort_interv:11,sound:17,soundfil:0,sox:15,spatial:6,speaker:[0,7,8],specif:17,specifi:17,split:7,split_stress_digit:7,sqrt:6,stabl:17,start:[11,17],state:7,stem:4,step:17,still:17,straight:2,stress:7,string:3,structur:17,style2plotnik:7,style:[0,3,7],style_ti:0,stylecod:7,subject:7,success:17,sum:6,sunset:17,support:[15,17],sure:[8,17],syllabl:7,syntax:17,system:[15,17],t:6,tab:2,taken:8,tape:17,techinc:17,technic:17,telsur:7,tempdir:0,termin:17,text:11,textgrid:[0,11,16,17],tgfile:0,than:[7,17],thei:15,them:[3,8,17],thi:[6,10,12,14,15,17],thing:17,those:17,through:17,thrown:6,tidyup:11,tier:[0,11],time:[11,17],titl:[],toctre:[],token:[7,8],top:17,trade:17,tran:7,transcript:[1,2,3,7,11,16,17],transcriptionfil:[16,17],transcriptprocessor:[0,1,10,12,17],translat:7,transript_fil:2,tri:8,trsfile:0,tsv:[16,17],two:[1,3,6],txt:[3,16,17],type:8,u:[6,9],udnerstand:17,understood:17,uniqu:7,unknown:[2,3,17],unknown_word:[16,17],unlik:17,unstress:7,until:17,updat:[12,14],upglid:9,upper:7,us:[0,6,10,12,14,15],usag:[10,12,17],user:[0,2,3,10,15,17],uw:9,v2:17,v3:17,v:[6,9],vagu:17,valu:[7,11],valueerror:6,vector:6,version:[3,12,14],voic:7,vowel:[5,7,8,10],vowelcov:8,vowelmean:8,vowelmeasur:[7,8],vowelsystem:7,vulner:17,wa:12,wai:[0,17],want:10,warn:[],wav:[16,17],wavfil:[0,2],we:17,websit:[12,17],were:17,what:[12,14],when:[6,17],where:[6,17],whether:[3,7,9],which:[8,17],who:[10,17],why:12,wide:17,word2fnam:7,word2tran:7,word:[2,3,7,16,17],work:[3,12,15],workflow:17,would:[10,15,17],wrapper:2,write:[2,3,7,8,11],write_dict:3,write_unknown_word:3,written:17,wrong:12,x:8,xmax:11,xmin:11,xrang:6,xxxxx:7,year:17,you:[10,12,15,17],your:[10,12,15,16],yourself:12},titles:["FAVE Aligner module","FAVE Align module","FAVE TranscriptProcessor module","FAVE CMU Dictionary module","FAVE esps module","FAVE Extract module","FAVE Mahalanobis module","FAVE Plotnik module","FAVE Remeasure module","FAVE Vowel module","Module documentation","FAVE Praat module","Forced Alignment and Vowel Extraction (FAVE)","<no title>","FAVE User Guides","Installing FAVE 2","Quickstart guide to using FAVE 2.0","What\u2019s new in version 2"],titleterms:{"0":16,"2":[15,16,17],"new":17,For:12,The:17,align:[0,1,12,17],ask:17,check:17,cmu:3,content:17,data:17,develop:12,dictionari:3,differ:17,document:[10,12],doe:17,esp:4,extract:[5,12,17],extractform:17,faavalign:17,fave:[0,1,2,3,4,5,6,7,8,9,11,12,14,15,16,17],forc:12,frequent:17,get:17,guid:[12,14,16],indic:[],instal:[15,17],mahalanobi:6,manag:15,modul:[0,1,2,3,4,5,6,7,8,9,10,11,17],old:17,other:15,packag:15,pip:15,plotnik:7,praat:11,py:17,python:17,question:17,quickstart:16,remeasur:8,requir:15,s:17,softwar:[15,17],transcriptprocessor:2,updat:17,us:[16,17],user:[12,14],version:17,vowel:[9,12,17],wa:17,what:17,why:17,work:17,wrong:17,your:17}}) diff --git a/docs/_build/html/usage/installation.html b/docs/_build/html/usage/installation.html index 294074b..f07cafb 100644 --- a/docs/_build/html/usage/installation.html +++ b/docs/_build/html/usage/installation.html @@ -6,7 +6,7 @@ - Installing FAVE 2 — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + Installing FAVE 2 — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -40,7 +40,7 @@

    Navigation

  • previous |
  • - + @@ -55,13 +55,11 @@

    Navigation

    Installing FAVE 2

    Required software

    -
    -
    FAVE sometimes requires other software libraries in order to work.
      +

      FAVE sometimes requires other software libraries in order to work.

      +
      • FAVE-align requires SoX and HTK.

      • FAVE-extract requires Praat.

      -
    -

    You will need to manually install these if they are not already installed on your computer.

    Warning

    @@ -76,7 +74,7 @@

    Install with PIP

    Other package managers

    -

    Work is ongoing to publish FAVE as a debian package, but no other package system is supported at the moment. If you would like to package FAVE for your system, please feel free to contribute!

    +

    Work is ongoing to publish FAVE as a debian package, but no other package system is supported at the moment. If you would like to package FAVE for your system, please feel free to contribute

    @@ -115,7 +113,7 @@

    Next topic

    This Page

    @@ -148,7 +146,7 @@

    Navigation

  • previous |
  • - + @@ -158,4 +156,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/_build/html/usage/quickstart.html b/docs/_build/html/usage/quickstart.html index 8c36a6e..169fda1 100644 --- a/docs/_build/html/usage/quickstart.html +++ b/docs/_build/html/usage/quickstart.html @@ -6,7 +6,7 @@ - Quickstart guide to using FAVE 2.0 — Forced Alignment and Vowel Extraction (FAVE) 2.0.1 documentation + Quickstart guide to using FAVE 2.0 — Forced Alignment and Vowel Extraction (FAVE) 2.0.2-dev documentation @@ -40,7 +40,7 @@

    Navigation

  • previous |
  • - + @@ -53,37 +53,36 @@

    Navigation

    Quickstart guide to using FAVE 2.0

    -
    -
      +
      1. Install FAVE and its dependencies according to the directions.

      2. Download the FAAValign.py and extractFormants.py scripts.

      3. -
      4. Check your transcription for out-of-dictionary words

        +
      5. Check your transcription for out-of-dictionary words

      6. +
      Check for out-of-dictionary words
      python3 FAAValign.py --check unknown_words.txt AudioFile.wav TranscriptionFile.txt OutputAlignment.TextGrid
       
      - +
      1. Open unknown_words.txt and create a transcription for each word listed.

      2. -
      3. Align your audio and transcripts including your new transcriptions:

        +
      4. Align your audio and transcripts including your new transcriptions:

      5. +
      Begin forced alignment
      python3 FAAValign.py --import custom_dictionary.txt AudioFile.wav TranscriptionFile.txt OutputAlignment.TextGrid
       
      - -
    1. Extract formant data using the default settings:

      +
        +
      1. Extract formant data using the default settings:

      2. +
      Extract formant data
      python3 extractFormants.py AudioFile.wav Alignment.TextGrid OutputFileName.tsv
       
      -
    2. -
    -
    @@ -106,7 +105,7 @@

    Next topic

    This Page

    @@ -139,7 +138,7 @@

    Navigation

  • previous |
  • - + @@ -149,4 +148,4 @@

    Navigation

    Created using Sphinx 4.5.0. - \ No newline at end of file + diff --git a/docs/code/align/aligner.rst b/docs/code/align/aligner.md similarity index 54% rename from docs/code/align/aligner.rst rename to docs/code/align/aligner.md index 5b4e893..befa0e9 100644 --- a/docs/code/align/aligner.rst +++ b/docs/code/align/aligner.md @@ -1,5 +1,6 @@ -FAVE Aligner module -=================== +# FAVE Aligner module +```{eval-rst} .. automodule:: fave.align.aligner :members: +``` diff --git a/docs/code/align/index.rst b/docs/code/align/index.md similarity index 60% rename from docs/code/align/index.rst rename to docs/code/align/index.md index 1d6255f..c60c483 100644 --- a/docs/code/align/index.rst +++ b/docs/code/align/index.md @@ -1,9 +1,9 @@ -FAVE Align module -================= +# FAVE Align module The FAVE Align module contains classes for the manipulation of transcripts and alignment objects. It contains two files. -.. toctree:: - aligner - transcriptprocessor +```{toctree} +aligner +transcriptprocessor +``` diff --git a/docs/code/align/transcriptprocessor.md b/docs/code/align/transcriptprocessor.md new file mode 100644 index 0000000..b82360f --- /dev/null +++ b/docs/code/align/transcriptprocessor.md @@ -0,0 +1,6 @@ +# FAVE TranscriptProcessor module + +```{eval-rst} +.. automodule:: fave.align.transcriptprocessor + :members: +``` diff --git a/docs/code/align/transcriptprocessor.rst b/docs/code/align/transcriptprocessor.rst deleted file mode 100644 index d5a26ec..0000000 --- a/docs/code/align/transcriptprocessor.rst +++ /dev/null @@ -1,5 +0,0 @@ -FAVE TranscriptProcessor module -=============================== - -.. automodule:: fave.align.transcriptprocessor - :members: diff --git a/docs/code/cmudictionary.md b/docs/code/cmudictionary.md new file mode 100644 index 0000000..19d1898 --- /dev/null +++ b/docs/code/cmudictionary.md @@ -0,0 +1,6 @@ +# FAVE CMU Dictionary module + +```{eval-rst} +.. automodule:: fave.cmudictionary + :members: +``` diff --git a/docs/code/cmudictionary.rst b/docs/code/cmudictionary.rst deleted file mode 100644 index ca74086..0000000 --- a/docs/code/cmudictionary.rst +++ /dev/null @@ -1,5 +0,0 @@ -FAVE CMU Dictionary module -========================== - -.. automodule:: fave.cmudictionary - :members: diff --git a/docs/code/extract/esps.rst b/docs/code/extract/esps.md similarity index 51% rename from docs/code/extract/esps.rst rename to docs/code/extract/esps.md index fb38b95..c54a1b7 100644 --- a/docs/code/extract/esps.rst +++ b/docs/code/extract/esps.md @@ -1,5 +1,6 @@ -FAVE esps module -========================== +# FAVE esps module +```{eval-rst} .. automodule:: fave.extract.esps :members: +``` diff --git a/docs/code/extract/index.rst b/docs/code/extract/index.md similarity index 61% rename from docs/code/extract/index.rst rename to docs/code/extract/index.md index af27ecd..10f3ffe 100644 --- a/docs/code/extract/index.rst +++ b/docs/code/extract/index.md @@ -1,12 +1,12 @@ -FAVE Extract module -=================== +# FAVE Extract module The FAVE Extract module contains functions and classes for extracting acoustic measurements of vowels from aligned audio. It contains a number of files. -.. toctree:: - esps - mahalanobis - plotnik - remeasure - vowel +```{toctree} +esps +mahalanobis +plotnik +remeasure +vowel +``` diff --git a/docs/code/extract/mahalanobis.rst b/docs/code/extract/mahalanobis.md similarity index 52% rename from docs/code/extract/mahalanobis.rst rename to docs/code/extract/mahalanobis.md index 5ebc960..b37aa56 100644 --- a/docs/code/extract/mahalanobis.rst +++ b/docs/code/extract/mahalanobis.md @@ -1,5 +1,6 @@ -FAVE Mahalanobis module -======================= +# FAVE Mahalanobis module +```{eval-rst} .. automodule:: fave.extract.mahalanobis :members: +``` diff --git a/docs/code/extract/plotnik.rst b/docs/code/extract/plotnik.md similarity index 55% rename from docs/code/extract/plotnik.rst rename to docs/code/extract/plotnik.md index 2e58806..1b8d125 100644 --- a/docs/code/extract/plotnik.rst +++ b/docs/code/extract/plotnik.md @@ -1,5 +1,6 @@ -FAVE Plotnik module -=================== +# FAVE Plotnik module +```{eval-rst} .. automodule:: fave.extract.plotnik :members: +``` diff --git a/docs/code/extract/remeasure.rst b/docs/code/extract/remeasure.md similarity index 51% rename from docs/code/extract/remeasure.rst rename to docs/code/extract/remeasure.md index 716c31f..b95fe91 100644 --- a/docs/code/extract/remeasure.rst +++ b/docs/code/extract/remeasure.md @@ -1,5 +1,6 @@ -FAVE Remeasure module -========================== +# FAVE Remeasure module +```{eval-rst} .. automodule:: fave.extract.remeasure :members: +``` diff --git a/docs/code/extract/vowel.rst b/docs/code/extract/vowel.md similarity index 51% rename from docs/code/extract/vowel.rst rename to docs/code/extract/vowel.md index 500cee6..49e4601 100644 --- a/docs/code/extract/vowel.rst +++ b/docs/code/extract/vowel.md @@ -1,5 +1,6 @@ -FAVE Vowel module -========================== +# FAVE Vowel module +```{eval-rst} .. automodule:: fave.extract.vowel :members: +``` diff --git a/docs/code/index.md b/docs/code/index.md new file mode 100644 index 0000000..80a0b79 --- /dev/null +++ b/docs/code/index.md @@ -0,0 +1,10 @@ +# Module documentation + +This section documents the internals of FAVE. If you are a programmer who wants to use FAVE as a module in your scripts or would like to contribute to FAVE as a developer, these documents will be useful to you. End users will find the {doc}`usage <../usage/index>` section more helpful. + +```{toctree} +fave.align +fave.extract +fave.cmudictionary +fave.praat +``` diff --git a/docs/code/praat.rst b/docs/code/praat.md similarity index 51% rename from docs/code/praat.rst rename to docs/code/praat.md index 8cb3b87..069e77c 100644 --- a/docs/code/praat.rst +++ b/docs/code/praat.md @@ -1,5 +1,6 @@ -FAVE Praat module -================= +# FAVE Praat module +```{eval-rst} .. automodule:: fave.praat :members: +``` diff --git a/docs/conf.py b/docs/conf.py index 9fd2a62..255e028 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -57,7 +57,7 @@ # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = ['sphinx.ext.autodoc','sphinx.ext.napoleon'] +extensions = ['sphinx.ext.autodoc','sphinx.ext.napoleon', "myst_parser"] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..98de552 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,29 @@ +# Forced Alignment and Vowel Extraction (FAVE) + +This website documents the FAVE software, version 2. + +```{warning} +If you have used FAVE before, please read +[usage/whats-new](usage/whats-new.rst) to familiarize yourself +with the differences between the current and legacy versions of FAVE. +``` + + +## Guides and documentation + +### For Users + +```{toctree} maxdepth: 2 +usage/index +``` + +### For Developers + +```{toctree} maxdepth: 2 +code/index +``` + + + diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index c4fe4d0..0000000 --- a/docs/index.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. Forced Alignment and Vowel Extraction documentation master file, created by - sphinx-quickstart on Thu May 14 23:03:08 2020. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -Forced Alignment and Vowel Extraction (FAVE) -============================================ - -This website documents the FAVE software, version 2. - -.. warning:: - If you have used FAVE before, please read :doc:`usage/whats-new` to familiarize yourself with the differences between the current and legacy versions of FAVE. - -Guides and documentation ------------------------- -.. toctree:: - :maxdepth: 2 - - usage/index - code/index - -Indices -------- - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/docs/requirements.txt b/docs/requirements.txt index 27ef656..da3fba6 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,2 +1,3 @@ jinja2==3.0.0 sphinx-pyproject==0.1.0 +myst-parser~=0.18 diff --git a/docs/usage/cli_startup/cli_setup.md b/docs/usage/cli_startup/cli_setup.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/usage/index.md b/docs/usage/index.md new file mode 100644 index 0000000..b348fb2 --- /dev/null +++ b/docs/usage/index.md @@ -0,0 +1,11 @@ +# FAVE User Guides + +This section contains user guides for learning how to align and extract data with FAVE. + +```{toctree} +:maxdepth: 2 + +whats-new +installation +quickstart +``` diff --git a/docs/usage/installation.md b/docs/usage/installation.md new file mode 100644 index 0000000..4cd5b39 --- /dev/null +++ b/docs/usage/installation.md @@ -0,0 +1,27 @@ +# Installing FAVE 2 + +## Required software + +FAVE sometimes requires other software libraries in order to work. + + - FAVE-align requires [SoX](http://sox.sourceforge.net/) and [HTK](https://htk.eng.cam.ac.uk/). + - FAVE-extract requires [Praat](https://www.fon.hum.uva.nl/praat/). + +You will need to manually install these if they are not already installed on your computer. + +```{warning} +Mac users: HTK might need slight modification before it works. See [this bug report](https://github.com/JoFrhwld/FAVE/issues/48). +``` + + +## Install with PIP + +FAVE is available on the Python Package Index (PyPI) as `fave`. You can install it using: + +```console +python3 -m pip install fave +``` + +### Other package managers + +Work is ongoing to publish FAVE as a debian package, but no other package system is supported at the moment. If you would like to package FAVE for your system, please feel free to [contribute](../contributing) diff --git a/docs/usage/installation.rst b/docs/usage/installation.rst deleted file mode 100644 index bc8ebdc..0000000 --- a/docs/usage/installation.rst +++ /dev/null @@ -1,27 +0,0 @@ -Installing FAVE 2 -================= - -Required software ------------------ - -FAVE sometimes requires other software libraries in order to work. - * FAVE-align requires `SoX `_ and `HTK `_. - * FAVE-extract requires `Praat `_. - -You will need to manually install these if they are not already installed on your computer. - -.. warning:: - Mac users: HTK might need slight modification before it works. See `this bug report `_. - -Install with PIP ----------------- - -FAVE is available on the Python Package Index (PyPI) as ``fave``. You can install it using: - -.. code-block:: console - - python3 -m pip install fave - -Other package managers -^^^^^^^^^^^^^^^^^^^^^^ -Work is ongoing to publish FAVE as a debian package, but no other package system is supported at the moment. If you would like to package FAVE for your system, please feel free to :doc:`contribute <../contributing>`! diff --git a/docs/usage/quickstart.md b/docs/usage/quickstart.md new file mode 100644 index 0000000..8ae76dc --- /dev/null +++ b/docs/usage/quickstart.md @@ -0,0 +1,31 @@ +# Quickstart guide to using FAVE 2.0 + +1. Install FAVE and its dependencies according to {doc}`the directions `. + +2. Download the `FAAValign.py` and `extractFormants.py` scripts. + +3. Check your transcription for out-of-dictionary words + +```{code-block} console +:caption: Check for out-of-dictionary words + +python3 FAAValign.py --check unknown_words.txt AudioFile.wav TranscriptionFile.txt OutputAlignment.TextGrid +``` + +4. Open `unknown_words.txt` and create a transcription for each word listed. + +5. Align your audio and transcripts including your new transcriptions: + +```{code-block} console +:caption: Begin forced alignment + +python3 FAAValign.py --import custom_dictionary.txt AudioFile.wav TranscriptionFile.txt OutputAlignment.TextGrid +``` + +6. Extract formant data using the default settings: + +```{code-block} console +:caption: Extract formant data + +python3 extractFormants.py AudioFile.wav Alignment.TextGrid OutputFileName.tsv +``` diff --git a/docs/usage/quickstart.rst b/docs/usage/quickstart.rst deleted file mode 100644 index c9fdb1b..0000000 --- a/docs/usage/quickstart.rst +++ /dev/null @@ -1,24 +0,0 @@ -Quickstart guide to using FAVE 2.0 -================================== - - #. Install FAVE and its dependencies according to :doc:`the directions `. - #. Download the ``FAAValign.py`` and ``extractFormants.py`` scripts. - #. Check your transcription for out-of-dictionary words - - .. code-block:: console - :caption: Check for out-of-dictionary words - - python3 FAAValign.py --check unknown_words.txt AudioFile.wav TranscriptionFile.txt OutputAlignment.TextGrid - #. Open ``unknown_words.txt`` and create a transcription for each word listed. - #. Align your audio and transcripts including your new transcriptions: - - .. code-block:: console - :caption: Begin forced alignment - - python3 FAAValign.py --import custom_dictionary.txt AudioFile.wav TranscriptionFile.txt OutputAlignment.TextGrid - #. Extract formant data using the default settings: - - .. code-block:: console - :caption: Extract formant data - - python3 extractFormants.py AudioFile.wav Alignment.TextGrid OutputFileName.tsv diff --git a/docs/usage/whats-new.md b/docs/usage/whats-new.md new file mode 100644 index 0000000..c9aa071 --- /dev/null +++ b/docs/usage/whats-new.md @@ -0,0 +1,149 @@ +# What's new in version 2 + +Version 2.0.0 of FAVE was released February 10, 2022 replacing 1.3.1 which was released in October 2020. Like many software packages, FAVE follows the [semantic versioning](https://semver.org/) system, and the change from version 1 to version 2 means that this update introduces **changes that will break existing workflows**. The maintainers have made every attempt to keep the interface as similar to version 1 as possible, but long-time users will need to review and update their internal documentation and software to account for these new changes. To help this process, the FAVE maintainers have written this migration guide. + +```{contents} +``` + +## Updating software + +### Check your python version + +```{note} +We say FAVE runs on Python 3, but that's a little vague. Python 3.0 is 14 years old and like Python 2 no longer receives security updates. In order to run FAVE 2 you need at least Python 3.8, and we recommend using the latest stable version of Python. +``` + +You can check your current version of python using: + +```{code-block} console +:caption: Check your python version + +python --version +``` + +If that command outputs a version 3.8 or higher (so 3.9, 3.10, etc.) then you have the proper python version installed. + +If you get a version like 2.7, you should see if you *also* have Python 3 on your system: + +```{code-block} console +:caption: Check Python 3 specifically + +python3 --version +``` + +If that command outputs a version greater than 3.8, then you have a proper version. If it outputs a version *less* than that, like 3.5 or 3.7, you will need to install a newer version of python. + +If the command fails, then you do not have any python 3 version installed and you will need to install a compatible version. + +```{note} +You can download the latest python version from [the Python Software Foundation website](https://www.python.org/downloads/). Once downloaded, install as instructed, and then go through the above steps again to check that the installation was successful. +``` + +### Installing FAVE + +Install FAVE using Python's built-in software package manager pip: + +```{code-block} console +:caption: Install FAVE using pip + +python3 -m pip install fave +``` + +```{note} +Older versions of FAVE could simply be downloaded and ran. Unlike previous versions FAVE 2 needs to be *installed*. +``` + +## Aligning and extracting with FAVE 2 + +```{warning} +The argument order and behavior has changed in version 2. Double check the documentation to make sure that you're using the right commands. +``` + +FAVE can still be run as a command-line program using `FAAValign.py` and `extractFormants.py`, but the location and syntax for these files have changed slightly. These scripts come with help documentation. In a terminal, navigate to the FAVE folder (containing files like LICENSE and README) and run one of the following commands for details on how to run the script. + +```{code-block} console +:caption: Usage help from command line + +python3 fave/FAAValign.py --help +python3 fave/extractformants.py --help +``` + +```{note} +Development is ongoing to have these scripts installed system wide, but as of 2.0.1, you may still need to download them and run them directly. +``` + +### Aligning using FAAValign.py + +Before aligning, you should check the transcription for out-of-dictionary words. For this you use the `-c` or `--check` flag, followed by the name of a file where any unknown words should be listed. + +```{code-block} console +:caption: Check for unknown transcriptions + +python3 fave/FAAValign.py --check unknown_words.txt AudioFile.wav TranscriptionFile.txt OutputAlignment.TextGrid +``` + +You can then create your own transcriptions for these words, and include them in the aligning process using the `-i` or `-import` flag. + +```{code-block} console +:caption: Include custom dictionary file + +python3 fave/FAAValign.py --import custom_dictionary.txt AudioFile.wav TranscriptionFile.txt OutputAlignment.TextGrid +``` + +```{note} +It is best to *always* specify the sound file, transcript file, and output file. + +If the transcript file or output file are omitted, FAVE will do its best to assume a sensible name based on the sound file name, but this may not always work. + +If you run into errors, try specifying the transcript and output file names. +``` + +### Getting vowel data using extractFormants.py + +Formant data for vowels can be extracted using: + +```{code-block} console +:caption: Extract formant data + +python3 fave/extractFormants.py AudioFile.wav Alignment.TextGrid OutputFileName.tsv +``` + +If you used the Montral Forced Aligner to align your transcript, you should include the `--mfa` flag when extracting formant data. + +```{code-block} console +:caption: Extract data from MFA alignment + +python3 fave/extractFormants.py --mfa AudioFile.wav Alignment.TextGrid OutPutFileName.tsv +``` + +```{note} +The formant extraction process is *highly* customizable and these can be configured from the command line using flags. To see a list of all the configuration options, run the script with the `-h` or `--help` flags. +``` + +## The FAVE Python module + +```{note} +The documentation of FAVE's API is in {doc}`the code documentation section <../code/index>`. +``` + +New to version 2 is the ability to `import` FAVE as a python module. This allows you to use FAVE in custom scripts for things like batch alignment, extraction, or customizing the behavior during alignment. + +```{code-block} python +:caption: Example of loading a FAVE module + +from fave.align import TranscriptProcessor +``` + +## Frequently Asked Questions + +### What was wrong with the old FAVE? + +FAVE is written in the Python programming language. Python v2 was released in 2000 and was the langauge FAVE was written for. In 2006 development began on Python v3 which was released in 2008. Python 2 was scheduled to reach end-of-life in 2015, 7 years after the release of Python 3. In 2014, that sunset date was extended to 2020, and on January 1, 2020, 12 years after the release of Python 3, the developers announced that Python 2 was no longer supported. It would not receive bug fixes, and any security vulnerabilities would not be fixed. All users who had not already migrated to Python 3 were instructed to do so as soon as possible. As of August 2022, Python 3.10.4 is the current stable version. You can read [the full history from the Python Software Foundation](https://www.python.org/doc/sunset-python-2/). + +FAVE, being written for Python 2, was not compatible with the latest versions of Python. [Continuing to use Python 2 increases security risks](https://www.darkreading.com/vulnerabilities-threats/continued-use-of-python-2-will-heighten-security-risks) and it would be irresponsible to ask researchers holding sensitive personal data to introduce a security risk into their systems when other options are available. In 2020, maintainers Josef Freuhwald and Christian Brickhouse began rewriting FAVE to be compatible with Python 3. This migration was completed and released as FAVE 2.0.0 in February 2022. + +### Why does the new version work differently? + +FAVE is old software, and as software ages it accumulates changes that make it more complex. Bandaids, duct tape, patches, and other fixes are applied as needed to make sure the code keeps running for those who rely on it. Over time, the people who introduced and understood why and how these quick fixes worked leave, and often the knowledge leaves with them. What remains is a large, complex program that is hard to fix and even harder to add new features to. Among software programmers, this is known as [techincal debt](https://en.wikipedia.org/wiki/Technical_debt). FAVE was not migrated to Python 3 sooner because doing so was risky. The size and complexity of the program made it likely that even small changes might cause problems in other areas, and so the software was left as-is until the deprecation of Python 2 forced migration. + +To avoid this situation in the future, the migration to Python 3 also included changes which made the code easier to maintain. Since maintainers would be reading through all of the code to make sure it worked with Python 3, it was a good time to start repaying technical debt. The code was restructured so that it could easily be imported into python scripts as a module, and new workflows were created to allow for easier installation of the program and its dependencies. These improvements came with trade-offs, and in order to structure the code in a way that made it easy to udnerstand, maintain, and build new features on top of, we needed to make some changes to the previous interface. diff --git a/fave/extract/plotnik.py b/fave/extract/plotnik.py index 08246f2..da8866d 100644 --- a/fave/extract/plotnik.py +++ b/fave/extract/plotnik.py @@ -809,6 +809,43 @@ def plt_vowels(cd): except: return '' +def plt_ipa(cd): + """translates numerical vowel class code to ipa-like.""" + trans_dict = {'1':"ɪ", + '2':"ɛ", + '3':"æ", + '5':"ɑ", + '6':"ʌ", + '7':"ʊ", + '*':"ə", + '11':"i", + '12':"iF", + '21':"ej", + '22':"ejF", + '41':"aj", + '47':"aj0", + '61':"oj", + '42':"aw", + '62':"ow", + '63':"owF", + '72':"u", + '73':"Tu", + '82':"iw", + '33':"æː", + '39':"æBR", + '43':"a", + '53':"ɔ", + '14':"ir", + '24':"ejr", + '44':"ar", + '54':"ɔr", + '64':"owr", + '74':"uwr", + '94':"ə˞"} + try: + return trans_dict[str(cd)] + except: + return '' def process_measurement_line(line): """splits Plotnik measurement line into values for formants, vowel class, stress, token, glide, style, and comment""" diff --git a/fave/extractFormants.py b/fave/extractFormants.py index dbb5448..21c404b 100755 --- a/fave/extractFormants.py +++ b/fave/extractFormants.py @@ -1392,7 +1392,7 @@ def outputMeasurements(outputFormat, measurements, m_means, speaker, outputFile, fw.write('\t'.join(['vowel', 'stress', 'pre_word', 'word', 'fol_word', 'F1', 'F2', 'F3', 'B1', 'B2', 'B3', 't', 'beg', 'end', 'dur', - 'plt_vclass', 'plt_manner', 'plt_place', + 'plt_vclass', 'ipa_vclass', 'plt_manner', 'plt_place', 'plt_voice', 'plt_preseg', 'plt_folseq', 'style', 'glide', 'pre_seg', 'fol_seg', 'context', 'vowel_index', 'pre_word_trans', 'word_trans', @@ -1437,6 +1437,7 @@ def outputMeasurements(outputFormat, measurements, m_means, speaker, outputFile, fw.write('\t'.join( [str(vm.t), str(vm.beg), str(vm.end), str(vm.dur), plotnik.plt_vowels(vm.cd), + plotnik.plt_ipa(vm.cd), plotnik.plt_manner(vm.fm), plotnik.plt_place(vm.fp), plotnik.plt_voice(vm.fv), @@ -1511,7 +1512,7 @@ def outputMeasurements(outputFormat, measurements, m_means, speaker, outputFile, 'F1_meas', 'F2_meas', 'F3_meas', 'F1', 'F2', 'F3', 'B1', 'B2', 'B3', 't', 't_meas', 'dur', - 'plt_vclass', 'plt_manner', 'plt_place', + 'plt_vclass', 'ipa_vclass', 'plt_manner', 'plt_place', 'plt_voice', 'plt_preseg', 'plt_folseq', 'style', 'glide', 'pre_seg', 'fol_seg', 'context', 'vowel_index', 'pre_word_trans', 'word_trans', @@ -1527,6 +1528,7 @@ def outputMeasurements(outputFormat, measurements, m_means, speaker, outputFile, context_info = [str(vm.t), str(vm.dur), plotnik.plt_vowels(vm.cd), + plotnik.plt_ipa(vm.cd), plotnik.plt_manner(vm.fm), plotnik.plt_place(vm.fp), plotnik.plt_voice(vm.fv), @@ -1947,47 +1949,6 @@ def writeLog(filename, wavFile, maxTime, meansFile, covsFile, opts): f = open(filename, 'w') f.write(time.asctime()) f.write("\n") - try: - check_version = subprocess.Popen(["git","describe", "--tags"], stdout = subprocess.PIPE) - version,err = check_version.communicate() - version = version.rstrip() - except OSError: - version = None - - if version: - f.write("version info from Git: %s"%version) - f.write("\n") - else: - f.write("Not using Git version control. Version info unavailable.\n") - f.write("Consider installing Git (http://git-scm.com/).\ - and cloning this repository from GitHub with: \n \ - git clone git@github.com:JoFrhwld/FAVE.git") - f.write("\n") - - # For development, it's helpful to know if there's anything in the repo that has been - # changed. This block checks to see if we're in a git repo. If we are, then use git diff - # to get the changes and write to the log file. - # - # code debt: this block is repeated in extractFormants.py and the code should be consolidated. - try: - subprocess.run(['git', 'rev-parse', '--is-inside-work-tree'], check=True, capture_output=True) - try: - check_changes = subprocess.Popen( - ["git", "diff", "--stat"], stdout=subprocess.PIPE) - changes, err = check_changes.communicate() # pylint: disable=unused-variable - except OSError: - changes = '' - - if changes: - f.write("Uncommitted changes when run:\n") - f.write(str(changes, 'utf-8')) - except subprocess.CalledProcessError: - pass - - if changes: - f.write("Uncommitted changes when run:\n") - f.write(str(changes,'utf-8')) - f.write("\n\n") @@ -2228,7 +2189,7 @@ def extractFormants(wavInput, tgInput, output, opts, SPATH='', PPATH=''): # coding) -> only for chosen speaker words = getWordsAndPhones(tg, phoneset, speaker, vowelSystem, mfa) # (all initial vowels are counted here) - print('Identified vowels in the TextGridmeans[vowel] = np.array([float(x)') + print('Identified vowels in the TextGrid') global maxTime maxTime = tg.xmax() # duration of TextGrid/sound file measurements = [] @@ -2262,6 +2223,7 @@ def extractFormants(wavInput, tgInput, output, opts, SPATH='', PPATH=''): # skip unclear transcriptions and silences if w.transcription == '' or w.transcription == "((xxxx))" or w.transcription.upper() == "SP": + pbar.update(1) continue # convert to upper or lower case, if necessary @@ -2275,6 +2237,7 @@ def extractFormants(wavInput, tgInput, output, opts, SPATH='', PPATH=''): if opts.verbose: print('') print("\t\t\t...no vowels in word %s at %.3f." % (w.transcription, w.xmin)) + pbar.update(1) continue # don't process this word if it's in the list of stop words @@ -2283,6 +2246,7 @@ def extractFormants(wavInput, tgInput, output, opts, SPATH='', PPATH=''): if opts.verbose: print('') print("\t\t\t...word %s at %.3f is stop word." % (w.transcription, w.xmin)) + pbar.update(1) continue # exclude uncertain transcriptions @@ -2291,6 +2255,7 @@ def extractFormants(wavInput, tgInput, output, opts, SPATH='', PPATH=''): if opts.verbose: print('') print("\t\t\t...word %s at %.3f is uncertain transcription." % (w.transcription, w.xmin)) + pbar.update(1) continue for p_index, p in enumerate(w.phones): diff --git a/poetry.lock b/poetry.lock index 6dfdb4e..2e82197 100644 --- a/poetry.lock +++ b/poetry.lock @@ -8,16 +8,19 @@ python-versions = "*" [[package]] name = "astroid" -version = "2.11.7" +version = "2.12.10" description = "An abstract syntax tree for Python with inference support." category = "dev" optional = false -python-versions = ">=3.6.2" +python-versions = ">=3.7.2" [package.dependencies] lazy-object-proxy = ">=1.4.0" typing-extensions = {version = ">=3.10", markers = "python_version < \"3.10\""} -wrapt = ">=1.11,<2" +wrapt = [ + {version = ">=1.11,<2", markers = "python_version < \"3.11\""}, + {version = ">=1.14,<2", markers = "python_version >= \"3.11\""}, +] [[package]] name = "babel" @@ -32,7 +35,7 @@ pytz = ">=2015.7" [[package]] name = "certifi" -version = "2022.6.15" +version = "2022.9.14" description = "Python package for providing Mozilla's CA Bundle." category = "dev" optional = false @@ -90,7 +93,7 @@ toml = ">=0.10.2" [[package]] name = "domdf-python-tools" -version = "3.3.0" +version = "3.4.0" description = "Helpful functions for Python 🐍 🛠️" category = "dev" optional = false @@ -107,7 +110,7 @@ dates = ["pytz (>=2019.1)"] [[package]] name = "idna" -version = "3.3" +version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" category = "dev" optional = false @@ -173,6 +176,27 @@ category = "dev" optional = false python-versions = ">=3.6" +[[package]] +name = "markdown-it-py" +version = "2.1.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +testing = ["pytest-regressions", "pytest-cov", "pytest", "coverage"] +rtd = ["sphinx-book-theme", "sphinx-design", "sphinx-copybutton", "sphinx", "pyyaml", "myst-parser", "attrs"] +profiling = ["gprof2dot"] +plugins = ["mdit-py-plugins"] +linkify = ["linkify-it-py (>=1.0,<2.0)"] +compare = ["panflute (>=2.1.3,<2.2.0)", "mistune (>=2.0.2,<2.1.0)", "mistletoe (>=0.8.1,<0.9.0)", "markdown (>=3.3.6,<3.4.0)", "commonmark (>=0.9.1,<0.10.0)"] +code_style = ["pre-commit (==2.6)"] +benchmarking = ["pytest-benchmark (>=3.2,<4.0)", "pytest", "psutil"] + [[package]] name = "markupsafe" version = "2.1.1" @@ -189,9 +213,56 @@ category = "dev" optional = false python-versions = ">=3.6" +[[package]] +name = "mdit-py-plugins" +version = "0.3.0" +description = "Collection of plugins for markdown-it-py" +category = "dev" +optional = false +python-versions = "~=3.6" + +[package.dependencies] +markdown-it-py = ">=1.0.0,<3.0.0" + +[package.extras] +testing = ["pytest-regressions", "pytest-cov", "pytest (>=3.6,<4)", "coverage"] +rtd = ["sphinx-book-theme (>=0.1.0,<0.2.0)", "myst-parser (>=0.14.0,<0.15.0)"] +code_style = ["pre-commit (==2.6)"] + +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +category = "dev" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "myst-parser" +version = "0.18.0" +description = "An extended commonmark compliant parser, with bridges to docutils & sphinx." +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +docutils = ">=0.15,<0.19" +jinja2 = "*" +markdown-it-py = ">=1.0.0,<3.0.0" +mdit-py-plugins = ">=0.3.0,<0.4.0" +pyyaml = "*" +sphinx = ">=4,<6" +typing-extensions = "*" + +[package.extras] +code_style = ["pre-commit (>=2.12,<3.0)"] +linkify = ["linkify-it-py (>=1.0,<2.0)"] +rtd = ["ipython", "sphinx-book-theme", "sphinx-design", "sphinxext-rediraffe (>=0.2.7,<0.3.0)", "sphinxcontrib.mermaid (>=0.7.1,<0.8.0)", "sphinxext-opengraph (>=0.6.3,<0.7.0)"] +testing = ["beautifulsoup4", "coverage", "pytest (>=6,<7)", "pytest-cov", "pytest-regressions", "pytest-param-files (>=0.3.4,<0.4.0)", "sphinx-pytest"] + [[package]] name = "natsort" -version = "8.1.0" +version = "8.2.0" description = "Simple yet flexible natural sorting in Python." category = "dev" optional = false @@ -203,7 +274,7 @@ icu = ["PyICU (>=1.0.0)"] [[package]] name = "numpy" -version = "1.23.2" +version = "1.23.3" description = "NumPy is the fundamental package for array computing with Python." category = "main" optional = false @@ -245,14 +316,14 @@ plugins = ["importlib-metadata"] [[package]] name = "pylint" -version = "2.14.5" +version = "2.15.3" description = "python code static checker" category = "dev" optional = false python-versions = ">=3.7.2" [package.dependencies] -astroid = ">=2.11.6,<=2.12.0-dev0" +astroid = ">=2.12.10,<=2.14.0-dev0" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} dill = ">=0.2" isort = ">=4.2.5,<6" @@ -285,6 +356,14 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "pyyaml" +version = "6.0" +description = "YAML parser and emitter for Python" +category = "dev" +optional = false +python-versions = ">=3.6" + [[package]] name = "requests" version = "2.28.1" @@ -452,7 +531,7 @@ python-versions = ">=3.6,<4.0" [[package]] name = "tqdm" -version = "4.64.0" +version = "4.64.1" description = "Fast, Extensible Progress Meter" category = "main" optional = false @@ -511,7 +590,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest- [metadata] lock-version = "1.1" python-versions = ">=3.8,<4.0" -content-hash = "e4e3cfd84e465ac87f13eaaf907054cd2afc86b8438bc7ed03414f7fbe11f06c" +content-hash = "b7bf7038f0c41482ce68d9d40408b4d960b501e47a591cb23cf0fa78deb09873" [metadata.files] alabaster = [ @@ -519,25 +598,22 @@ alabaster = [ {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"}, ] astroid = [ - {file = "astroid-2.11.7-py3-none-any.whl", hash = "sha256:86b0a340a512c65abf4368b80252754cda17c02cdbbd3f587dddf98112233e7b"}, - {file = "astroid-2.11.7.tar.gz", hash = "sha256:bb24615c77f4837c707669d16907331374ae8a964650a66999da3f5ca68dc946"}, + {file = "astroid-2.12.10-py3-none-any.whl", hash = "sha256:997e0c735df60d4a4caff27080a3afc51f9bdd693d3572a4a0b7090b645c36c5"}, + {file = "astroid-2.12.10.tar.gz", hash = "sha256:81f870105d892e73bf535da77a8261aa5bde838fa4ed12bb2f435291a098c581"}, ] babel = [ {file = "Babel-2.10.3-py3-none-any.whl", hash = "sha256:ff56f4892c1c4bf0d814575ea23471c230d544203c7748e8c68f0089478d48eb"}, {file = "Babel-2.10.3.tar.gz", hash = "sha256:7614553711ee97490f732126dc077f8d0ae084ebc6a96e23db1482afabdb2c51"}, ] certifi = [ - {file = "certifi-2022.6.15-py3-none-any.whl", hash = "sha256:fe86415d55e84719d75f8b69414f6438ac3547d2078ab91b67e779ef69378412"}, - {file = "certifi-2022.6.15.tar.gz", hash = "sha256:84c85a9078b11105f04f3036a9482ae10e4621616db313fe045dd24743a0820d"}, + {file = "certifi-2022.9.14-py3-none-any.whl", hash = "sha256:e232343de1ab72c2aa521b625c80f699e356830fd0e2c620b465b304b17b0516"}, + {file = "certifi-2022.9.14.tar.gz", hash = "sha256:36973885b9542e6bd01dea287b2b4b3b21236307c56324fcc3f1160f2d655ed5"}, ] charset-normalizer = [ {file = "charset-normalizer-2.1.1.tar.gz", hash = "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845"}, {file = "charset_normalizer-2.1.1-py3-none-any.whl", hash = "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"}, ] -colorama = [ - {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, - {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, -] +colorama = [] dill = [ {file = "dill-0.3.5.1-py2.py3-none-any.whl", hash = "sha256:33501d03270bbe410c72639b350e941882a8b0fd55357580fbc873fba0c59302"}, {file = "dill-0.3.5.1.tar.gz", hash = "sha256:d75e41f3eff1eee599d738e76ba8f4ad98ea229db8b085318aa2b3333a208c86"}, @@ -551,12 +627,12 @@ dom-toml = [ {file = "dom_toml-0.6.0.tar.gz", hash = "sha256:6f486ad979ec44814d7c6efb38d46301e100c8ad1a7f3524eca579ce48a0a6bc"}, ] domdf-python-tools = [ - {file = "domdf_python_tools-3.3.0-py3-none-any.whl", hash = "sha256:692a33cfc4bc4270a30f18b95beb8f65bf56935d122a4bdb0af7f7760452d41c"}, - {file = "domdf_python_tools-3.3.0.tar.gz", hash = "sha256:7c588cdfa3e8bfd9617efbb4fa42652b7010c0f158c81844c862fbda5d86d9cc"}, + {file = "domdf_python_tools-3.4.0-py3-none-any.whl", hash = "sha256:fe2cd1785964f079067d5fa90ae57bb481f1fc385216b629683c096d8de3282c"}, + {file = "domdf_python_tools-3.4.0.tar.gz", hash = "sha256:0a0d7083c7f2d09c78239f7fe01900b546b26a2e7252775be66d402f9ab930b9"}, ] idna = [ - {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"}, - {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"}, + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, ] imagesize = [ {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, @@ -613,6 +689,10 @@ lazy-object-proxy = [ {file = "lazy_object_proxy-1.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:677ea950bef409b47e51e733283544ac3d660b709cfce7b187f5ace137960d61"}, {file = "lazy_object_proxy-1.7.1-pp37.pp38-none-any.whl", hash = "sha256:d66906d5785da8e0be7360912e99c9188b70f52c422f9fc18223347235691a84"}, ] +markdown-it-py = [ + {file = "markdown-it-py-2.1.0.tar.gz", hash = "sha256:cf7e59fed14b5ae17c0006eff14a2d9a00ed5f3a846148153899a0224e2c07da"}, + {file = "markdown_it_py-2.1.0-py3-none-any.whl", hash = "sha256:93de681e5c021a432c63147656fe21790bc01231e0cd2da73626f1aa3ac0fe27"}, +] markupsafe = [ {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"}, @@ -659,44 +739,53 @@ mccabe = [ {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, ] +mdit-py-plugins = [ + {file = "mdit-py-plugins-0.3.0.tar.gz", hash = "sha256:ecc24f51eeec6ab7eecc2f9724e8272c2fb191c2e93cf98109120c2cace69750"}, + {file = "mdit_py_plugins-0.3.0-py3-none-any.whl", hash = "sha256:b1279701cee2dbf50e188d3da5f51fee8d78d038cdf99be57c6b9d1aa93b4073"}, +] +mdurl = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] +myst-parser = [ + {file = "myst-parser-0.18.0.tar.gz", hash = "sha256:739a4d96773a8e55a2cacd3941ce46a446ee23dcd6b37e06f73f551ad7821d86"}, + {file = "myst_parser-0.18.0-py3-none-any.whl", hash = "sha256:4965e51918837c13bf1c6f6fe2c6bddddf193148360fbdaefe743a4981358f6a"}, +] natsort = [ - {file = "natsort-8.1.0-py3-none-any.whl", hash = "sha256:f59988d2f24e77b6b56f8a8f882d5df6b3b637e09e075abc67b486d59fba1a4b"}, - {file = "natsort-8.1.0.tar.gz", hash = "sha256:c7c1f3f27c375719a4dfcab353909fe39f26c2032a062a8c80cc844eaaca0445"}, + {file = "natsort-8.2.0-py3-none-any.whl", hash = "sha256:04fe18fdd2b9e5957f19f687eb117f102ef8dde6b574764e536e91194bed4f5f"}, + {file = "natsort-8.2.0.tar.gz", hash = "sha256:57f85b72c688b09e053cdac302dd5b5b53df5f73ae20b4874fcbffd8bf783d11"}, ] numpy = [ - {file = "numpy-1.23.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e603ca1fb47b913942f3e660a15e55a9ebca906857edfea476ae5f0fe9b457d5"}, - {file = "numpy-1.23.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:633679a472934b1c20a12ed0c9a6c9eb167fbb4cb89031939bfd03dd9dbc62b8"}, - {file = "numpy-1.23.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17e5226674f6ea79e14e3b91bfbc153fdf3ac13f5cc54ee7bc8fdbe820a32da0"}, - {file = "numpy-1.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bdc02c0235b261925102b1bd586579b7158e9d0d07ecb61148a1799214a4afd5"}, - {file = "numpy-1.23.2-cp310-cp310-win32.whl", hash = "sha256:df28dda02c9328e122661f399f7655cdcbcf22ea42daa3650a26bce08a187450"}, - {file = "numpy-1.23.2-cp310-cp310-win_amd64.whl", hash = "sha256:8ebf7e194b89bc66b78475bd3624d92980fca4e5bb86dda08d677d786fefc414"}, - {file = "numpy-1.23.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dc76bca1ca98f4b122114435f83f1fcf3c0fe48e4e6f660e07996abf2f53903c"}, - {file = "numpy-1.23.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ecfdd68d334a6b97472ed032b5b37a30d8217c097acfff15e8452c710e775524"}, - {file = "numpy-1.23.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5593f67e66dea4e237f5af998d31a43e447786b2154ba1ad833676c788f37cde"}, - {file = "numpy-1.23.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac987b35df8c2a2eab495ee206658117e9ce867acf3ccb376a19e83070e69418"}, - {file = "numpy-1.23.2-cp311-cp311-win32.whl", hash = "sha256:d98addfd3c8728ee8b2c49126f3c44c703e2b005d4a95998e2167af176a9e722"}, - {file = "numpy-1.23.2-cp311-cp311-win_amd64.whl", hash = "sha256:8ecb818231afe5f0f568c81f12ce50f2b828ff2b27487520d85eb44c71313b9e"}, - {file = "numpy-1.23.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:909c56c4d4341ec8315291a105169d8aae732cfb4c250fbc375a1efb7a844f8f"}, - {file = "numpy-1.23.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8247f01c4721479e482cc2f9f7d973f3f47810cbc8c65e38fd1bbd3141cc9842"}, - {file = "numpy-1.23.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8b97a8a87cadcd3f94659b4ef6ec056261fa1e1c3317f4193ac231d4df70215"}, - {file = "numpy-1.23.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd5b7ccae24e3d8501ee5563e82febc1771e73bd268eef82a1e8d2b4d556ae66"}, - {file = "numpy-1.23.2-cp38-cp38-win32.whl", hash = "sha256:9b83d48e464f393d46e8dd8171687394d39bc5abfe2978896b77dc2604e8635d"}, - {file = "numpy-1.23.2-cp38-cp38-win_amd64.whl", hash = "sha256:dec198619b7dbd6db58603cd256e092bcadef22a796f778bf87f8592b468441d"}, - {file = "numpy-1.23.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4f41f5bf20d9a521f8cab3a34557cd77b6f205ab2116651f12959714494268b0"}, - {file = "numpy-1.23.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:806cc25d5c43e240db709875e947076b2826f47c2c340a5a2f36da5bb10c58d6"}, - {file = "numpy-1.23.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f9d84a24889ebb4c641a9b99e54adb8cab50972f0166a3abc14c3b93163f074"}, - {file = "numpy-1.23.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c403c81bb8ffb1c993d0165a11493fd4bf1353d258f6997b3ee288b0a48fce77"}, - {file = "numpy-1.23.2-cp39-cp39-win32.whl", hash = "sha256:cf8c6aed12a935abf2e290860af8e77b26a042eb7f2582ff83dc7ed5f963340c"}, - {file = "numpy-1.23.2-cp39-cp39-win_amd64.whl", hash = "sha256:5e28cd64624dc2354a349152599e55308eb6ca95a13ce6a7d5679ebff2962913"}, - {file = "numpy-1.23.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:806970e69106556d1dd200e26647e9bee5e2b3f1814f9da104a943e8d548ca38"}, - {file = "numpy-1.23.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bd879d3ca4b6f39b7770829f73278b7c5e248c91d538aab1e506c628353e47f"}, - {file = "numpy-1.23.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:be6b350dfbc7f708d9d853663772a9310783ea58f6035eec649fb9c4371b5389"}, - {file = "numpy-1.23.2.tar.gz", hash = "sha256:b78d00e48261fbbd04aa0d7427cf78d18401ee0abd89c7559bbf422e5b1c7d01"}, -] -packaging = [ - {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, - {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, -] + {file = "numpy-1.23.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c9f707b5bb73bf277d812ded9896f9512a43edff72712f31667d0a8c2f8e71ee"}, + {file = "numpy-1.23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ffcf105ecdd9396e05a8e58e81faaaf34d3f9875f137c7372450baa5d77c9a54"}, + {file = "numpy-1.23.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ea3f98a0ffce3f8f57675eb9119f3f4edb81888b6874bc1953f91e0b1d4f440"}, + {file = "numpy-1.23.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:004f0efcb2fe1c0bd6ae1fcfc69cc8b6bf2407e0f18be308612007a0762b4089"}, + {file = "numpy-1.23.3-cp310-cp310-win32.whl", hash = "sha256:98dcbc02e39b1658dc4b4508442a560fe3ca5ca0d989f0df062534e5ca3a5c1a"}, + {file = "numpy-1.23.3-cp310-cp310-win_amd64.whl", hash = "sha256:39a664e3d26ea854211867d20ebcc8023257c1800ae89773cbba9f9e97bae036"}, + {file = "numpy-1.23.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1f27b5322ac4067e67c8f9378b41c746d8feac8bdd0e0ffede5324667b8a075c"}, + {file = "numpy-1.23.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2ad3ec9a748a8943e6eb4358201f7e1c12ede35f510b1a2221b70af4bb64295c"}, + {file = "numpy-1.23.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdc9febce3e68b697d931941b263c59e0c74e8f18861f4064c1f712562903411"}, + {file = "numpy-1.23.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:301c00cf5e60e08e04d842fc47df641d4a181e651c7135c50dc2762ffe293dbd"}, + {file = "numpy-1.23.3-cp311-cp311-win32.whl", hash = "sha256:7cd1328e5bdf0dee621912f5833648e2daca72e3839ec1d6695e91089625f0b4"}, + {file = "numpy-1.23.3-cp311-cp311-win_amd64.whl", hash = "sha256:8355fc10fd33a5a70981a5b8a0de51d10af3688d7a9e4a34fcc8fa0d7467bb7f"}, + {file = "numpy-1.23.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bc6e8da415f359b578b00bcfb1d08411c96e9a97f9e6c7adada554a0812a6cc6"}, + {file = "numpy-1.23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:22d43376ee0acd547f3149b9ec12eec2f0ca4a6ab2f61753c5b29bb3e795ac4d"}, + {file = "numpy-1.23.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a64403f634e5ffdcd85e0b12c08f04b3080d3e840aef118721021f9b48fc1460"}, + {file = "numpy-1.23.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efd9d3abe5774404becdb0748178b48a218f1d8c44e0375475732211ea47c67e"}, + {file = "numpy-1.23.3-cp38-cp38-win32.whl", hash = "sha256:f8c02ec3c4c4fcb718fdf89a6c6f709b14949408e8cf2a2be5bfa9c49548fd85"}, + {file = "numpy-1.23.3-cp38-cp38-win_amd64.whl", hash = "sha256:e868b0389c5ccfc092031a861d4e158ea164d8b7fdbb10e3b5689b4fc6498df6"}, + {file = "numpy-1.23.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:09f6b7bdffe57fc61d869a22f506049825d707b288039d30f26a0d0d8ea05164"}, + {file = "numpy-1.23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8c79d7cf86d049d0c5089231a5bcd31edb03555bd93d81a16870aa98c6cfb79d"}, + {file = "numpy-1.23.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5d5420053bbb3dd64c30e58f9363d7a9c27444c3648e61460c1237f9ec3fa14"}, + {file = "numpy-1.23.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5422d6a1ea9b15577a9432e26608c73a78faf0b9039437b075cf322c92e98e7"}, + {file = "numpy-1.23.3-cp39-cp39-win32.whl", hash = "sha256:c1ba66c48b19cc9c2975c0d354f24058888cdc674bebadceb3cdc9ec403fb5d1"}, + {file = "numpy-1.23.3-cp39-cp39-win_amd64.whl", hash = "sha256:78a63d2df1d947bd9d1b11d35564c2f9e4b57898aae4626638056ec1a231c40c"}, + {file = "numpy-1.23.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:17c0e467ade9bda685d5ac7f5fa729d8d3e76b23195471adae2d6a6941bd2c18"}, + {file = "numpy-1.23.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91b8d6768a75247026e951dce3b2aac79dc7e78622fc148329135ba189813584"}, + {file = "numpy-1.23.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:94c15ca4e52671a59219146ff584488907b1f9b3fc232622b47e2cf832e94fb8"}, + {file = "numpy-1.23.3.tar.gz", hash = "sha256:51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd"}, +] +packaging = [] platformdirs = [ {file = "platformdirs-2.5.2-py3-none-any.whl", hash = "sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788"}, {file = "platformdirs-2.5.2.tar.gz", hash = "sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19"}, @@ -706,21 +795,47 @@ pygments = [ {file = "Pygments-2.13.0.tar.gz", hash = "sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1"}, ] pylint = [ - {file = "pylint-2.14.5-py3-none-any.whl", hash = "sha256:fabe30000de7d07636d2e82c9a518ad5ad7908590fe135ace169b44839c15f90"}, - {file = "pylint-2.14.5.tar.gz", hash = "sha256:487ce2192eee48211269a0e976421f334cf94de1806ca9d0a99449adcdf0285e"}, -] -pyparsing = [ - {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, - {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, + {file = "pylint-2.15.3-py3-none-any.whl", hash = "sha256:7f6aad1d8d50807f7bc64f89ac75256a9baf8e6ed491cc9bc65592bc3f462cf1"}, + {file = "pylint-2.15.3.tar.gz", hash = "sha256:5fdfd44af182866999e6123139d265334267339f29961f00c89783155eacc60b"}, ] +pyparsing = [] pytz = [ {file = "pytz-2022.2.1-py2.py3-none-any.whl", hash = "sha256:220f481bdafa09c3955dfbdddb7b57780e9a94f5127e35456a48589b9e0c0197"}, {file = "pytz-2022.2.1.tar.gz", hash = "sha256:cea221417204f2d1a2aa03ddae3e867921971d0d76f14d87abb4414415bbdcf5"}, ] -requests = [ - {file = "requests-2.28.1-py3-none-any.whl", hash = "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"}, - {file = "requests-2.28.1.tar.gz", hash = "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"}, -] +pyyaml = [ + {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, + {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"}, + {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"}, + {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"}, + {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"}, + {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"}, + {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"}, + {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"}, + {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"}, + {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"}, + {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"}, + {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"}, + {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"}, + {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"}, + {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, snowballstemmer = [ {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, @@ -729,10 +844,10 @@ sphinx = [ {file = "Sphinx-4.5.0-py3-none-any.whl", hash = "sha256:ebf612653238bcc8f4359627a9b7ce44ede6fdd75d9d30f68255c7383d3a6226"}, {file = "Sphinx-4.5.0.tar.gz", hash = "sha256:7bf8ca9637a4ee15af412d1a1d9689fec70523a68ca9bb9127c2f3eeb344e2e6"}, ] -sphinx-pyproject = [ - {file = "sphinx_pyproject-0.1.0-py3-none-any.whl", hash = "sha256:aaa974eb1bf9456c4bf9f97c9e1eb19469e337b5d30271f163085014ef7a8365"}, - {file = "sphinx_pyproject-0.1.0.tar.gz", hash = "sha256:c2525c3c473a771e95fca4691da0e35aebcc459ff618a7912d9b57bc995eef3d"}, + {file = "Sphinx-4.5.0-py3-none-any.whl", hash = "sha256:ebf612653238bcc8f4359627a9b7ce44ede6fdd75d9d30f68255c7383d3a6226"}, + {file = "Sphinx-4.5.0.tar.gz", hash = "sha256:7bf8ca9637a4ee15af412d1a1d9689fec70523a68ca9bb9127c2f3eeb344e2e6"}, ] +sphinx-pyproject = [ sphinxcontrib-applehelp = [ {file = "sphinxcontrib-applehelp-1.0.2.tar.gz", hash = "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"}, {file = "sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a"}, @@ -761,22 +876,16 @@ toml = [ {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, ] -tomli = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, -] +tomli = [] tomlkit = [ {file = "tomlkit-0.11.4-py3-none-any.whl", hash = "sha256:25d4e2e446c453be6360c67ddfb88838cfc42026322770ba13d1fbd403a93a5c"}, {file = "tomlkit-0.11.4.tar.gz", hash = "sha256:3235a9010fae54323e727c3ac06fb720752fe6635b3426e379daec60fbd44a83"}, ] tqdm = [ - {file = "tqdm-4.64.0-py2.py3-none-any.whl", hash = "sha256:74a2cdefe14d11442cedf3ba4e21a3b84ff9a2dbdc6cfae2c34addb2a14a5ea6"}, - {file = "tqdm-4.64.0.tar.gz", hash = "sha256:40be55d30e200777a307a7585aee69e4eabb46b4ec6a4b4a5f2d9f11e7d5408d"}, -] -typing-extensions = [ - {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, - {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, + {file = "tqdm-4.64.1-py2.py3-none-any.whl", hash = "sha256:6fee160d6ffcd1b1c68c65f14c829c22832bc401726335ce92c52d395944a6a1"}, + {file = "tqdm-4.64.1.tar.gz", hash = "sha256:5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4"}, ] +typing-extensions = [] urllib3 = [ {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"}, diff --git a/pyproject.toml b/pyproject.toml index 5fede83..f752792 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,6 +14,8 @@ authors = [ "FAVE contributors" ] license = "GPL-3.0-only" +readme = "README.rst" +homepage = "https://github.com/JoFrhwld/FAVE" [tool.poetry.dependencies] python = ">=3.8,<4.0" @@ -25,6 +27,7 @@ sphinx = "^4" sphinx_pyproject = "0.1" jinja2 = "~3.0" pylint = "^2.5.2" +myst-parser = "^0.18.0" [build-system] requires = ["poetry>=1.1"]