-
Notifications
You must be signed in to change notification settings - Fork 52
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #108 from HEnquist/develop
Develop
- Loading branch information
Showing
54 changed files
with
3,735 additions
and
693 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
[package] | ||
name = "camilladsp" | ||
version = "0.4.2" | ||
version = "0.5.0" | ||
authors = ["Henrik Enquist <[email protected]>"] | ||
description = "A flexible tool for processing audio" | ||
|
||
|
@@ -13,6 +13,8 @@ cpal-backend = ["cpal"] | |
websocket = ["tungstenite"] | ||
secure-websocket = ["websocket", "native-tls", "tungstenite/tls"] | ||
FFTW = ["fftw"] | ||
neon = ["rubato/neon"] | ||
debug = [] | ||
|
||
[lib] | ||
name = "camillalib" | ||
|
@@ -24,33 +26,39 @@ path = "src/bin.rs" | |
|
||
|
||
[target.'cfg(target_os="linux")'.dependencies] | ||
alsa = { version = "0.4", optional = true } | ||
alsa = { version = "0.4.3", optional = true } | ||
nix = { version = "0.15", optional = true } | ||
|
||
[dependencies] | ||
serde = { version = "1.0", features = ["derive"] } | ||
serde_yaml = "0.8" | ||
serde_json = "1.0" | ||
serde_with = "1.5" | ||
realfft = "0.3.0" | ||
realfft = "1.0.0" | ||
fftw = { version = "0.6.2", optional = true } | ||
num-complex = "0.3" | ||
num-integer = "0.1.43" | ||
num-traits = "0.2" | ||
signal-hook = "0.1.16" | ||
signal-hook = "0.3.6" | ||
rand = "0.7.3" | ||
rand_distr = "0.3.0" | ||
clap = "2.33.0" | ||
lazy_static = "1.4.0" | ||
log = "0.4.11" | ||
env_logger = "0.7.1" | ||
slog = { version = "2.7.0", features = ["release_max_level_trace", "max_level_trace"] } | ||
slog-term = "2.6.0" | ||
slog-async = "2.5.0" | ||
slog-scope = "4.3.0" | ||
chrono = "0.4" | ||
tungstenite = { version = "0.11.1", optional = true, default-features = false } | ||
native-tls = { version = "0.2.4", optional = true } | ||
libpulse-binding = { version = "2.0", optional = true } | ||
libpulse-simple-binding = { version = "2.0", optional = true } | ||
rubato = "0.5.1" | ||
cpal = { version = "0.12.1", optional = true } | ||
rubato = "0.7.0" | ||
#rubato = { git = "https://github.com/HEnquist/rubato", branch = "simd" } | ||
cpal = { version = "0.13.1", optional = true } | ||
|
||
[build-dependencies] | ||
version_check = "0.9" | ||
|
||
[dev-dependencies] | ||
criterion = "0.3" | ||
|
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Frequently asked questions | ||
|
||
## Filtering | ||
|
||
- I only have filters with negative gain, why do I get clipping anyway? | ||
|
||
If all filters have negative gain, then the | ||
It's not very intuitive, but the peak amplitude can actually increase when you apply filters that only attenuate. | ||
|
||
The signal is a sum of a large number of frequency components, and in each particular sample some components | ||
will add to increase the amplitude while other decrease it. | ||
If a filter happens to remove a component that lowers the amplitude in a sample, then the value here will go up. | ||
Also all filters affect the phase in a wide range, and this also makes the components sum up to a new waveform that can have higher peaks. | ||
This is mostly a problem with modern productions that are already a bit clipped to begin with, meaning they have many samples at max amplitude. | ||
Try adding a -3 dB Gain filter, that should be enough in most cases. | ||
|
||
- When do I need to use an asynchronous resampler? | ||
|
||
The asynchronous resampler must be used when the ratio between the input and output sample rates cannot be expressed as a fixed ratio. | ||
This is only the case when resampling to adaptively match the rate of two devices with independant clocks, where the ratio drifts a little all the time. | ||
Note that resampling between the fixed rates 44.1 kHz -> 48 kHz corresponds to a ratio of 160/147, and can be handled by the synchronous resampler. | ||
This works for any fixed resampling between the standard rates, 44.1 <-> 96 kHz, 88.2 <-> 192 kHz, 88.1 <-> 48 kHz etc. | ||
|
||
- My impulse response is a wav-file. How to I use it in CamillaDSP? | ||
|
||
The wav-file must be converted to raw format, with one file per channel. Please see the [guide for converting](coefficients_from_wav.md). | ||
|
Oops, something went wrong.