Recent Releases of lhotse

lhotse - v1.30.3 - Nirvana patch 3

What's Changed

  • [fix] avoid import librosa repeatly by @yuekaizhang in https://github.com/lhotse-speech/lhotse/pull/1475
  • Support setting initial shard offset for writing by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1476
  • Testing: CUDA compatibility, remove unused tests, add torchaudio resampling by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1480

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.30.2...v1.30.3

- Python
Published by pzelasko about 1 year ago

lhotse - v1.30.2 - Nirvana patch 2

What's Changed

  • Handle edge case in .repeat() when the input is empty by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1474

Thanks for debugging the issue @monica-sekoyan

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.30.1...v1.30.2

- Python
Published by pzelasko about 1 year ago

lhotse - v1.30.1 - Nirvana patch 1

Patch release with bug fixes to AIStore and multi-storage-client logic amongst others.

What's Changed

  • Fix the returned value for multi-job to_shar export by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1470
  • fix: add timeout to aistore client initialization by @gaikwadabhishek in https://github.com/lhotse-speech/lhotse/pull/1465
  • Restore kaldifeat in CI by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1471
  • fix: add LHOTSEMSCBACKEND_FORCED flag to only enfore MSCIOBackend for non-MSC URLs by @jayya2 in https://github.com/lhotse-speech/lhotse/pull/1472

New Contributors

  • @gaikwadabhishek made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1465

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.30.0...v1.30.1

- Python
Published by pzelasko about 1 year ago

lhotse - v1.30.0 - Nirvana

New features

  • add multi-storage-client backend for file open by @jayya2 in https://github.com/lhotse-speech/lhotse/pull/1455

Learn more about multi-storage-client here.

Bug fixes and other enhancements

  • Fixes forgotten hardcoded path in the original recipe by @m-wiesner in https://github.com/lhotse-speech/lhotse/pull/1438
  • [docs] minor fix by @pengzhendong in https://github.com/lhotse-speech/lhotse/pull/1439
  • Update CI by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1452
  • Avoid overwrite existing custom fields in dnsmos annotation. by @pkufool in https://github.com/lhotse-speech/lhotse/pull/1450
  • pad cuts by num_samples as default by @pengzhendong in https://github.com/lhotse-speech/lhotse/pull/1449
  • Remove validate_cut_set from qa.py by @t13m in https://github.com/lhotse-speech/lhotse/pull/1458
  • Fix edge cases in mismatching num samples in audio collation by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1462
  • Fix more edge cases in audio collation by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1463
  • Add features_dtype arg to collate_features function by @t13m in https://github.com/lhotse-speech/lhotse/pull/1456

New Contributors

  • @t13m made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1458
  • @jayya2 made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1455

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.29.0...v1.30.0

- Python
Published by pzelasko over 1 year ago

lhotse - v1.29.0 - Potion of Everlasting Vigor

What's Changed

Recipes

  • Recipe for the Chinese Dysarthric Speech Database by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1423
  • Optimized ReazonSpeech download speed using hf datasets features by @yuta0306 in https://github.com/lhotse-speech/lhotse/pull/1434

New features

  • Option to save audio in the original format when exporting to shar by @anteju in https://github.com/lhotse-speech/lhotse/pull/1422
  • CutSet.from_huggingface_dataset() for importing HF datasets by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1433
  • Extend AIStore serialization backend to writing by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1435

Other improvements

  • change maxframes to maxduration in docs by @pengzhendong in https://github.com/lhotse-speech/lhotse/pull/1419
  • add opensmile url by @pengzhendong in https://github.com/lhotse-speech/lhotse/pull/1424
  • File reading IO refactoring into backends by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1421
  • Fix .m4a support in some setups (possibly for other formats not supported by libsndfile) by @racoiaws in https://github.com/lhotse-speech/lhotse/pull/1427
  • add to_dict for CustomFieldMixin class by @pengzhendong in https://github.com/lhotse-speech/lhotse/pull/1426
  • Fix consecutive same sampler selection in round robin sampler with num_workers>1 by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1432
  • Fixed copying MixedCut with custom attributes set by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1436

New Contributors

  • @racoiaws made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1427
  • @yuta0306 made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1434

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.28.0...v1.29.0

- Python
Published by pzelasko over 1 year ago

lhotse - v1.28.0 - Lurking Lizard

New features

  • Implement conversion from CutSet to HuggingFace dataset by @domklement in https://github.com/lhotse-speech/lhotse/pull/1398
  • Add workflow: annotate DNSMOS P.835 by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/1406

New recipes

  • Add recipe for the Santa Barbara Corpus of Spoken American English (SBCSAE) by @mmaciej2 in https://github.com/lhotse-speech/lhotse/pull/1395
  • Adds radio data recipe by @m-wiesner in https://github.com/lhotse-speech/lhotse/pull/1400
  • Fleurs by @m-wiesner in https://github.com/lhotse-speech/lhotse/pull/1402
  • Add the Emilia corpus by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/1404

What's Changed

  • [spgispeech] Fix durations object is null issue by @frankyoujian in https://github.com/lhotse-speech/lhotse/pull/1390
  • Fix backend to None while ffmpeg is unavailable. by @pengzhendong in https://github.com/lhotse-speech/lhotse/pull/1392
  • Fix ksponspeech recipe by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/1394
  • Fix cli for ksponspeech by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/1393
  • [fix] fisher_english recipe by @pengzhendong in https://github.com/lhotse-speech/lhotse/pull/1410
  • downgrading sphinx version from 7.2.6 to 7.1.2 by @annapovey in https://github.com/lhotse-speech/lhotse/pull/1409
  • Update lhotse.py by @pengzhendong in https://github.com/lhotse-speech/lhotse/pull/1414
  • Make torchaudio an optional dependency by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1382
  • minor fix by @pengzhendong in https://github.com/lhotse-speech/lhotse/pull/1418
  • Support for AIStore ObjectFile resilient reading when AIStore SDK version >=1.9.1 is present

New Contributors

  • @frankyoujian made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1390
  • @pengzhendong made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1392
  • @mmaciej2 made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1395
  • @domklement made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1398
  • @annapovey made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1409

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.27.0...v1.28.0

- Python
Published by pzelasko over 1 year ago

lhotse - v1.27.0 - Crispy Momo

New recipes

  • [Recipe] Wenetspeech4tts by @yuekaizhang in https://github.com/lhotse-speech/lhotse/pull/1384
  • [Recipe] Spatial LibriSpeech by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1386

Other enhancements

  • Cap the 'trng' random seeds to 2**31 avoiding numpy error by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1379
  • CutSet.prefetch() for background cuts loading during iteration by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1380
  • Include a copyright NOTICE listing major copyright holders by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1381
  • Added has_custom to MixedCut by @anteju in https://github.com/lhotse-speech/lhotse/pull/1383
  • Fix to fixed batch size bucketing and audio loading network connectio… by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1387

New Contributors

  • @anteju made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1383

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.26.0...v1.27.0

- Python
Published by pzelasko almost 2 years ago

lhotse - v1.26.0 - Uranium Fever

What's Changed

  • Add EARS recipe by @Ryu1845 in https://github.com/lhotse-speech/lhotse/pull/1375
  • Concurrent dynamic bucketing by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1373
  • Refactor bucket selection for customization by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1377

New Contributors

  • @Ryu1845 made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1375

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.25.0...v1.26.0

- Python
Published by pzelasko almost 2 years ago

lhotse - v1.25.0 - Himalayan Cat

What's Changed

  • [feature] Add .narrowband() effect (mulaw, lpc10 codecs) by @rouseabout in https://github.com/lhotse-speech/lhotse/pull/1348
  • [feature/optimization] Support for pre-determined batch sizes in DynamicBucketingSampler by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1372
  • [bug] Fix MixedCut transforms serialization by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1370

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.24.2...v1.25.0

- Python
Published by pzelasko almost 2 years ago

lhotse - v1.24.2

New recipes

  • Add KsponSpeech recipe by @whsqkaak in https://github.com/lhotse-speech/lhotse/pull/1353

New features

Several new APIs for manifest classes added in #1361: * cut.iter_data() which iterates over (key, manifest) pairs of all data items attached to a given cut (e.g., ("recording", Recording(...)), ("custom_features", TemporalArray(...))) * is_in_memory property for all manifest types to indicate if it contains data that is held in memory * is_placeholder for non-cut manifests to indicate if a manifest is just a placeholder (has some metadata, but can't be used to load data) * cut.drop_in_memory_data() which converts manifests with in-memory data to placeholders (this is useful for manifests that live longer than just dataloading to avoid blowing up CPU memory and/or slowing down the program)

Bug fixes

  • Restoring smart open for local files if available by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1360
  • Fix Recording.to_dict() when transforms are dicts and transform pickling issues by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1355
  • Utils for discovering attached data and dropping in-memory data by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1361
  • Numpy 2.0 compatibility by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1362

New Contributors

  • @whsqkaak made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1353

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.24.1...v1.24.2

- Python
Published by pzelasko about 2 years ago

lhotse - v1.24.1

What's Changed

  • Support for reading data from AIStore using Python SDK by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1354

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.24...v1.24.1

- Python
Published by pzelasko about 2 years ago

lhotse - v1.24 - The World's Highest Wingsuit Jump

What's Changed

New features

Notably, there's a new optimization for dynamic bucketing sampler in multi-GPU training - it will choose the same (or the closest possible) bucket on each DDP rank to keep the total training step times closer. The expected speedup is dependent on the model and the number of GPUs. We observed 8 and 13% speedups across two experiments compared to non-synchronized bucket selection. The new option is called sync_buckets and is enabled by default.

  • Dynamic bucket selection RNG sync by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1341
  • Add new sampler: weighted sampler by @marcoyang1998 in https://github.com/lhotse-speech/lhotse/pull/1344
  • reverb_rir: support Cut input and in memory data by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1332

Recipes

  • Add the ReazonSpeech recipe by @Triplecq in https://github.com/lhotse-speech/lhotse/pull/1330

