Skip to content

Add support for FLAC compression of 64bit integers. #9

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Jul 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,17 +93,28 @@ jobs:
&& conda activate test \
&& pip install .

- name: Run Serial Tests
- name: Serial Tests (MPI Disabled)
run: |
source ~/conda/etc/profile.d/conda.sh \
&& conda activate test \
&& export OMP_NUM_THREADS=2 \
&& export MPI_DISABLE=1 \
&& mkdir -p test \
&& pushd test >/dev/null 2>&1 \
&& python3 -c 'import flacarray.tests; flacarray.tests.run()' \
&& popd >/dev/null 2>&1

- name: Run MPI Tests
- name: Serial Tests
run: |
source ~/conda/etc/profile.d/conda.sh \
&& conda activate test \
&& export OMP_NUM_THREADS=2 \
&& mkdir -p test \
&& pushd test >/dev/null 2>&1 \
&& python3 -c 'import flacarray.tests; flacarray.tests.run()' \
&& popd >/dev/null 2>&1

- name: MPI Tests
run: |
source ~/conda/etc/profile.d/conda.sh \
&& conda activate test \
Expand Down
339 changes: 318 additions & 21 deletions docs/docs/cookbook.ipynb

Large diffs are not rendered by default.

11 changes: 5 additions & 6 deletions docs/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,11 @@ timestreams that do not compress well with DEFLATE algorithms used by zip /
gzip. This type of data is found in audio signals, scientific timestreams, etc.

In the `flacarray` package we use only a small subset of features found in the
libFLAC library. In particular, each data stream is compressed as a single, 32
bit "channel". Stream data consisting of 32 bit integers (or 64 bit integers
spanning a peak-to-peak range that fits into 32 bits) are compressed in a
loss-less fashion. Floating point data is converted to 32 bit integers with a
user-specified precision or quantization.
libFLAC library. In particular, each data stream is compressed as either one or
two 32 bit "channels". Stream data consisting of 32 or 64 bit integers are
compressed in a loss-less fashion. Floating point data is converted to either 32
or 64 bit integers with a user-specified precision or quantization.

If you are specifically working with audio data and want to write flac format
files, you should look at other software tools such as
audio files, you should look at other software tools such as
[pyflac](https://github.com/sonos/pyFLAC).
4 changes: 2 additions & 2 deletions docs/docs/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ development libraries installed.
If you have conda available, you can create an environment will all the
dependencies you need to build flacarray from source. For this example, we
create an environment called "flacarray". First create the env with all
dependencies and activate it (FIXME, add a requirements file for dev):
dependencies and activate it (FIXME: add a requirements file for dev):

conda create -n flacarray \
c-compiler numpy libflac cython meson-python pkgconfig
Expand All @@ -53,7 +53,7 @@ To build and install the package.

To also work on docs, install additional packages:

conda install mkdocs mkdocstrings mkdocs-jupyter
conda install mkdocs mkdocstrings mkdocstrings-python mkdocs-jupyter
pip install mkdocs-print-site-plugin

### Other Ways of Building
Expand Down
48 changes: 20 additions & 28 deletions docs/docs/tutorial.ipynb

Large diffs are not rendered by default.

Loading