Roderick van Domburg
b519a4a47d
Update crates ( #817 )
2021-06-30 21:39:55 +02:00
Roderick van Domburg
d4f466ef58
Revert math::round_half_to_even
...
This caused quite a bump in CPU usage, which be acceptable if this
actually improved sound quality. However, it turns out that this
function only has one decimal precision, i.e. it would consider
all values from `0.50..0.60` (exclusive) as `0.5` which is in
error for our purposes.
2021-05-31 23:35:48 +02:00
Roderick van Domburg
8062bd2518
Improve sample rounding and clean up noise shaping leftovers ( #771 )
2021-05-29 22:53:19 +02:00
johannesd3
a2fde0a1d6
Run cargo update
2021-05-28 19:55:57 +02:00
Roderick van Domburg
11dfedea3b
Remove with-vorbis
and with-tremor
features ( #750 )
2021-05-26 21:43:20 +02:00
Roderick van Domburg
bb3dd64c87
Implement dithering ( #694 )
...
Dithering lowers digital-to-analog conversion ("requantization") error, linearizing output, lowering distortion and replacing it with a constant, fixed noise level, which is more pleasant to the ear than the distortion.
Guidance:
- On S24, S24_3 and S24, the default is to use triangular dithering. Depending on personal preference you may use Gaussian dithering instead; it's not as good objectively, but it may be preferred subjectively if you are looking for a more "analog" sound akin to tape hiss.
- Advanced users who know that they have a DAC without noise shaping have a third option: high-passed dithering, which is like triangular dithering except that it moves dithering noise up in frequency where it is less audible. Note: 99% of DACs are of delta-sigma design with noise shaping, so unless you have a multibit / R2R DAC, or otherwise know what you are doing, this is not for you.
- Don't dither or shape noise on S32 or F32. On F32 it's not supported anyway (there are no integer conversions and so no rounding errors) and on S32 the noise level is so far down that it is simply inaudible even after volume normalisation and control.
New command line option:
--dither DITHER Specify the dither algorithm to use - [none, gpdf,
tpdf, tpdf_hp]. Defaults to 'tpdf' for formats S16
S24, S24_3 and 'none' for other formats.
Notes:
This PR also features some opportunistic improvements. Worthy of mention are:
- matching reference Vorbis sample conversion techniques for lower noise
- a cleanup of the convert API
2021-05-26 21:19:17 +02:00
Roderick van Domburg
d8ec98015c
Merge pull request #673 from Johannesd3/discovery-crate
...
Create separate discovery crate
2021-05-26 20:21:43 +02:00
Roderick van Domburg
a590b778de
Bump jack and Rodio crates
2021-05-25 22:35:35 +02:00
johannesd3
9b6ba49026
Add "discovery" compat layer to "connect"
2021-05-19 21:09:38 +02:00
johannesd3
a7f9e0a20b
Add an error type to librespot_discovery
2021-05-19 21:05:20 +02:00
johannesd3
1ec5dd21fa
Add discovery example
2021-05-19 21:05:20 +02:00
Johannesd3
ebea5397b9
Add librespot-discovery crate
2021-05-19 21:05:19 +02:00
dependabot[bot]
3134e1a0c5
Bump sha-1 from 0.9.5 to 0.9.6
...
Bumps [sha-1](https://github.com/RustCrypto/hashes ) from 0.9.5 to 0.9.6.
- [Release notes](https://github.com/RustCrypto/hashes/releases )
- [Commits](https://github.com/RustCrypto/hashes/compare/sha-1-v0.9.5...sha-1-v0.9.6 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 17:12:11 +02:00
dependabot[bot]
48c5a82071
Bump futures-executor from 0.3.14 to 0.3.15
...
Bumps [futures-executor](https://github.com/rust-lang/futures-rs ) from 0.3.14 to 0.3.15.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.14...0.3.15 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 17:11:36 +02:00
johannesd3
555274b5af
Move decoder to playback crate
2021-05-11 20:36:53 +02:00
dependabot[bot]
255f0c6ccf
Bump js-sys from 0.3.50 to 0.3.51
...
Bumps [js-sys](https://github.com/rustwasm/wasm-bindgen ) from 0.3.50 to 0.3.51.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits )
Signed-off-by: dependabot[bot] <support@github.com>
2021-05-11 13:43:09 +02:00
dependabot[bot]
b7d1199068
Bump wasm-bindgen from 0.2.73 to 0.2.74
...
Bumps [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen ) from 0.2.73 to 0.2.74.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/compare/0.2.73...0.2.74 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-05-11 13:42:36 +02:00
dependabot[bot]
fce91f4e61
Bump jack from 0.6.6 to 0.7.0 ( #720 )
2021-05-09 21:03:25 +00:00
dependabot[bot]
539e9669a4
Merge pull request #717 from librespot-org/dependabot/cargo/url-2.2.2
2021-05-09 08:11:10 +00:00
johannesd3
85aa4eed89
Bump url and update Cargo.lock
2021-05-09 09:53:20 +02:00
dependabot[bot]
91a60ccac7
Bump sha-1 from 0.9.4 to 0.9.5 ( #725 )
2021-05-08 22:46:35 +00:00
johannesd3
1c62af9160
Unpin protobuf version
2021-05-08 22:09:37 +02:00
Sasha Hilton
59683d7965
Update Cargo.lock
2021-05-04 13:27:57 +01:00
johannesd3
17b04c4b6e
Remove libc dep
2021-05-01 13:00:30 +02:00
johannesd3
9d55f9aa5f
Update Cargo.lock
2021-05-01 12:59:28 +02:00
johannesd3
1681574846
Bump hmac and pbkdf2
2021-05-01 10:53:14 +02:00
johannesd3
6077a1ef4e
Remove unused block-modes dep
2021-05-01 10:41:39 +02:00
johannesd3
e355d4a4f1
Add cache-size-limit command line argument
2021-04-21 11:29:32 +02:00
johannesd3
e9dc9cd839
Add size limit to cache
2021-04-21 11:29:08 +02:00
johannesd3
26c127c2ec
Merge branch 'dev' into tokio_migration
2021-04-10 12:59:47 +02:00
johannesd3
e688e7e886
Almost eliminate util module
2021-04-10 12:50:30 +02:00
johannesd3
9378ae5b6f
Bump num-bigint dependency
2021-04-09 22:39:51 +02:00
johannesd3
7ddb1a20bb
Reuse librespot-core's Diffie Hellman in discovery
2021-04-09 22:39:47 +02:00
Roderick van Domburg
222f9bbd01
Bump playback crates to the latest supporting Rust 1.41.1
...
For Rodio, this fixes garbled sound on some but not all Alsa hosts.
2021-04-09 20:01:21 +02:00
johannesd3
f5274f5ada
Merge branch 'dev' into tokio_migration
2021-04-09 10:39:06 +02:00
Ash
d4dfd4890f
Merge pull request #674 from Johannesd3/proxy-support
...
[Tokio migration] Add back hyper-proxy
2021-03-29 21:00:18 +02:00
Roderick van Domburg
bfca1ec15e
Minor code improvements and crates bump
2021-03-27 21:13:14 +01:00
johannesd3
95fedf5357
Add back hyper-proxy
2021-03-27 15:36:33 +01:00
ThouCheese
ec1ec59b8a
update examples
...
Re-add default impl to SessionConfig and make Credentials::with_password generic over Into<String>
add docs for Credential
reintroduce old Default impl for SessionConfig
use the third argument for the track-to-play rather than a testing id
2021-03-24 01:14:44 +01:00
Roderick van Domburg
001d3ca1cf
Bump Alsa, cpal and GStreamer crates
2021-03-19 22:28:55 +01:00
Roderick van Domburg
770ea15498
Add support for S24 and S24_3 output formats
2021-03-17 00:00:27 +01:00
johannesd3
f22b41956f
Update url crate to 2.1
2021-02-23 22:22:53 +01:00
johannesd3
18179e73ec
Remove unused dependencies and fix feature flags
2021-02-23 22:22:53 +01:00
johannesd3
59c556635e
Clean up librespot-connect dependencies
2021-02-23 22:22:53 +01:00
johannesd3
d064ffc670
Use tokio channels and fix compilation errors
2021-02-23 22:22:53 +01:00
johannesd3
27f308b82f
Replace error_chain by thiserror
2021-02-23 22:22:52 +01:00
johannesd3
5aeb733ad9
Clean up dependencies in librespot-playback
...
* Use futures-util instead of futures
* Use tokio channels instead of futures channels
* Removed "extern crate"s
2021-02-23 22:22:52 +01:00
johannesd3
5c42d2e879
Clean up dependencies in librespot-audio
...
* Remove unused deps
* Use futures-util instead of futures
* Replace futures channels by tokio channels
* Remove unnecessary pin_project
* Reordered "use" statements
2021-02-23 22:22:52 +01:00
johannesd3
746e6c863e
Put lewton behind feature flag
2021-02-23 22:22:52 +01:00
johannesd3
a6ed6857d2
Clean up dependencies in librespot-metadata
...
* Replaced LinearMap by HashMap
* Removed unnecessary dependencies
* Removed "extern crate"s
2021-02-23 22:22:52 +01:00