Other improvements

  • Missing 'subset' parameter by @daniel-dona in https://github.com/lhotse-speech/lhotse/pull/1336
  • Fix describe on cuts by @keeofkoo in https://github.com/lhotse-speech/lhotse/pull/1340
  • Use libsndfile in recording chunk dataset by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1335
  • Fix librispeech manifest caching by @haerski in https://github.com/lhotse-speech/lhotse/pull/1343
  • Fix one-off edge case in split_lazy by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1347
  • Increase the start diff tolerance for feature loading by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1349
  • More test coverage for lhotse subset by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1345

New Contributors

  • @keeofkoo made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1340
  • @haerski made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1343
  • @Triplecq made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1330

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.23...v1.24

- Python
Published by pzelasko about 2 years ago

lhotse - v1.23 - Snowdrop

What's Changed

Recipes

  • MDCC recipe by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1302
  • Updated text_norm for aishell recipe by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1305
  • Allow skipping missing files in AMI download by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1318
  • Add Chinese TTS dataset baker. by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/1304
  • In CommonVoice corpus, use .tsv headers to parse and not column index by @daniel-dona in https://github.com/lhotse-speech/lhotse/pull/1328

Fixes to a regression in noise mixing augmentations

  • Enhance CutSet.mix() randomness and data utilization by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1315
  • Fix randomness in CutMix transform by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1316
  • select a random sub-region of the noise based on the delta duration by @osadj in https://github.com/lhotse-speech/lhotse/pull/1317

Other improvements

  • Add dataset for audio tagging by @marcoyang1998 in https://github.com/lhotse-speech/lhotse/pull/1241
  • Fix getstrided_batch device by @lifeiteng in https://github.com/lhotse-speech/lhotse/pull/1303
  • Fix typo in README.md by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/1308
  • Fix export of features/array to shar by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1323
  • Fix trim_to_supervision_groups by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1322

New Contributors

  • @daniel-dona made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1328

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.22...v1.23

- Python
Published by pzelasko about 2 years ago

lhotse - v1.22 - Sherpa's Paradise

What's Changed

New features

  • Extending Lhotse dataloading to text/multimodal data by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1295

As an experimental feature, we are extending the API of Lhotse samplers to enable key sampling features for non-audio data such as text. That means text (and other) data can be dynamically multiplexed and bucketed in the same way as audio data with some lightweight wrappers. Please refer to new documentation here: https://lhotse.readthedocs.io/en/latest/datasets.html#customizing-sampling-constraints

  • Multi-channel support improvements
    • Fix loading multi-channel custom recording fields in multi cuts by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1298
    • Channel selection for multi-channel custom recording fields by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1299

Lhotse MultiCuts: * are now exportable into Lhotse Shar format * gained a new method cut = cut.with_channels([0, 1, ...]) to modify the channels they refer to * can have multi-channel custom Recordings with channels selectable via a special custom key (e.g., if defining cut.target_recording, audio can be read via cut.load_target_recording() and channels will be auto-selected by looking up cut.target_recording_channel_selector).

Recipes

  • Add new recipe: speechio by @yuekaizhang in https://github.com/lhotse-speech/lhotse/pull/1297
  • tedlium2 recipe by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1296

Other improvements

  • Use audio backends and export custom fields in Lhotse Shar by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1290
  • Documentation for random seeds in lhotse + extended support of lazy r… by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1291
  • Cutconcat fixed max duration by @swigls in https://github.com/lhotse-speech/lhotse/pull/1292
  • Fix feature_dim of Spectrogram extractors. by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/1294
  • fix whisper for multi-channel data by @yuekaizhang in https://github.com/lhotse-speech/lhotse/pull/1289
  • Xfail flaky SileroVAD tests by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1300

New Contributors

  • @swigls made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1292

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.21...v1.22

- Python
Published by pzelasko over 2 years ago

lhotse - v1.21 - Glaciology

What's Changed

This release patches lhotse to handle cases when libsox is not available for torchaudio. The audio backend code went through additional round of refactoring, and libsndfile is now preferred as a default since it showed faster audio decoding performance in our testing. Going forward, when LHOTSE_AUDIO_BACKEND is set, we will use the same backend for audio loading, audio saving, and reading audio metadata (if possible). This release also adds support for Python 3.12 and PyTorch 2.2.

  • Add VAD to Supervisions in LibriLight Recipe by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/1280
  • Fixes for manifest validation and fixing by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1284
  • Handle error with cachedir creation gracefully by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1287
  • AudioBackend specific save_audio and info, managing missing SoX in torchaudio, Python 3.12 / PyTorch 2.2 support, using libsndfile as preferred audio backend by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1288

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.20...v1.21

- Python
Published by pzelasko over 2 years ago

lhotse - v1.20 - Pining for the Fjords

What's Changed

New features

  • Extended the subset of lhotse that works without installing torchaudio by @pzelasko in #1253 #1255
  • Ensure drop_last=False always returns an equal number of mini-batches by re-distributing and/or duplicating some data by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1277
  • Improved CPU memory usage and shuffling + bucketing in DynamicBucketingSampler by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1276
  • Enable seed randomization in dynamic samplers by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1278

Recipes

  • Fluent Speech Commands dataset, SLU task by @HSTEHSTEHSTE in https://github.com/lhotse-speech/lhotse/pull/1272

Other improvements

  • Update docs with env vars used by Lhotse by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1252
  • support whisper large v3; deepspeed launcher rank world_size setting by @yuekaizhang in https://github.com/lhotse-speech/lhotse/pull/1260
  • Fix non-deterministic tests by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1261
  • Fix duplication issues in CutSet.mix() by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1268
  • Support controllable CutSet.mux weights in multiprocess dataloading by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1266
  • Fix distributed sampler initialization and exceeded sampler warning false positives by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1270
  • Install kaldi-native-io explicitly in the kaldi doc example. by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/1275
  • Allow duplicate cut IDs in a CutSet (CutSet is list-like instead of dict-like) by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1279

New Contributors

  • @HSTEHSTEHSTE made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1272

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.19...v1.20

- Python
Published by pzelasko over 2 years ago

lhotse - v1.19 - The Iceberger

What's Changed

Features

  • Support for OPUS encoding in Lhotse Shar format by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1238
  • Perform CutSet.mix() lazily by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1244
  • CutSampler.map() for transforming CutSet mini-batches by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1246
  • Support multiplexing with a limited number of open streams by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1248

Recipes

  • support icmc eval track 1 by @yuekaizhang in https://github.com/lhotse-speech/lhotse/pull/1235
  • updating the voxpopuli recipe by @vesis84 in https://github.com/lhotse-speech/lhotse/pull/1243
  • Allowing downloading Edin. ver. of VCTK by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1247

Other improvements

  • Micro-optimization for LazyJsonlIterator len() by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1237
  • Drop python3.7 support by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1245
  • Fix normalize_loudness for MixedCuts with PaddingCuts by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1249

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.18...v1.19

- Python
Published by pzelasko over 2 years ago

lhotse - v1.18 - The Ice Age

What's Changed

New features

  • MMS forced alignment backend by @flyingleafe in https://github.com/lhotse-speech/lhotse/pull/1185
  • Two new options: CutSet.from_shar(seed="trng") and DynamicCutSampler(quadratic_duration=...) by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1199
  • Faster initialization option in DynamicBucketingSampler + various fixes by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1210
  • CLI to estimate and print bucket bins for a cut set by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1214
  • More flexible setting of audio backends by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1219

Recipes

  • Add recipe for Medical Corpus by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/1212
  • minor fix for the AMI recipe by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1178
  • fixes compatibility with Edin. ver. VCTK dataset by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1182
  • Minor bug fix for eval2000 recipe by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1127
  • support far field data for icmcasr challenge by @yuekaizhang in https://github.com/lhotse-speech/lhotse/pull/1189
  • fixed text norm for tal_csasr by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1198 https://github.com/lhotse-speech/lhotse/pull/1213

Other improvements

  • MixedCut.truncate: fix the case when only PaddingCuts are left by @flyingleafe in https://github.com/lhotse-speech/lhotse/pull/1157
  • Fix some potential problems in OPUS file reading by @yangb05 in https://github.com/lhotse-speech/lhotse/pull/1181
  • fix an issue where 404 exception leaves 0 byte placeholder by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1190
  • Prevent accidental renaming when using with_suffix by @chiiyeh in https://github.com/lhotse-speech/lhotse/pull/1192
  • Fix shar export for num_jobs>1 and recordings with transforms by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1196
  • fix speaker error by @yzmyyff in https://github.com/lhotse-speech/lhotse/pull/1197
  • Fix for trim_to_alignments issue by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1193
  • Add deterministic_rng to more flaky tests by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1200
  • update_recipes by @vesis84 in https://github.com/lhotse-speech/lhotse/pull/1208
  • SpeechSynthesisDataset returns speaker_ids by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1206
  • Fix audio backend selection by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1216
  • save sdm files into a single mdm file to do gss by @yuekaizhang in https://github.com/lhotse-speech/lhotse/pull/1221
  • Modify SpeechSynthesisDataset class, make it return text by @yaozengwei in https://github.com/lhotse-speech/lhotse/pull/1205
  • Allow lhotse installation without torchaudio for a limited set of features by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1231
  • Use attacut module for Thai word tokenization (in MMS forced alignment) by @flyingleafe in https://github.com/lhotse-speech/lhotse/pull/1232

New Contributors

  • @yangb05 made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1181
  • @chiiyeh made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1192
  • @yzmyyff made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1197
  • @yaozengwei made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1205

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.17...v1.18

- Python
Published by pzelasko over 2 years ago

lhotse - v1.17 - Swirling Ice Pick

What's Changed

