Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/elixir-nx/nx_signal
DSP with Elixir Nx
https://github.com/elixir-nx/nx_signal
Last synced: 3 months ago
JSON representation
DSP with Elixir Nx
- Host: GitHub
- URL: https://github.com/elixir-nx/nx_signal
- Owner: elixir-nx
- License: other
- Created: 2022-06-02T03:54:22.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-26T18:53:30.000Z (5 months ago)
- Last Synced: 2024-07-18T06:28:32.729Z (4 months ago)
- Language: Elixir
- Size: 1.45 MB
- Stars: 101
- Watchers: 5
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-open-synth - NxSignal - nx) | Apache 2.0 | Elixir | (Elixir)
README
# NxSignal
DSP (Digital Signal Processing) with [Nx](https://github.com/elixir-nx/nx)
## Why NxSignal?
This library comes from the author's urge to experiment with audio processing in Elixir through Nx.
However, the scope is not limited to audio signals. This library aims to provide the tooling for
a more classical approach to dealing with time series, through Fourier Transforms, FIR filters,
IIR filters and similar mathematical tools.## Getting Started
In order to use `NxSignal`, you need Elixir installed. Then, you can add `NxSignal` as a dependency
to your Mix project:```elixir
def deps do
[
{:nx_signal, "~> 0.1"}
]
end
```You can also use `Mix.install` for standalone development:
```elixir
Mix.install([
{:nx_signal, "~> 0.1"}
])
```By default, `NxSignal` only depends directly on `Nx` itself. If you wish to use separate backends
such as `Torchx` or `EXLA`, you need to explicitly depend on them.All of `NxSignal`'s functionality is provided through `Nx.Defn`, so things should work out of the
box with different backends and compilers.## Guides (Livebook)
Check out the "guides" directory in the repository for examples.
## Contributing
Contributions are more than welcome!
Firstly, please make sure you check the issues tracker and the pull requests list for
a similar feature or bugfix to what you wish to contribute.
If there aren't any mentions to be found, open up an issue so that we can discuss the
feature beforehand.