Releases: mbsantiago/soundevent
v1.3.1
Syncing latest changes
v1.3.0
Release Notes
Reinstated Recording Field in Sound Event Data Class:
The Recording field has been reintroduced in the Sound Event data class. This enhancement ensures that each sound event is associated with the reference recording, providing a more comprehensive representation. This adjustment aims to improve the overall coherence of the data structure without significantly impacting the user experience.
Enhanced AOEF Saving Functionality:
The AOEF saving function has been enhanced to offer greater flexibility. Users can now exclude specific fields from the stored JSON, providing more control over the data storage process. This update enables a more tailored approach to data management, allowing users to customize the stored information according to their specific requirements.
v1.2.0
Release Notes
The version 1.2.0 of soundevent introduces new features to facilitate audio data handling. In this minor release, we've added a couple of functions for exporting audio data in bytes format, providing more flexibility. The new additions include:
-
soundevent.audio.media_info.generate_wav_header
: This function simplifies the process of generating the bytes of a WAV header. It produces 44 bytes encompassing the RIFF and WAV container heads, the complete format chunk, and the initiation of the data chunk. Specifically designed for PCM encoded WAV files, these bytes can be prepended to the data chunk bytes. -
soundevent.audio.io.audio_to_bytes
: This function takes audio data stored in anumpy
array and transforms it into bytes. The output mimics the content of the data chunk in a PCM encoded WAV file, providing a straightforward solution for converting audio data to byte format.
By utilizing these functions in combination, you can generate the bytes of WAV files using any numpy
array. This functionality proves particularly valuable when you need to create a fully compliant WAV file from a segment of audio data.
v1.1.2
Release Notes
Minor fix of two "Annotation" schema definitions. The created_on
field was declared as Optional[datetime.datetime]
instead of datetime.datetime
. It did not make sense as it was declared with datetime.datetime.now
as its default factory.
v1.1.0
Release Notes
Added some helper functions to ease format conversion between soundevent
objects and objects in AOEF
format.
v1.0.2
Release Notes
In this patch we relax the version requirements of email-validator
to ensure it is compatible with python version 3.7.
v1.0.1
Release Notes
We're excited to introduce soundevent
version 1.01, packed with significant enhancements and additions. In this release, we've reviewed and refined the data schemas, making essential changes and additions to improve overall usability. Notably, we've separated the core dependencies used for schema definition from other functionalities, resulting in a more lightweight experience. Now, minimal dependencies are required to utilize the powerful data classes provided by soundevent
, and all additional sections are opt-in.
Among the notable additions are new modules like soundevent.plot
for effortless plotting (using matplotlib) of various soundevent
objects. The introduction of soundevent.evaluation
brings several functions dedicated to computing performance evaluations for sets of predictions against annotations. Additionally, the soundevent.geometry
module offers functions specifically designed to operate with the geometry of sound events. We've also refined the soundevent.io
module, simplifying the saving and loading API for a more user-friendly experience.
Looking ahead, we aim to maintain a more consistent release schedule, avoiding overwhelming changes in future updates. The data schemas have reached a more stable state, ensuring reliability and trustworthiness. Future releases will focus on adding new fields without compromising backward compatibility. Furthermore, anticipate the introduction of more generic functions to further streamline the management and utilization of soundevent
objects.
v0.7.0
Release Notes
Incoming changes to the schemas!
- Task: Added status badges. Before, a task completion status was provided by the "completed" field, with "completed_by" and "completed_at" providing additional metadata. However, this too rigid if we want to attach other indications of state to a task, such as "this task needs review", or "this task has been verified". Therefore we adopted a new list field "status_badges" that can contain any number of status indications. Each status badge is an object with a description of the state "status_badge.state", and can also provide the who and when in "status_badge.user" and "status_badge.created_at".
v0.6.3
Release Notes
Made a small change to the audio loading function so that any out of bounds loading will be filled with zeros. This behavior is preferred to ensure that when loading an audio clip, the loaded audio length matches with the clip duration.
v0.6.2
Release Notes
Changed the mode of spectrogram computation to "magnitude". The default mode of the scipy.signal
is power spectral density, which is not expected by other functions that consume spectrograms.