New supported datasets

  • Speech to text translation utilizing 3-way data by @AmirHussein96 in https://github.com/lhotse-speech/lhotse/pull/1099
  • "This American Life" dataset recipe by @flyingleafe in https://github.com/lhotse-speech/lhotse/pull/1140
  • Add VoxConverse recipe by @flyingleafe in https://github.com/lhotse-speech/lhotse/pull/1142
  • Add recipe for ICASSP2024 ICMC-ASR Grand Challenge by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/1172

New features

  • Initial support for video by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1151
  • copy_data: copy CutSet + its data to a new location by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1130
  • Add whisper feature extractor by @yuekaizhang in https://github.com/lhotse-speech/lhotse/pull/1159
  • VAD workflow with Silero by @rilshok in https://github.com/lhotse-speech/lhotse/pull/1160

Enhancements and fixes

  • Fix feature extraction for lhotse shar CLI by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1123
  • Add m4a to special cases for num samples determination by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1124
  • making the kaldi import more robust by @vesis84 in https://github.com/lhotse-speech/lhotse/pull/1129
  • Tutorial materials in main readme page by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1133
  • optimize save_audios() by @vesis84 in https://github.com/lhotse-speech/lhotse/pull/1131
  • Fix bugs in resumable_download by @flyingleafe in https://github.com/lhotse-speech/lhotse/pull/1135
  • Arxiv badge by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1136
  • Fix docs build by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1137
  • Fix failing tests after repairing docs build by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1138
  • Remove deprecated code, make minor cleanups by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1139
  • Enforce deterministic RNG behavior in repeatedly flaky tests by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1143
  • Refactor audio.py into smaller modules by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1144
  • Fix broken save_audio by @flyingleafe in https://github.com/lhotse-speech/lhotse/pull/1147
  • Optimize cut_into_windows for long cuts by @flyingleafe in https://github.com/lhotse-speech/lhotse/pull/1150
  • Fixes for #1152 #1153 and #1154 by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1156
  • fix bugs in downloading voxpopuli corpus by @DongjiGao in https://github.com/lhotse-speech/lhotse/pull/1165
  • Support export_to_kaldi on resampled recordings by @sih4sing5hong5 in https://github.com/lhotse-speech/lhotse/pull/1162
  • Refactor CutSet.describe to enable parallel statistics computation by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1168
  • Allow dashes in feat CLI by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1169
  • Apply deterministic RNG to more unit tests by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1173
  • Add fix_manifests in all recipes by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1128
  • Fix small bug in eval2000 by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1126
  • Fix download in LibriCSS recipe by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1148

New Contributors

  • @sih4sing5hong5 made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1162
  • @rilshok made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1160

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.16...v1.17

- Python
Published by pzelasko almost 3 years ago

lhotse - v1.16 - Mountain Warming

What's Changed

Recipes

New: * Add speech translation corpus MuST-C by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/1079 * Extend LibriTTS recipe to support LibriTTS-R by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1082 * SURT dataset by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/951 * [Recipe] VoxPopuli by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1089 * Air Traffic Control (ATC) corpora - various improvements 2 by @rouseabout in https://github.com/lhotse-speech/lhotse/pull/1090 * Add Bengali.AI Speech corpus for Kaggle Research Code Competition by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/1108 * Support AudioMNIST by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/1093

Improvements: * Add multithread to peoples_speech by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/1078 * Add multiprocess mechanism for Common Voice by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/1025 * text normalization for aishell4 by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1103 * updated text norm for aishell2 by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1104 * updated text norm for magicdata by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1105 * PR for the KeSpeech recipe by @JinZr in https://github.com/lhotse-speech/lhotse/pull/1106 * Small changes in some existing recipes by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1110

New features

  • CutSet.from_files constructor for random order multi-file cutsets by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1085
  • Infinite random-file random-line stateless sampler by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1102
  • StatelessSampler: remove TRNG, make base_seed a mandatory parameter by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1109

Other improvements

  • Loudness fix by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1087
  • Update SpecAug custom state_dict to be compatible with PyTorch by @osadj in https://github.com/lhotse-speech/lhotse/pull/1091
  • Adding log spectrogram by @Tomiinek in https://github.com/lhotse-speech/lhotse/pull/1094
  • add user defined kaldi feature type by @ZihanLiao in https://github.com/lhotse-speech/lhotse/pull/1101
  • Update cuts.rst by @taras-sereda in https://github.com/lhotse-speech/lhotse/pull/1112
  • Add alignment scores from CTM by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1116
  • Fix and enhance TIMIT recipe by @flyingleafe in https://github.com/lhotse-speech/lhotse/pull/1072
  • Fixing shar reader assert by @Tomiinek in https://github.com/lhotse-speech/lhotse/pull/1117
  • Support del (cut|supervision).custom_field by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1113
  • Exposing tolerance for matching supervisions with features in Kaldi imported data dirs by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1119
  • Some additional options for supervision-related methods by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1115

New Contributors

  • @osadj made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1091
  • @ZihanLiao made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1101
  • @taras-sereda made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1112

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.15...v1.16

- Python
Published by pzelasko almost 3 years ago

lhotse - v1.15 - Magmatic Fractionation

What's Changed

  • Resumable dataset downloads by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1045
  • AMI beamformed mic option by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1048
  • Add options to prepare data according to CHiME-7 by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1051
  • Support Shar export of multi-channel, multi-source recording and cuts with start>0 by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1053
  • Add mono_downmix option for MultiCut.to_mono() by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1052
  • Support audio duration mismatch tolerance in MixedCut.load_audio() by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1054
  • AudioCache: caching for "command" type of audio files by @vesis84 in https://github.com/lhotse-speech/lhotse/pull/1050
  • Small changes in some cut methods by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1059
  • Enhancements and bug fixes for AMI and ICSI by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1058
  • Add GigaST corpus by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/1062
  • Air Traffic Control (ATC) corpora by @rouseabout in https://github.com/lhotse-speech/lhotse/pull/1061
  • Fix resumable_download for fully downloaded files by @flyingleafe in https://github.com/lhotse-speech/lhotse/pull/1060
  • Fix for audio loading optimization to return the expected number of samples by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1071
  • Support preparing almost all NSC data part except PART3_SameBoundaryMic by @trunglebka in https://github.com/lhotse-speech/lhotse/pull/1066
  • Fix bugs in MixedCut logic by @flyingleafe in https://github.com/lhotse-speech/lhotse/pull/1073
  • Air Traffic Control (ATC) corpora - various improvements by @rouseabout in https://github.com/lhotse-speech/lhotse/pull/1070

New Contributors

  • @rouseabout made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1061
  • @flyingleafe made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1060

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.14...v1.15

- Python
Published by pzelasko about 3 years ago

lhotse - v1.14 - Curiously Delicious Snowflakes

What's Changed

New features

  • Add CLIs for creating Lhotse Shar directories and computing features by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1042
  • Integrate torchaudio's 2.0 ffmpeg backend for audio loading + add some optimizations by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1043
    • (note: with PyTorch 2.0 set the following env var: TORCHAUDIO_USE_BACKEND_DISPATCHER=1)
  • Loudness normalization with pyloudnorm by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1016

Recipes

New

  • LibriLight dataset by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/1014
  • EDACC recipe by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1022
  • [Recipe] BUT Reverb DB by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1028

Improvements

  • Aishell3 speaker, gender, and tone labels by @zjwang21 in https://github.com/lhotse-speech/lhotse/pull/1027
  • Small fix for speechcommands.py by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/1012
  • Minor fix in LibriCSS recipe by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1021
  • Add parts and num_jobs options for tedlium by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1030

Other enhancements

  • Bump version to 1.14.0.dev and fix .dev version suffix handling by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1010
  • Update recording id in the supervision after applying WPE by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1015
  • Specify what formats are expected when using the pipe: prefix to load cuts by @srdecny in https://github.com/lhotse-speech/lhotse/pull/1013
  • Function to drop alignments from cut by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1019
  • Fix bug in lazy CutSet subset with last by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1023
  • Fix LoudnessNormalization by @lifeiteng in https://github.com/lhotse-speech/lhotse/pull/1029
  • API to enable/disable ffmpeg-torchaudio by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1032
  • Ensure RIR has same sampling rate as audio by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1037
  • Add transforms attribute for MixedCut by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1035
  • Fix #1038 and #1039 by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1040

New Contributors

  • @srdecny made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1013

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.13...v1.14

- Python
Published by pzelasko about 3 years ago

lhotse - v1.13 - Local Freezing

What's Changed

New tutorials

  • Lhotse Shar tutorial notebook by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1006

Recipes

New

  • CSJ: Faithful Manifest by @teowenshen in https://github.com/lhotse-speech/lhotse/pull/940
  • himia dataset by @glynpu in https://github.com/lhotse-speech/lhotse/pull/991
  • Speech Commands v0.01 & v0.02 dataset by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/996
  • Aishell3 by @zjwang21 in https://github.com/lhotse-speech/lhotse/pull/998

Fixes * add dataset-parts argument to libritts by @lifeiteng in https://github.com/lhotse-speech/lhotse/pull/956 * Add option to create segments for LibriCSS by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/961 * fix tal_csasr data pre-processing by @KajiMaCN in https://github.com/lhotse-speech/lhotse/pull/975 * Fix wrong Common Voice parsing by @trunglebka in https://github.com/lhotse-speech/lhotse/pull/979 * add the download function of commonvoice command line interface by @manbaaaa in https://github.com/lhotse-speech/lhotse/pull/968 * store LJSpeech normalized text by @lifeiteng in https://github.com/lhotse-speech/lhotse/pull/988 * LJSpeech strip normalized text by @lifeiteng in https://github.com/lhotse-speech/lhotse/pull/992

New features

  • Optional quadratic duration correction for dynamic bucketing sampler by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/950
  • Tentative lhotse --> kaldi manifests conversion for multiple channels by @popcornell in https://github.com/lhotse-speech/lhotse/pull/962
  • Add RecordingChunkIterableDataset by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/985
  • Python 3.11 support by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/866
  • (cut|recording).dereverb_wpe() API + more stable numpy version by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/1000

