Skip to content

Release v0.2.20221114

Compare
Choose a tag to compare
@github-actions github-actions released this 14 Nov 17:27
955afe1

0.2.20221114 (2022-11-14)

Features

  • add --align-mode to readalongs align (6023367)
  • improve programmatic API to readalongs (45bfd5c)
  • silence aligner logs unless --debug-aligner is used (69ab713)
  • starting an API for readalongs commands (08b2307)
  • api: created web api with fastapi (2d11d73)
  • api: the API fns now return (status, exception, log) (639c2a9)
  • flask-app: starting to make flask app use API (ddd5071)
  • Add a (hidden) -oo / --output-orth option to control the output orthogrpahy (93d7228)
  • Add header and theme from config.json (c0c8859)
  • add heroku support (17c7d82)
  • apply header and theme to basic html page too (035aeca)
  • clean up log handling and fix debug_aligner (d0edc09)
  • convert_alignment now also supports ELAN eaf (6fcc404)
  • endpoint /convert_alignment supports srt and vtt (e035cb2)
  • error handling and testing for the -oo option (6316d29)
  • new /convert_to_TextGrid endpoint in web_api (42f724f)
  • parse_smil() with unit testing (84af6b0)
  • re-introduce the sub-word functionality in Studio (6349814)
  • support "acoustic_model" in config (30537c2)
  • update for soundswallower 0.4.0 (7c98e45)

