Releases
v0.2.20221114
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 )
You can’t perform that action at this time.