General improvements

  • Release v1.12, bump dev version to 1.13.0.dev by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/945
  • Batch extraction for kaldi features by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/947
  • Fix features_lens for rare failure cases by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/953
  • add 'decodeoptions' to annotatewith_whisper by @Joemgu7 in https://github.com/lhotse-speech/lhotse/pull/954
  • Preserve custom field when convering MultiCut to MonoCuts by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/957
  • Fix libritts dataset-parts by @lifeiteng in https://github.com/lhotse-speech/lhotse/pull/960
  • Handling of -1 in the segments file by @JinZr in https://github.com/lhotse-speech/lhotse/pull/952
  • Bug in trim_to_supervision_groups + tolerance for overspans by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/963
  • Fix for OnTheFlyFeatures with batched inference by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/965
  • Allow dash in SequentialJsonlWriter by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/967
  • Support move_to_memory for MixedCut and PaddingCut by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/970
  • Add new method MixedCut.to_mono() by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/973
  • Add multiprocessing to meeting simulation workflow by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/972
  • Kaldi-import: floor wav duration to milliseconds by @vesis84 in https://github.com/lhotse-speech/lhotse/pull/971
  • Fix bug in computing same speaker pause distribution by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/974
  • Add padding direction when using transform ExtraPadding by @marcoyang1998 in https://github.com/lhotse-speech/lhotse/pull/980
  • make sure the ProcessPoolExecutor executor uses spawn context by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/982
  • Small fix for example in class SupervisionSegment by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/994
  • Changing devices in Fbank by @Tomiinek in https://github.com/lhotse-speech/lhotse/pull/999
  • Fix for issues #1001 by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/1002
  • Fix typo in https://github.com/lhotse-speech/lhotse/blob/master/lhotse/cut/mixed.py line 76 by @yfyeung in https://github.com/lhotse-speech/lhotse/pull/1003
  • Add cache for KaldiReader by @david20181 in https://github.com/lhotse-speech/lhotse/pull/1004
  • Fix loadkaldidara_dir not loading segments and feats.scp correctly by @yasumori in https://github.com/lhotse-speech/lhotse/pull/1005
  • Fix minor bug in conversational meeting simulation algorithm by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/1007

New Contributors

  • @Joemgu7 made their first contribution in https://github.com/lhotse-speech/lhotse/pull/954
  • @lifeiteng made their first contribution in https://github.com/lhotse-speech/lhotse/pull/956
  • @vesis84 made their first contribution in https://github.com/lhotse-speech/lhotse/pull/971
  • @KajiMaCN made their first contribution in https://github.com/lhotse-speech/lhotse/pull/975
  • @marcoyang1998 made their first contribution in https://github.com/lhotse-speech/lhotse/pull/980
  • @manbaaaa made their first contribution in https://github.com/lhotse-speech/lhotse/pull/968
  • @yfyeung made their first contribution in https://github.com/lhotse-speech/lhotse/pull/994
  • @zjwang21 made their first contribution in https://github.com/lhotse-speech/lhotse/pull/998
  • @david20181 made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1004
  • @yasumori made their first contribution in https://github.com/lhotse-speech/lhotse/pull/1005

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.12...v1.13

- Python
Published by pzelasko over 3 years ago

lhotse - v1.12 - Spicy Yak

What's Changed

  • Downloading the AMI dataset using CLI will trigger TypeError by @JinZr in https://github.com/lhotse-speech/lhotse/pull/919
  • AliMeeting recipe enhancement by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/909
  • fixing alignments by @lubacien in https://github.com/lhotse-speech/lhotse/pull/914
  • Add room and source RNG seeds option for reverb_rir by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/920
  • Fix serialization for reverb by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/927
  • Add trim_to_alignments() method by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/926
  • Remove negative duration segments from whisper by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/928
  • Add trim_to_supervision_groups method by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/930
  • Fix the use of deprecated np.float in numpy>=1.24 by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/936
  • Remove 'NonPositiveEnergyError' exception when mix audio by @drawfish in https://github.com/lhotse-speech/lhotse/pull/922
  • minor update for recipes.utils.readmanifestsif_cached by @trunglebka in https://github.com/lhotse-speech/lhotse/pull/932
  • small pad fix by @lubacien in https://github.com/lhotse-speech/lhotse/pull/934
  • Unit test that Shar reader is working when shard tar files are named randomly by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/937
  • [workflow] Multi-talker meeting simulation by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/929
  • Safe extract for more recipes by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/941
  • Sampler.filter() preserves previous filters on multiple calls by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/944
  • Batched feature extraction for s3prl by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/942

New Contributors

  • @lubacien made their first contribution in https://github.com/lhotse-speech/lhotse/pull/914
  • @trunglebka made their first contribution in https://github.com/lhotse-speech/lhotse/pull/932

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.11...v1.12

- Python
Published by pzelasko over 3 years ago

lhotse - v1.11 - Llama Llama Red Pajama

This release has three new recipes and mostly bug fixes.

What's Changed

  • [recipe] DiPCo -- dinner party corpus from Amazon by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/893
  • [recipe] CHiME-6 dinner party corpus by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/895
  • [recipe] Add xbmu amdo31 by @sendream in https://github.com/lhotse-speech/lhotse/pull/902
  • Shar: allow per node+worker randomization of shards order by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/905
  • Shar: fix shuffling/splitting when cutmapfn is provided to CutSet.from_shar by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/907
  • Shar: tracking epochs in shard iterator with option for shard re-shuffling each epoch by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/894
  • Shar: missing param in CutSet.from_shar + better error msg by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/901
  • Fix an edge case with BucketingSampler and a small amount data/buckets by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/898
  • Remove some deprecated methods by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/900
  • More details in cuts.describe() + fix for trim_to_unsupervised_segments() by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/899
  • Fix save_audios by @pkufool in https://github.com/lhotse-speech/lhotse/pull/896
  • Fix audio save for parallel workers by @pkufool in https://github.com/lhotse-speech/lhotse/pull/903
  • Fix bug in load audio (multi-channel) by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/906
  • Fix SNR sampling error in CutSet.mix by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/915

New Contributors

  • @sendream made their first contribution in https://github.com/lhotse-speech/lhotse/pull/902

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.10...v1.11

- Python
Published by pzelasko over 3 years ago

lhotse - v1.10 - Lhotse Shar

[experimental] Lhotse Shar -- a modular, sharded, sequential I/O data storage format

This release has a major (experimental) feature called Lhotse Shar. It's a data format inspired by WebDataset tar files that's intended to be very fast for sequential reading of data stored in tarfile shards. It extends the ideas of WebDataset by allowing to store multiple types of features and metadata in separate tar archives that are iterated and loaded together with cuts. It allows to extend existing data with new fields (think different feature extractors, alignments, embeddings, etc.) without triggering a hard copy as would be the case with previous sequential formats supported by Lhotse. Preliminary benchmarking indicated it is as fast as WebDataset both with local disks and cloud storage.

A tutorial notebook about Lhotse Shar is planned to be released later this year.

What's Changed

  • Sharded tar writers for Lhotse Shar format by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/850
  • load ark directly in KaldiReader by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/862
  • Add a concrete example showing how to import a Kaldi data directory by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/864
  • Fixing shuffling of CutSet with a single cut by @Tomiinek in https://github.com/lhotse-speech/lhotse/pull/869
  • Fixed an erroneous assertion by @JinZr in https://github.com/lhotse-speech/lhotse/pull/874
  • Small changes to make channel attribute hashable by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/875
  • Safe extract tarballs by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/876
  • Shar: tarfiles now also contain metadata by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/870
  • Shar: support dynamically attaching custom non-data attributes by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/877
  • Option not to save cuts in SharWriter by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/878
  • Minor changes in some recipes by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/880
  • add ssl feature extractor by @DongjiGao in https://github.com/lhotse-speech/lhotse/pull/881
  • Shar: a way to attach shard-specific metadata to cuts from each shard by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/884
  • Always return integer sampling rate when reading audio by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/885
  • Add option to split AMI segments similar to Kaldi by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/889

New Contributors

  • @JinZr made their first contribution in https://github.com/lhotse-speech/lhotse/pull/874
  • @DongjiGao made their first contribution in https://github.com/lhotse-speech/lhotse/pull/881

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.9...v1.10

- Python
Published by pzelasko over 3 years ago

lhotse - v1.9 Neighboring Peaks

Major features

  • MultiCut data type: simplifies working with multi-channel data (contribution from @desh2608)
  • CSJ recipe (contribution from @teowenshen)
  • lots of bug fixes

What's Changed

  • create proper wav_id in the segments file for multichannel recording by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/831
  • kaldi: add an switch/option to read the durations from kaldi utt2dur … by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/832
  • Update test packages by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/837
  • MultiCut to store multi-channel recordings with shared supervision by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/822
  • Use CutSet for whisper annotation workflow by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/834
  • use spawn() as the strategy to prevent heisenbug by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/841
  • Compatibility for reading alignments saved before Lhotse v1.8 by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/842
  • make regexp string raw by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/836
  • Use absolute recording paths in yesno recipe by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/845
  • Fix CutSet.computeandstore_features support for lazy CutSets by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/844
  • Fixing some QA functions for lazy manifests by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/848
  • Fix timestamps in Whisper annotation workflow by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/847
  • Update supervisions channels in multi-channel recipes by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/838
  • Allow retaining or trimming channels in trimtosupervisions by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/852
  • Match cut_id to utt_id if there is exactly one supervision per cut by @wgb14 in https://github.com/lhotse-speech/lhotse/pull/853
  • forced alignment: use num2words to get word timestamps for numbers by @eschmidbauer in https://github.com/lhotse-speech/lhotse/pull/849
  • Prepare CSJ by @teowenshen in https://github.com/lhotse-speech/lhotse/pull/851
  • Small changes in trim_to_supervisions() by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/855
  • Fix checkpoints of samplers that were iterated over more than once within the same epoch by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/854
  • Update fisher_english.py by @maxlvov in https://github.com/lhotse-speech/lhotse/pull/858