Bug Fixes

  • adjust Docker to requirements.* changes (ad80da3)
  • align should delete its temporary files (1b09db9)
  • always explicitly declare the encoding when you open a file (afb0908)
  • api.prepare() still needs to exist, with a deprecation warning (79d04ad)
  • case-insensitive option matching done consistently (a1f0805)
  • clean up our own temp files! (a27a0c7)
  • cli.align() should not modify its arguments (b422083)
  • default for save_temps is None so check that, not truthiness (d955f16)
  • don't save SoundSwallower logs on Windows, it's buggy (ed3e4a8)
  • extract sentences correctly on page changes (e9a2a18), closes #70
  • failure to g2p should be 422, not 400 (b0da504)
  • get_langs() should only return supported langs in the dict (6f8e458)
  • ignore BOMs when reading files, though never generate them (ca8e264)
  • ignore whitespace on blank lines for paragraph and page breaks (aea222f)
  • in 2022, "python" is Python 3 (64051a2)
  • make sure final_end is defined (9e33ecb)
  • make sure the API accepts pathlib.Path objects (50972ae)
  • minor bugs and efficiency improvements (5f0080b)
  • more robust sentence extraction for srt, vtt, TextGrid (3218fe4)
  • new acoustic model requires new soundswallower (973611b)
  • no idea why set_string method does not exist on Travis-CI? (93764a9)
  • noisewords from the acoustic model to avoid misalignments/warnings (bb3c0aa)
  • on Windows, don't let _version.py be generated with CRLF (dedb065)
  • peg web-component version to ^0.1.6 (bbb7edd)
  • remove dead code (that didn't use noisewords properly) (7ab522b)
  • remove unsupported encoding argument from web_api (41d5912)
  • require soundswallower 0.4.1 to fix windows (50cbc37)
  • restore backwards-compatiliby for getLangs==get_langs (93a9b26)
  • restrict to 0.2.x soundswallower (cbf1ef9)
  • switch to binary mdefs (dc212a9)
  • the FSG/JSGF filters out empty ARPABET, not empty words (dc73638)
  • typo (ddd9f65)
  • undo change to pbeam, that was not refactoring! (5e44376)
  • update soundswallower to 0.2.0, fixes failure on long inputs (31606a6)
  • use --debug-g2p instead of --g2p-verbose (cd28076)
  • flask-app: update for current CLI; nicer logs (065e723)
  • update model layout for soundswallower 0.4.0 (d923543)
  • was missing get_string()! mystery solved! (80e4697)
  • work around bug in SoundSwallower on empty alignment (8cfe119)
  • api: allow origins from studio app (3e9ef8a)
  • api: make TextGrid work in studio demo and through API (0fc69a6)
  • LICENSE: state in LICENSE difference in model license (6814640)
  • sub-word: the word is all its subselements, not just word.text (1dc8527)
  • test: fix the sub-word test suite (dd52238)
  • test: make test_audio.py compatible with pydub 0.25.1 (d1a4712)
  • test: make test_indices.py compatible with g2p PR#166 (9119681)
  • test: test suite should be compatible with older g2p versions (8e7602a)
  • test: test_indices.py fixed to work with g2p 0.5.20221013 (6366464)

Performance Improvements

  • include better-performing acoustic model directly in Studio (e932ac1)

Tests

  • api: improve test coverage a bit (7ee7878)
  • add a test for alignment failure (81d4db6)
  • exercise debug_aligner in main process too for codecov (28c101b)
  • fix missing coverage of noisedict code (566753b)
  • test with and without --debug-aligner and ss logs (a574cb4)
  • align-mode: improve unit test coverage (d9bdc65)
  • align-mode: unit test readalongs align --align-mode (3703e44)
  • api: add unittests for api and small fixes (127696f)
  • api: exercise TextGrid through API (83d4b36)
  • sub-word: some direct unit testing of get_word_text (05a2750)
  • sub-word: unit testing for sub-word elements (9751382)
  • add --describe option to run.py and exit 1 on error (09bc0cd)
  • remove test_indices since that is unit testing for g2p (0c87c8e)

Continuous Integration

  • add CODECOV_TOKEN secret for more reliable codecov uploads (8caa8bd)
  • bump action version for node16 update and other GitHub action warnings (e84be69)
  • bump actions versions for pythonpublish workflow (82a38e0)
  • bump ffmpeg action to @v2 for node16 update (bb7676b)
  • enable GitHub actions "run tests" CI (aa254b3)
  • generate coverage report in xml (0bf7017)
  • just nitpicking (efaf50d)
  • making trivial docs changes to test readthedocs (72273db)
  • optimize ffmpeg installation with marketplace action (e2ac676)
  • optimize python dependency installation (e70927f)
  • point build badge to GitHub Actions (23ad825)
  • publish with build instead of calling setup.py directly (1e2eab4)
  • run the CI tests on pull requests too (0ae7365)
  • run unit tests on Windows too (ce369bd)
  • running readalongs in docs requires installing it (3745092)
  • skip CI tests for commits with #no-ci in the message (d9280d8)
  • stop failing CI when codecov fails to upload (b8b2bc3)
  • try to fix .readthedocs.yml (459debc)
  • trying to fix readthedocs build (d5e4bfe)
  • upgrade pip to keep it up to date (5d67c68)

Build Systems

  • optimize and leanify Dockerfile (fb65c8c)
  • remove obsolete dependencies from Dockerfile (36e3c15)
  • deps: bump lxml from 4.6.5 to 4.9.1 (cd82802)
  • deps: update soundswallower to 0.1.5 (eac0268)
  • move flake8 config to setup.cfg (fa4b0fb)
  • tweak Dockerfile (39144af)
  • use ~=0.2.2 instead of >=0.2.2 (6ed0708)

Styles

  • apply some selected pylint and PEP8 recommendations (c95ca35)
  • I prefer audio_duration to audio_length (728991f)
  • move to black 22.3 and reformat everything accordingly (1343542)
  • polish the Contributing instructions (0f65880)
  • polishing my code before submitting my PR (c3711c5)
  • quench some mypy error, and change how we install mypy (23fa5fa)
  • refactor docstrings for log.py and views.py (c369d17)
  • remove breadcrumb code that kept the temporary directory around (af5e085)
  • replace commitlint by gitlint (e91e875)

Documentation

  • add "images" to the cli-guide TOC (393c3cf)
  • add example api calls (8e57c68)
  • add readme section for web api (b3a15b3)
  • add various docstrings (122a528)
  • add web API docstring for auto fastapi documentation (e35d9d6)
  • Ask users to cite our SIGUL 2022 paper (b1c4905), closes #116
  • document new fields (94a805e)
  • document the return value of the /langs endpoint (4520ad8)
  • embed the list of languages right in the doc (4498ff6)
  • improve local doc editing and reviewing instructions (ae3c63f)
  • improve the citation information (06f0bba)
  • link to creating g2p, and other docs improvements (6ba180a)
  • api: document how to launch a dev server without CORS issues (d1c44b8)
  • api: improvement from review (07af0ba)
  • remove DNA instructions from the template (2dd66a5)
  • update readme toc (95e30a6)
  • web_api.py says where its docs are and how to spin it up (6dae2a2)
  • api: point to how to spin up dev API server in README.md (e5fa5f8)

Code Refactoring

  • /convert returns a Response with one file only (badbd9c)
  • add doc and type hints to process_dna() (4f72f0f)
  • add type hints to frames_to_time (1d32ecb)
  • also split out save_images (162a426)
  • clarify code slightly (cd6b9de)
  • default values for config (0cbe235)
  • document read_noisedict (82f8466)
  • extract basic soundswallower config and noisedict reading (63b84e8)
  • extract parsing and preparation of input and fix type errors (b456e54)
  • factor out core of make_dict and make_dict_object (5033cbe)
  • get the right version of black to satisfy nitpicking CI (7f59bbd)
  • make empty alignment code clearer (20d864f)
  • make empty alignment code even clearer (fe93ca6)
  • move out the DNA processing and audio feature config (e585c04)
  • pull out the actual alignment-running code (6df5dbf)
  • pull out the postprocessing of DNA segments and silence (f5126c6)
  • quench mypy errors (aa54382)
  • refactor and remove C901 from save_readalong (7f20ce4)
  • refactor code in preparation for writing /convert_to_TextGrid (5824aa3)
  • remove a meaningless comment (129f898)
  • remove all unused imports and don't ignore flake8:F401 (4f659c2)
  • remove dead code for error detected elsewhere (043b1a5)
  • remove refactoring of config, will be a different PR (3629774)
  • return a FileResponse but make sure it gets cleaned (ab78349)
  • Revert "refactor: quench mypy errors" and update mypy (a874959)
  • revert to old way of specifying config, to debug old versions (1a64694)
  • simplify create_tei_from_text and fix its documentation (cb4d7f2)
  • Update LICENSE for acoustic model (8baac45)
  • update to future-proof way of accessing configuration (e665496)
  • use a path parameter for /convert format (9d4d5ea)
  • use an Enum instead of a regex to validate /convert output formats (b2703c1)
  • use callback to flag obsolete switches (8ccadb3)
  • use named arguments, remove frames_to_time() (eda60e2)
  • use refactored make_tokenizer from g2p (a8e08a2)
  • use underscore_case for get_langs (d36abd1)
  • cli: replace prepare with make-xml and add assemble endpoint to api (f99fa1f)
  • make_fsg: clean up the code and make it DRY (1c86faf)
  • make_fsg: merge make_fsg.py and make_jsgf.py (1d5c119)
  • requirements: separate api requirements from minimal requirements (1070311)
  • use filename= to set FileResponse headers (c8462ff)
  • use new config access method (a4f1c85)
  • word text instead of textual word (1a3a792)