New Contributors

  • @eschmidbauer made their first contribution in https://github.com/lhotse-speech/lhotse/pull/849
  • @teowenshen made their first contribution in https://github.com/lhotse-speech/lhotse/pull/851
  • @maxlvov made their first contribution in https://github.com/lhotse-speech/lhotse/pull/858

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.8...v1.9

- Python
Published by pzelasko over 3 years ago

lhotse - v1.8 Sudden Avalanche

Breaking changes

  • Python 3.6 is no longer supported as of Lhotse v1.8. If you need to use Python 3.6, please revert to Lhotse 1.7 and earlier.

Highlights

  • New experimental module of lhotse: workflows, now integrates optional third party packages that assist corpus creators in automated data curation. With release 1.8, we support OpenAI Whisper for automatic transcription and segmentation, and torchaudio Wav2Vec2/Hubert ASR bundles for forced alignment.

ctxG6RI

What's Changed

  • Fix read and write in piped CLI by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/807
  • Default behavior of CutSet.mix by @ZuoyunZheng in https://github.com/lhotse-speech/lhotse/pull/809
  • Adding more info about resampling options by @RuABraun in https://github.com/lhotse-speech/lhotse/pull/815
  • Add pad_silence option to extend_by by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/816
  • Message when calling len() on LazyFilter by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/817
  • Refactor cut and retain git blame history by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/820
  • Audio backend refactoring and a workaround for FLAC reading from/writing to in-memory buffers by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/814
  • Experimental Lhotse feature: corpus creation tools (workflows), starting with OpenAI Whisper support by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/824
  • Drop support for Python 3.6 by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/829
  • [workflow] Word-level forced alignment with pretrained models from Torchaudio by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/827

New Contributors

  • @ZuoyunZheng made their first contribution in https://github.com/lhotse-speech/lhotse/pull/809

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.7...v1.8

- Python
Published by pzelasko almost 4 years ago

lhotse - v1.7 - Rejuvenation Potion

What's Changed

  • add test data to bvcc by @oplatek in https://github.com/lhotse-speech/lhotse/pull/797
  • Add reverb with fast RIR generator by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/799
  • Support snip_edges=True in online_inference of Kaldi feature extractors by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/802
  • Remove warning about Lhotse not being stable from README.md by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/804
  • Update the documentation related to optional packages by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/805

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.6...v1.7

- Python
Published by pzelasko almost 4 years ago

lhotse - 1.6 - Frozen Palm Tree

What's Changed

  • Feature/fix 754 voxceleb download by @mikuchar in https://github.com/lhotse-speech/lhotse/pull/776
  • Support Kaldi data dierectories without segments file. by @MartinKocour in https://github.com/lhotse-speech/lhotse/pull/789
  • Add normalization for text of mulitcn recipe:thchs30, talcsasr, talasr, aishell, aishell2,etc by @shanguanma in https://github.com/lhotse-speech/lhotse/pull/760
  • Improve support for custom Recordings by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/791
  • Add Cut.has(field) method to query Cuts for custom attributes by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/792
  • Add normalization for aishell2 recipe by @shanguanma in https://github.com/lhotse-speech/lhotse/pull/790

New Contributors

  • @mikuchar made their first contribution in https://github.com/lhotse-speech/lhotse/pull/776
  • @MartinKocour made their first contribution in https://github.com/lhotse-speech/lhotse/pull/789

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/1.5...v1.6

- Python
Published by pzelasko almost 4 years ago

lhotse - 1.5 - Little Leaf

What's Changed

  • Describe more information about cuts by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/772
  • Change vctk.py to adapt the vctk dataset downloaded from edinburgh url by @luomingshuang in https://github.com/lhotse-speech/lhotse/pull/775
  • Fix restoring sampler state with world_size>1 by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/773
  • Revert #738 to use aidatatang as the prefix for aidatatang_200zh. by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/782
  • use tolerance when checking duration mismatch by @shaynemei in https://github.com/lhotse-speech/lhotse/pull/781

New Contributors

  • @shaynemei made their first contribution in https://github.com/lhotse-speech/lhotse/pull/781

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.4...v1.5

- Python
Published by pzelasko almost 4 years ago

lhotse - v1.4 - Candescent Crust

What's Changed

  • Fix lambda warnings from lazy manifests + leverage dill if installed for pickling lambdas by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/748
  • multi_cn recipes: aishell2, magicdata, primewords, stcmds, tal_asr, tal_csasr, thchs_30 by @shanguanma in https://github.com/lhotse-speech/lhotse/pull/738
  • Deprecate strict, proportional_sampling, and bucket_method arguments by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/756
  • Fix lhotse cut simple CLI by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/759
  • Fix issues with eager CutSet creation from lazy manifests by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/763
  • DailyTalk recipe by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/767
  • add aishell2 dev test by @yuekaizhang in https://github.com/lhotse-speech/lhotse/pull/766
  • Enable GlobalMVN computation with on-the-fly feature extraction by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/769
  • Add support for Python 3.10 and PyTorch 1.12 by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/764

New Contributors

  • @yuekaizhang made their first contribution in https://github.com/lhotse-speech/lhotse/pull/766

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.3...1.4

- Python
Published by pzelasko about 4 years ago

lhotse - v1.3 - Curiously Inviting Icicles

What's Changed

  • Fix plotting MixedCut audio tracks by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/723
  • [continued] Fixes Bucketing sampler equal duration method that drops cuts by @m-wiesner in https://github.com/lhotse-speech/lhotse/pull/724
  • feature extraction will read RecordingSet from a file, not just json. by @RuABraun in https://github.com/lhotse-speech/lhotse/pull/728
  • Use lilcom_chunky as default in CLI by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/729
  • Set CLI torch number of threads to 1 by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/732
  • Update wenet_speech.py by @fanlu in https://github.com/lhotse-speech/lhotse/pull/731
  • Fix heroico regex strings by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/734
  • Update mgb2.py by @AmirHussein96 in https://github.com/lhotse-speech/lhotse/pull/725
  • Remove file handle caching from LilcomChunkyReader by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/737
  • Make h5py an optional dependency by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/741
  • Assert CutSet.mix() argument cuts is not a lazy manifest by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/742
  • CutSet: more methods are lazy + two simplified common use-cases attach_tensor and load_audio by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/744
  • Collections: support reading from/writing to "-" (including webdataset) by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/745
  • fix CommonVoice prepare by @mohsen-goodarzi in https://github.com/lhotse-speech/lhotse/pull/743

New Contributors

  • @RuABraun made their first contribution in https://github.com/lhotse-speech/lhotse/pull/728
  • @mohsen-goodarzi made their first contribution in https://github.com/lhotse-speech/lhotse/pull/743

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.2...v1.3

- Python
Published by pzelasko about 4 years ago

lhotse - v1.2 - Winter in the South

New Recipes

  • Adding lhotse recipe to prepare eval2000 data by @GoVivace in https://github.com/lhotse-speech/lhotse/pull/679
  • adding Earnings-21 dataset from rev-dot-com by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/709
  • Adding the second revdotcom's earnings corpus by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/713
  • MGB2 recipe by @AmirHussein96 in https://github.com/lhotse-speech/lhotse/pull/718

What's Changed

  • Fix import namespaces by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/698
  • .repeat(..., preserve_id=...) option for repeating manifests by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/699
  • Kaldi impex: remove invalid test by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/700
  • Minor fix in base url for AliMeeting download by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/702
  • [aidatatang_200zh] Avoid being converted to ASCII when preparing manifest by @luomingshuang in https://github.com/lhotse-speech/lhotse/pull/703
  • [alimeeting] Fix some path errors for alimeeting.py by @luomingshuang in https://github.com/lhotse-speech/lhotse/pull/705
  • [ali_meeting] Avoid being converted to ASCII by @luomingshuang in https://github.com/lhotse-speech/lhotse/pull/704
  • Test for webdataset data de-duplication across ranks by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/706
  • Fixing data duplication with WebDataset in multi-node multi-worker training by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/707
  • Fix epoch setting for WebDataset shard shuffling by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/708
  • Full shard shuffling with webdataset by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/711
  • Raise an error when BucketingSampler is used with a lazy CutSet by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/710
  • Normalize output path names for recipes by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/712
  • [webdataset] Add shard of origin to Cut.shard_origin custom field by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/714
  • Update examples of combining datasets with RoundRobinSampler and add stop_early option. by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/716
  • pre-commit, isort + CI checks + running it on all code by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/720

New Contributors

  • @GoVivace made their first contribution in https://github.com/lhotse-speech/lhotse/pull/679
  • @AmirHussein96 made their first contribution in https://github.com/lhotse-speech/lhotse/pull/718

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.1...v1.2

- Python
Published by pzelasko about 4 years ago

lhotse - v1.1 - Minor Mana Potion

What's Changed

  • auto_increment_epoch in IterableDatasetWrapper, strict=True default for bucketing by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/661
  • Support storing Recording objects in cuts custom fields by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/662
  • nara_wpe based WPE dereverberation as data augmentation by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/663
  • Update rirs noises path by @Tomiinek in https://github.com/lhotse-speech/lhotse/pull/665
  • Fix reading duration when importing piped input data from kaldi by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/667
  • Fixes to split-lazy by @wgb14 in https://github.com/lhotse-speech/lhotse/pull/664
  • Read matrix shape information without reading the whole matrix. by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/668
  • Set a num_digits for split-lazy by @wgb14 in https://github.com/lhotse-speech/lhotse/pull/669
  • DynamicBucketingSampler supports very small data by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/670
  • ~20x faster speed perturbation by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/672
  • Fix assertions, rename variables by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/677
  • Add max_cuts option to DynamicBucketingSampler by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/681
  • Fix recording_id in MixedCut.compute_and_store_features(..., mix_eagerly=True) by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/682
  • Support for restoring state of dynamic samplers by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/684
  • Add .cut_into_windows method to individual cuts by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/685
  • kaldi pipeline -- small whitespace fixes and making pycheck happier by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/686
  • Some minor fixes. by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/688
  • kaldi import/export -- adding basic tests for kaldi import/export by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/687
  • Fix bug in cut.truncate, format selection in cut.save_audio, less memory use in AudioMixer by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/690
  • Pad channels to same length when loading audio by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/689
  • Fix restoring state in dynamic samplers with DataLoader num_workers>0 by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/692
  • Fix samplers dropping cuts when world_size > 1 by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/695
  • FIX: kaldi import fets.scp -- use the correct id when underscore mapping by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/694
  • Audio loading fault tolerant feature extraction in compute_and_store_features by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/683

New Contributors

  • @Tomiinek made their first contribution in https://github.com/lhotse-speech/lhotse/pull/665
  • @wgb14 made their first contribution in https://github.com/lhotse-speech/lhotse/pull/664

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v1.0...v1.1

- Python
Published by pzelasko about 4 years ago

lhotse - South Peak

Recipes

New corpora

  • VoxCeleb and RIR recipes by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/475
  • Add WenetSpeech recipe by @pkufool in https://github.com/lhotse-speech/lhotse/pull/487
  • ICSI meeting corpus by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/526
  • ASpIRE data preparation recipe by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/528
  • The People's Speech recipe by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/529
  • bvcc/VoiceMOS challange data recipe by @oplatek in https://github.com/lhotse-speech/lhotse/pull/578
  • Add recipe for aidatatang_200zh. by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/593
  • SPGISpeech recipe by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/600
  • [recipe] AliMeeting by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/608

Existing recipes improvements

  • A change for tedlium.py by @luomingshuang in https://github.com/lhotse-speech/lhotse/pull/479
  • improve adept preparation: adds text interpretation by @oplatek in https://github.com/lhotse-speech/lhotse/pull/474
  • Reduce memory usage when writing GigaSpeech manifests by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/494
  • adding previous utterance for libritts supervisions by @oplatek in https://github.com/lhotse-speech/lhotse/pull/510
  • bugfix for prepare_librispeech command by @rosrad in https://github.com/lhotse-speech/lhotse/pull/516
  • Improving Fisher recipe by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/539
  • Some Fisher fixes and manifest validation fixes by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/541
  • ICSI Recipe - Minor Doc correction by @LasseWolter in https://github.com/lhotse-speech/lhotse/pull/544
  • Minor updates for AMI and ICSI by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/545
  • [AMI] Added missing IHM channels by @LasseWolter in https://github.com/lhotse-speech/lhotse/pull/555
  • Minor changes to LibriCSS and AISHELL-4 recipes by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/580
  • Updated ICSI download structure/args for clarity by @LasseWolter in https://github.com/lhotse-speech/lhotse/pull/583
  • Fix(icsi-recipe): Use new directory structure in prepare_icsi by @LasseWolter in https://github.com/lhotse-speech/lhotse/pull/592
  • Babel recipe fix by @m-wiesner in https://github.com/lhotse-speech/lhotse/pull/647

New features

Support for custom attributes in Cuts

This feature allows attaching arbitrary type of data to cuts: alignments, multiple feature sets, etc.

  • Array and TemporalArray manifests (generalization of Features for arbitrary data) by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/458
  • Support custom MonoCut attrs (with special support for loading Arrays) by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/459
  • Collation of custom cut fields into PyTorch tensors by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/476
  • custom_collate_field pads to the longest read array instead of using CutSet.pad() by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/482
  • Add with_path_prefix to Array and TemporalArray by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/499
  • Collation promotes custom field int sequences to int64 by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/507
  • More flexibility in mixing cuts with custom attributes by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/642

Data augmentation

  • Reverberation using room impulse response by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/477
  • Add early reverb option for RIR-based augmentation by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/524
  • Options for handling multi-channel RIR by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/621

"Lazy cuts" (less memory / faster execution)

  • Option to create a CutSet lazily when everything is sorted on recording IDs by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/493
  • Enable adding/combining of lazy manifests by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/495
  • Resumable batch feature extraction with reduced memory usage by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/508
  • DynamicBucketingSampler: on-the-fly bucketing with restricted memory usage by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/517
  • DynamicCutSampler (like DynamicBucketingSampler but without bucketing) by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/579
  • Custom binary feature storage format by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/522
  • lhotse split-lazy and CutSet.split_lazy() for memory-efficient splits by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/558
  • Optional dependency orjson for up to 50% JSONL reading by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/563
  • CutSet multiplexing by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/565
  • stop_early arg for CutSet.mux by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/585
  • Option to set shuffle buffer size in dynamic samplers by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/587
  • WebDataset integration for optimized sequential I/O by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/582
  • Add WebDataset export CLI and a fault_tolerant option by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/599
  • Add WebdatasetWriter for iterative cut writing by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/602
  • More lazily evaluated methods: map, filter, repeat, shuffle by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/626

New and refreshed APIs

  • Deprecate computeandstorerecording, add saveaudio by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/486
  • CutSet.decompose() with CLI and streaming read/write enhancements by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/496
  • Opensmile wrapper by @marcinwitkowski in https://github.com/lhotse-speech/lhotse/pull/504
  • fill_supervision method for cuts and cut sets by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/505
  • merge_supervisions method for cuts and cut sets by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/503
  • Add CLI for lhotse cut trim-to-supervision <in> <out> by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/514
  • CLI for validating recordings+supervisions and extra supervision check by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/515
  • rng arg for CutSet.truncate() by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/557
  • Add cut extend method by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/571
  • Output more information from CutSet.describe. by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/606
  • Cut into windows with hop by @marcinwitkowski in https://github.com/lhotse-speech/lhotse/pull/651

Improved Kaldi import/export

  • KaldiWriter for exporting features to feats.scp by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/473
  • Support multi-channel wavs in Kaldi export by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/480
  • Make speakerid prefix of uttid for Kaldi by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/530
  • Fix bug in export to kaldi function by @HuangZiliAndy in https://github.com/lhotse-speech/lhotse/pull/531
  • Add method to create SupervisionSet from RTTM files by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/566
  • Replace kaldiio with kaldinativeio. by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/584

PyTorch API

  • Add SpecAugment state dict by @janvainer in https://github.com/lhotse-speech/lhotse/pull/472
  • Enable threaded batch IO by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/520
  • GlobalMVN and Wav2LogFilterBank torchscriptable by @janvainer in https://github.com/lhotse-speech/lhotse/pull/521
  • Streaming Kaldi feature extractors by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/523
  • Skipping problematic audios during dataloading - continued by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/533
  • Make samplers picklable by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/542
  • Rename SingleCutSampler -> SimpleCutSampler by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/546
  • Sampler reports for how much padding is typically used by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/560
  • Modified SpecAugment by @luomingshuang in https://github.com/lhotse-speech/lhotse/pull/598
  • optimization for specaugment by @luomingshuang in https://github.com/lhotse-speech/lhotse/pull/604
  • Return audio_lens in multi channel audio collater by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/616
  • Add sampling statistics report to dynamic samplers by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/628
  • New parameter: OnTheFlyFeatures(..., return_audio=True) by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/629
  • RoundRobinSampler: samples mini-batches in turn from each sub-sampler by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/649
  • Sampler diagnostics updates: preserved across epochs, fixes for various samplers, extended unit tests by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/639
  • Stricter batch constraint exceeding checks by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/653

Documentation

  • Refresh tutorials in examples + quality of life improvements in code by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/617
  • Tutorial for Lhotse's WebDataset integration by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/619
  • Add links in tutorials, fix some issues with lazy manifests by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/620
  • Diagrams illustrating the architectures of dataloading solutions by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/622
  • Tutorial about combining multiple datasets by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/624

Random/Other

  • lhotse split produces digit aligned names by @oplatek in https://github.com/lhotse-speech/lhotse/pull/483
  • More user-friendly default settings by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/519
  • Change the default Fbank and Mfcc feature extractors implementation by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/525
  • citation file for the project by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/581
  • Improve __repr__ of manifests with binary data by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/596
  • CI cache for pip dependencies by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/633
  • Update black, pytest, speed up some tests by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/650
  • Use faster resampling transform by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/652
  • Further resampling speedup by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/657

Bug fixes

  • Force single-threaded execution for ffmpeg by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/481
  • Minor change in Reverb serialization by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/484
  • Fixes and tests for OnTheFlyFeatures with some non-default feature extractors by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/492
  • Audio duration mismatch tolerance API by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/491
  • Let kaldifeat handle the device of input waves. by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/498
  • Minor fix for RIR augmentation by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/501
  • Fix reading resampled OPUS files by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/509
  • Fix missing lhotse.testing package when installing lhotse by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/511
  • Add assertion for non-negative offset for truncate by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/512
  • Possible workaround for HDF5 growing memory issue by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/527
  • addressing etree error under py3.9, resolves #535 by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/536
  • [kaldi] Fixed wav source for command type by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/537
  • Fix collate_audio after adding fault_tolerant arg by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/540
  • Fix the official example by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/550
  • Fix mixing with SNR with PaddingCut as the first track in MixedCut by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/547
  • Fix trim_to_supervisions(keep_overlapping=False) for completely overlapping cuts by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/553
  • Fix randomness in DynamicBucketingSampler by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/562
  • Add warning if numjobs >1 and torch.numthreads >1 by @LasseWolter in https://github.com/lhotse-speech/lhotse/pull/561
  • Workaround for Python's gzip not handling "trailing garbage" unlike the CLI program by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/564
  • Account for duration param in extractfromrecordingandstore in lhotse/features/base.py by @armusc in https://github.com/lhotse-speech/lhotse/pull/572
  • Quick fix for an edge case in CutSet.mix by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/570
  • Update .is_lazy property to account for new types of lazy iterators by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/576
  • Fix array lengths in custom collation by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/577
  • Fix CutSet sample, and add mix padding by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/589
  • Fix for MonoCut from_dict by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/591
  • Fix start/offset when moving cut/features/array data to memory by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/597
  • fix resample to work with webdataset i.e. binary audio source by @oplatek in https://github.com/lhotse-speech/lhotse/pull/609
  • Fix an assertion in torchaudio_load by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/613
  • Fixes for PyTorch 1.11 by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/614
  • Fix fault_tolerant audio loading option for mixed cuts with zero energy by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/615
  • WIP: fix fault tolerant load audio by @oplatek in https://github.com/lhotse-speech/lhotse/pull/595
  • Add a check for detecting wrong TemporalArray start attribute in long recordings by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/623
  • Fix .subset(first=...) for lazy manifests without len by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/625
  • Fix typos and update doc. by @csukuangfj in https://github.com/lhotse-speech/lhotse/pull/630
  • Simplify LazyJsonlIterator and fix TimeConstraint equality by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/632
  • Avoid re-encoding in movetomemory by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/636
  • Fix for deserializing arrays with storage_path=None by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/637
  • Fix tests by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/638
  • Fix probabilistic decision condition error of cutset input transform. by @drawfish in https://github.com/lhotse-speech/lhotse/pull/635
  • Suppress any type of exception in fault tolerant audio reading by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/641
  • Fix padding cuts with custom attrs by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/643
  • Fix rank/world_size settings for ZipSampler and RoundRobinSampler by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/654

New Contributors

  • @marcinwitkowski made their first contribution in https://github.com/lhotse-speech/lhotse/pull/504
  • @rosrad made their first contribution in https://github.com/lhotse-speech/lhotse/pull/516
  • @HuangZiliAndy made their first contribution in https://github.com/lhotse-speech/lhotse/pull/531
  • @LasseWolter made their first contribution in https://github.com/lhotse-speech/lhotse/pull/544
  • @armusc made their first contribution in https://github.com/lhotse-speech/lhotse/pull/572
  • @drawfish made their first contribution in https://github.com/lhotse-speech/lhotse/pull/635

Full Changelog: https://github.com/lhotse-speech/lhotse/compare/v0.12...v1.0

- Python
Published by pzelasko over 4 years ago

lhotse - Himalayan Salt Bath

This is mostly a bug, documentation, and installation fix release.

New features

Add dynamic LRU cache for audio and feature I/O (https://github.com/lhotse-speech/lhotse/pull/443)

Lhotse will now cache up to 512 audio/feature arrays that were read from disk to speed-up some common usage patterns. This behavior can be easily disabled with lhotse.set_caching_enabled(False).

Recipe improvements

  • Update timit recipe by @luomingshuang in https://github.com/lhotse-speech/lhotse/pull/446
  • Fixes to babel recipe by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/447
  • Fixed bug in preparing AMI supervisions by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/449

General improvements

  • add export multichannel to kaldi by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/441
  • Fix documentation builds by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/448
  • fix typo of np.stack by @glynpu in https://github.com/lhotse-speech/lhotse/pull/450
  • Rich exception info for I/O in Recording, MonoCut and MixedCut by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/454
  • Fix SpecAugment docs by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/463
  • Fix misleading manifest format in the comments by @stachu86 in https://github.com/lhotse-speech/lhotse/pull/460
  • Ensure the users who installed PyTorch also install torchaudio themselves by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/466
  • Add documentation and tests for Kaldi feature extraction layers by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/467

New Contributors

  • @glynpu made their first contribution in https://github.com/lhotse-speech/lhotse/pull/450
  • @stachu86 made their first contribution in https://github.com/lhotse-speech/lhotse/pull/460

- Python
Published by pzelasko over 4 years ago

lhotse - Spontaneous Combustion

Corpora

New

  • LibriCSS and Aishell 4 recipe by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/433

Improved

  • Add and update timit recipe by @luomingshuang in https://github.com/lhotse-speech/lhotse/pull/423
  • Prepare segment level supervisions for AMI recipe by @desh2608 in https://github.com/lhotse-speech/lhotse/pull/429
  • adding ASR data prep for CH Am EN by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/431

New features

Faster Kaldi-compatible feature extraction on CPU and CUDA using kaldifeat

  • Add Lhotse wrappers for kaldifeat-based feature extractors by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/424
  • Method for batch feature extraction from CutSet that supports CUDA extractors by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/422

Others

  • CLI manimulation subset cmd adds cut_ids arguments by @oplatek in https://github.com/lhotse-speech/lhotse/pull/425
  • Function to plot alignments in a Cut by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/436

General improvements

  • Support for PyTorch 1.10.0 and 1.8.2 by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/427
  • Adding durations without FP precision issues by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/428
  • fix doc strings by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/430
  • add the auto-generated files/dirs into ignore list by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/432
  • [Kaldi-related] Mapping underscores for utt-ids + num-jobs option for import by @pzelasko in https://github.com/lhotse-speech/lhotse/pull/435
  • set the channel info correctly by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/437
  • make the callhome asr utterances following specific format for QOL by @jtrmal in https://github.com/lhotse-speech/lhotse/pull/442

- Python
Published by pzelasko over 4 years ago

lhotse - Happy Yodeling

Corpora

  • HiFiTTS data prep (#410)
  • CMU Indic data prep (#411)
  • ADEPT data prep (#413)
  • Reduced memory usage in CommonVoice data prep (#414)
  • fixes in Switchboard recipe (#419)

New features

  • Saving and restoring the sampler's state for resuming training exactly where it left off (#417, #418)

General improvements

  • CutSet.describe() doesn't need pandas anymore (#412)
  • Adding torchaudio sox_io audio reading backend and making it default (#414)
  • Support for Python 3.9 (#415)
  • Adopted black for code style (#420)

- Python
Published by pzelasko over 4 years ago

lhotse - Spacious Glacier

Corpora

  • CommonVoice data preparation recipe (#400)

Breaking changes

  • removed len() attribute from CutSamplers (#392)

General improvements

  • Options to preserve cut IDs in cut operations and transforms (#405)
  • faster import lhotse and CLI start-up (#403)
  • versioning improvements (#401)
  • fixes in cuts.subset() (#395 #398, thanks @janvainer)
  • Count cuts discarded with .filter() into the sampler report (#391)
  • Option for ZipSampler to return tuples of CutSets (#390)

- Python
Published by pzelasko almost 5 years ago

lhotse - Thin Ribbon of Snow

Breaking changes

  • Lhotse CutSampler classes now return mini-batch CutSets instead of a list of string cut IDs (Lhotse Dataset classes are adjusted correspondingly) (#345)
  • Cut refactoring (Cut is now an abstract base class for all cut types; what was previously called Cut is now called MonoCut) (#328)
  • CLI: lhotse obtain is now lhotse download (#329)

Corpora

  • TIMIT (#324 thanks @luomingshuang)
  • Fisher English (#374 thanks @videodanchik)
  • Fisher Spanish (#376 thanks @videodanchik)
  • yesno (#380 thanks @csukuangfj)
  • improvements to GigaSpeech recipe (#329 #334 #337 #381 thanks @jimbozhang)
  • including word alignments in LibriSpeech recipe (#379)

New features

CutSampler improvements (PyTorch data API)

  • ZipSampler for batches constructed from different cut sources (#344 #347 #363 thanks for fixes @janvainer)
  • drop_last option and get_report() method for cut samplers (#357)
  • find_pessimistic_batches utility to help fail fast with GPU OOM (#358)
  • streaming variant of shuffling for lazy CutSets in samplers (#359)
  • a bucketing method with equal cumulative bucket duration for BucketingSampler (#365)
  • approximate proportional sampling in BucketingSampler (#372)

I/O improvements

  • chunked OPUS file reads (#339)
  • chunked sphere file reads (#367 thanks @videodanchik)
  • faster OnTheFlyFeatures (padding audio instead of features) (#352)
  • ChunkedLilcomHdf5Writer (and reader) for efficient chunk reads of lilcom-compressed arrays (#334)
  • a global cache for re-using smartopen connection sessions (improves performance for repeated smartopen calls e.g., to S3) (#335, thanks @oplatek)

Data augmentation

  • tempo perturbation (#375 thanks @janvainer)
  • volume perturbation (#382 thanks @videodanchik)

Others

  • CutSet.trim_to_supervision has new arguments for including actual acoustic context next to the supervisions (#330 #331)
  • SupervisionSegment is now mutable (and all Lhotse manifests will remain mutable) (#333)
  • .shuffle() method for Lhotse *Set classes (#341)
  • lhotse fix CLI (#360)
  • lhotse install-sph2pipe for handling LDC corpora compressed with shorten (auto-registers sph2pipe so no further actions are needed) (#370)

General improvements

  • refreshed docs (#327 #328 #330)
  • improvements to downloading corpora (#340)
  • experimental dataloader that allows two levels of parallelism (#343, might be abandoned for other alternatives)
  • auto-detection of compatible torchaudio version for pytorch (#348)
  • improvements to Kaldi data dir import/export (#351 #354)
  • fixed cut ordering in CutSet.subset(cut_ids=...) (#353)
  • improvements to storing cuts as recordings (#355)
  • refactored lhotse.dataset.sampling file into a directory module (#366)
  • improvements to CLI (#369 #371 thanks @songmeixu)
  • improvements to setup (#377 #383 thanks @songmeixu)
  • Colab notebook with ESPnet + Lhotse example (#384)
  • improvements to Lhotse versioning (#385)

- Python
Published by pzelasko almost 5 years ago

lhotse - Melting Away

New corpora

  • GigaSpeech (#283, thanks @jimbozhang)
  • Dihard 3 (#287, thanks @desh2608)
  • GALE Arabic and Mandarin (#296, thanks @desh2608)
  • CMU and CSLU Kids (#297, thanks @desh2608)
  • MTedX (#301, thanks @m-wiesner)
  • LibriTTS (#306)

New features

  • Reading huge manifests lazily with Apache Arrow (documentation and examples are coming) (#286, #288, #289, #290, #292, #294)
  • Sequential JSONL writer storing manifests on disk as they are created (#302)
  • Support for alignments in SupervisionSegment (#304, #310, #313, thanks @desh2608)
  • PyTorch Kaldi-compatible feature extractors that support GPU, batching and autograd (#307, thanks @jesus-villalba)
  • Reading, writing, and uploading features to URLs (e.g. S3 or GCP) (#312)
  • Store waveforms of cuts as audio recordings to disk (#316, thanks @entn-at)
  • Support for importing Kaldi's feats.scp and reading features directly from scp/ark (#318)

General improvements

  • add multi thread to process AIShell data (#259, thanks @pingfengluo)
  • tracking dev versions (#291, thanks @oplatek)
  • Explicitly set UTF-8 encoding when reading README.md in setup.py (#293, thanks @entn-at)
  • Auto-add link to source code in docs (#295)
  • cut.resample() (#299)
  • fixing flaky tests (#300)
  • fix AMI CLI mode (#303, thanks @desh2608)
  • handle zero energy error in audio mixing (#305)
  • update Kaldi related docs (#308)
  • add a missing SpecAugment parameter (#309)
  • fixing edge cases for audio transforms (#311)
  • Add drop_last option in *Set.split() (#315)
  • Support h5py file modes in feature writers (#317)
  • don't using kaldi reco2dur and fix some error in bin/lhotse (#318, thanks @shanguanma)
  • Fix cut num of samples bug (#322, thanks @dophist)
  • use whitespace in kaldi field-splitting (#323, thanks @dophist)

- Python
Published by pzelasko about 5 years ago

lhotse - Thawing Potion

New corpora

  • CMU Arctic (#225)
  • L2 Arctic (#227, #251)
  • VCTK (#228, #253, #254)
  • CallHome English (#278)
  • CallHome Egyptian (#208)
  • Multilingual Librispeech (#282 -- can be quite slow but we plan on improving the speed in further releases)

Features

PyTorch Dataset API

  • Lhotse's samplers are now fully deterministic, have len() that returns the number of batches, and return a consistent number of batches in all distributed workers. (#213, #222, #223, #224, #255, #267, thanks @janvainer)
  • On-the-fly feature extraction in PyTorch datasets (#229)
  • visualisations of ASR batches with multiple transforms applied (#234)

Features and transforms

  • Add LIbrosaFbank consistent with various TTS applications (#252, thanks @janvainer)
  • SpecAugment (#246)
  • option to pad cuts from left/right/both directions (#216)
  • Randomized smoothing augmentation (#272, #273, #274)
  • Randomized extra padding (#281)

I/O and serialization

  • [experimental] Downloading audio from HTTP/S3/GCP/Azure URLs upon request (#233)
  • Use HDF5 as the default storage backend for features (#237)
  • Add JSONL support (#262)
  • Support for auto-magically determined serializers (CLI + Python API) (#264)

Removed features

  • Removed WavAugment support (use torchaudio.sox_effects instead) (#232)

General improvements

  • Add tolerance to validaterecordingsand_supervisions (#208, thanks @janvainer )
  • Fix incorrect truncation in cut mixing for data augmentation (#214)
  • Return lengths from feature and token collations (#211, thanks @janvainer)
  • Refactor Standardize to GlobalMVN (#230, thanks @janvainer)
  • Fix rare error in randomized Recording's resampling test (#239)
  • Fix concatenate cuts omitting the longest cut when duration_factor > 1 (#240)
  • Fix CutMix not adding enough noise in long cuts (#241)
  • Add max_cuts keyword to global stats computation in GlobalMVN (#245)
  • Improved error message for mixing audio (#248)
  • Add a check for matching sampling rates when mixing cuts (#247)
  • Fix - make VCTK CLI discoverable (#250)
  • Fix trimtosupervisions and CLI (#249)
  • Fix find segments float rounding issues (#265)
  • Update the examples of libirispeech (full) and ami (#268, thanks @jimbozhang)
  • Fix test for sphere files (#269, thanks @csukuangfj)
  • More informative error message for incorrect channels in load_audio() (#270)

- Python
Published by pzelasko about 5 years ago

lhotse - 0.5 - Ice Melt

New features:

Major overhaul of support for PyTorch Dataset API (#194 #197 #202)

Lhotse now implements a number of PyTorch datasets and samplers. The core features are: - familiar API (map-style datasets and cut samplers that work with standard DataLoader) - dynamic batch size, chosen based on constraints such as max_frames - bucketing or cut concatenation as strategies for avoiding too much padding - optional noise padding (using CutMix transform) - our samplers work with DDP training out-of-the-box (no need for DistributedSampler) - More details available at: https://lhotse.readthedocs.io/en/latest/datasets.html

Example code: ```python from torch.utils.data import DataLoader from lhotse.dataset import SpeechRecognitionDataset, SingleCutSampler

cuts = CutSet(...) dset = SpeechRecognitionDataset(cuts) sampler = SingleCutSampler(cuts, max_frames=50000)

Dataset performs batching by itself, so we have to indicate that

to the DataLoader with batch_size=None

dloader = DataLoader(dset, sampler=sampler, batchsize=None, numworkers=1) for batch in dloader: ... # process data ```

Lazy (on-the-fly) resampling on Recording/RecordingSet (#185)

The resampling is performed at the moment of reading the audio samples from disk. It automatically adjusts the duration/num_samples in the data manifest.

python recording = recording.resample(22050) recording_set = recording_set.resample(8000)

New corpora:

  • AMI recipe extension to all microphone settings and official scenarios (#154 - kudos to @desh2608)

General improvements:

  • CutSet.subset() got first and last arguments (like Kaldi's subset_data_dir.sh) and a CLI mode (#188)
  • CutSet.from_manifest() creates deterministic Cut IDs by default (#186)
  • Padding cuts with arbitrary user specified values (now also works with custom feature extractors) (#187)
  • Improved code coverage measurements (now excludes test code and recipe code) (#191 #192)
  • Improved support for sampling rates other than 8k and 16k (#190 #195)
  • Documentation build fixes (#196)
  • Fixes in NSC recipe (#199)
  • Fixes in ASR dataset validation (#204)

- Python
Published by pzelasko over 5 years ago

lhotse - 0.4 - Passing the North Glacier

New features:

  • Lazy time-domain speed perturbation of Recording/Cut that also adjusts supervision segments (#167)

python cuts_sp = cuts.perturb_speed(0.9)

  • Manifest validation (lhotse.validate()) (#175)

python lhotse.validate(cuts)

  • Parallel feature extraction API lifting (#176)

```python

As simple as:

cuts = cuts.computeandstorefeatures(lhotse.Fbank(), 'path/to/feats', numjobs=20) ```

  • Support for using HDF5 storage with parallel feature extraction (#176)

```python

Modify the above with:

cuts = cuts.computeandstorefeatures(lhotse.Fbank(), 'path/to/feats', numjobs=20, storage_type=lhotse.LilcomHdf5Storage) `` -CutSet` mixing for noise data augmentation (#180)

```python

Can be performed after feature extraction for dynamic feature-domain mixing!

cuts = cuts.mix(noisecuts, snr=[10, 30], mixprob=0.5) ```

  • On-the-fly noise data augmentation for K2 ASR (#180)

New corpora:

  • Aishell (#170, thanks @fanlu)
  • Musan (#174)

General improvements:

  • LibriSpeech recipe API lifting and major preparation speedup (#163)
  • Stop using deprecated torchaudio.info (#164)
  • CutSet map() and modify_ids() methods (#165)
  • Parallelism: Executor concept documentation (#152)
  • Single/multi channel audio/features collation methods for a batch of Cuts (#173)
  • Cache data manifests for Mobvoi (#168, thanks @freewym)
  • High-level workflow illustrations in docs (#178)

- Python
Published by pzelasko over 5 years ago

lhotse - 0.3 - "Oh, the weather outside is frightful"

New features: - CutSet.subset and CutSet.filter_supervisions (#145, thanks @janvainer) - An official Collab notebook (#156) - Python 3.6 support (#158) - Support for feature normalization aka CMVN (#159, #160)

New corpora: - National Speech Corpus (Singaporean English) (#148) - IARPA BABEL (25 languages) (#157)

Bugfixes: - populate recordingid for Cut when using Cut.computeandstorefeatures (#147, thanks @freewym)

Other: - Set default duration limit factor to 1 for K2 Iterable Dataset (#148) - Fix for MixedCut plots (#156)

- Python
Published by pzelasko over 5 years ago

lhotse - 0.2 - Towards the Base Camp

New features: - K2SpeechRecognitionIterableDataset that supports more efficient batching #116 - Support for torchaudio.sox_effects data augmentation alongside WavAugment #124

Breaking changes: - the data augmentation APIs in Lhotse expect augment_fn argument instead of augmenter, that has a signature like: def augment_fn(samples: np.ndarray, sampling_rate: int) -> np.ndarray #124

New corpora: - Mobvoi Hotwords #109

Enhancements: - progress bars for corpus downloads and feature extraction #131 - re-using cached LibriSpeech manifests for faster data preparation #133 - LilcomFilesWriter and NumpyFilesWriter use sub-directories for storage to reduce the filesystem load #134

Several bug fixes and improved testing.

- Python
Published by pzelasko over 5 years ago

lhotse - 0.1 - First Steps

”The journey of a thousand miles begins with one step.” – Lao Tzu

The first official release of Lhotse! It provides a solid base to build speech research and applications upon, by treating speech and audio data as a first-class citizen in the ML world.

Lhotse is going to continue to evolve, and some API changes might still happen.

Highlights: - audio-specific data model with Recording, Supervision, Features, and Cut manifests - integration with PyTorch for task-specific Dataset classes and Torchaudio for feature extraction - built-in data preparation for 8 speech corpora, including Librispeech, Switchboard, AMI, and TED-LIUM v3 - intuitive interfaces that work well with interactive environments such as Jupyter notebooks for data visualisation - on-the-fly or pre-computed feature extraction and data augmentation

- Python
Published by pzelasko over 5 years ago