profile
viewpoint
est31 FLOSS software. Past contributions include @minetest, @rust-lang, F-Droid.

est31/cargo-udeps 223

Find unused dependencies in Cargo.toml

est31/cargo-local-serve 22

Mirror of https://gitlab.com/est/cargo-local-serve | Serve a local, offline, clone of crates.io.

est31/csrp-gmp 5

Minimal C implementation of the Secure Remote Password protocol (version 6a)

est31/anvil 1

An anvil mod for minetest based on the cottages anvil

est31/balloc 1

Bounded allocation for Rust

est31/addr2line 0

A cross-platform `addr2line` clone written in Rust, using `gimli`

est31/alert-after 0

Get a desktop notification after a command finishes executing.

est31/antimicro 0

Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support

push eventRustAudio/deepspeech-rs

est31

commit sha d8cef49df027c7a7e2a6afd4db8582456f17ed56

Update the submodule to v0.7.0-alpha.2

view details

push time in 17 hours

pull request commentrust-windowing/winit

Remove lifetime from `Event` type

@mitchmindtree absolutely if this PR doesn't do it, I'll file a PR myself to re-add the Clone impls.

tangmi

comment created time in 2 days

issue commentRustAudio/rodio

ChannelVolume overflows when using u16 samples

Not sure why Sample is implemented for unsigned u16 in the first place, that's weird.

Rua

comment created time in 3 days

push eventRustAudio/rodio

Daniel Lambert

commit sha e2f79f4a8b0797d6b9a26f05d341083f37630bba

add FadeOut effect to TakeDuration

view details

Daniel Lambert

commit sha 2c7d1716707876aad450949fa9c7d4f3a8c5ea3b

add Crossfade

view details

push time in 3 days

PR merged RustAudio/rodio

Crossfade two Sources

Hello, I'm just getting started with Rust for Audio manipulation. Very happy I found rodio! Lots of frameworks already in place and support for different media.

My goal is to implement crossfading between two sources. This operation seems common enough to include in the library.

Client code will be responsible for chaining clips: [sound A] -> [Crossfade: end of sound A & start of sound B] -> [middle of sound B] -> ...

Crossfade crates a mix of the existing filter FadeIn, and a new filter FadeOut. Based on the previous pull request for FadeOut (#217), I decided to add the filter to a structure that already knows the remaining and total duration: TakeDuration.

I couldn't find a clean way to add a slot in TakeDuration (to accept user-created filters), so instead the FadeOut is baked-in. Not sure how this may effect existing TakeDuration usage.

Please let me know if you have any concerns or suggestions.

+110 -0

0 comment

3 changed files

danjl1100

pr closed time in 3 days

pull request commentRustAudio/rodio

Improve the efficiency of silence

Hi, sorry for the late review. Has this been benchmarked? Is there an improvement in the numbers?

Imberflur

comment created time in 3 days

issue commentRustAudio/rodio

Publish new version

Your code depends on an outdated version of rodio: https://github.com/amethyst/amethyst/blob/45536af87974e5813cc6dbe757f0d8b3267e48dc/amethyst_audio/Cargo.toml#L28

The latest one is 0.10 and doesn't depend on nalgebra at all, see the changelog: https://github.com/RustAudio/rodio/blob/master/CHANGELOG.md

As for rodio's dependencies, I can't find any nalgebra in the rodio lockfile so I'd say they don't depend on nalgebra either.

That being said, we can absolutely publish a new version. Just wanted to set the facts straight.

azriel91

comment created time in 3 days

pull request commentrust-lang/cargo

Enable binary crates as dependencies

@ehuss

It also doesn't handle if the package has both a library and a binary.

I think it's also important to be forward compatible with [binary-dependencies] in Cargo.toml, because sometimes crates have both libraries and binaries, and you might only want to use one of the two but not the other. If there is no opt in to depend only on the library component of a dependency, [binary-dependencies] won't make any sense in the future (issue for binary dependencies: #1982).

npmccallum

comment created time in 4 days

issue closedglium/glium

Keyboard input not captured on latest macOS system

I recently updated my macOS Catalina to 10.15.2. I wrote my code like:

use glium::*;

fn main() {
    let mut event_loop = glutin::EventsLoop::new();
    let wb = glutin::WindowBuilder::new();
    let cb = glutin::ContextBuilder::new().with_depth_buffer(24);
    let _display = glium::Display::new(wb, cb, &event_loop).unwrap();

    event_loop.run_forever(|ev| match ev {
        glutin::Event::WindowEvent { event, .. } => match event {
            glutin::WindowEvent::CloseRequested => winit::ControlFlow::Break,
            glutin::WindowEvent::KeyboardInput {
                device_id, input: kin
            } => {
                println!("WindowEvent Key: {:?} DeviceId: {:?}", kin, device_id);
                winit::ControlFlow::Continue
            }
            _ => winit::ControlFlow::Continue,
        },
        glutin::Event::DeviceEvent { event, device_id } => match event {
            glutin::DeviceEvent::Key(kin) => {
                println!("DeviceEvent Key: {:?} DeviceId: {:?}", kin, device_id);
                winit::ControlFlow::Continue
            },
            _ => winit::ControlFlow::Continue
        },
        _ => winit::ControlFlow::Continue
    });
}

And there is a window shown as expected. When I try to press a key, I expect both WindowEvent and DeviceEvent could print an output.

However, only WindowEvent did. The whole output is like:

WindowEvent Key: KeyboardInput { scancode: 18, state: Pressed, virtual_keycode: Some(Key1), modifiers: ModifiersState { shift: false, ctrl: false, alt: false, logo: false } } DeviceId: DeviceId(DeviceId)
WindowEvent Key: KeyboardInput { scancode: 19, state: Pressed, virtual_keycode: Some(Key2), modifiers: ModifiersState { shift: false, ctrl: false, alt: false, logo: false } } DeviceId: DeviceId(DeviceId)
WindowEvent Key: KeyboardInput { scancode: 18, state: Released, virtual_keycode: Some(Key1), modifiers: ModifiersState { shift: false, ctrl: false, alt: false, logo: false } } DeviceId: DeviceId(DeviceId)
WindowEvent Key: KeyboardInput { scancode: 20, state: Pressed, virtual_keycode: Some(Key3), modifiers: ModifiersState { shift: false, ctrl: false, alt: false, logo: false } } DeviceId: DeviceId(DeviceId)

What happened? Should there also be a DeviceEvent output? I used glium = "0.25.1".

closed time in 4 days

luojia65

issue commentglium/glium

Keyboard input not captured on latest macOS system

I've asked on glutin's IRC and @chrisduerr seems to have observed that same behaviour. Ultimately, this is either a glutin or winit issue and not caused by glium, so I suggest filing a report over at https://github.com/rust-windowing/glutin or at https://github.com/rust-windowing/winit .

Thanks!

luojia65

comment created time in 4 days

issue commentrust-lang/cargo

Support checksum in git sources

@leo60228

the singular hash 278131ae3bc3d250a6299eabfb96a2bf1cd7d99f does not allow verifying file1 in any way! The hash 4438c472f49f59192b8fd8c330b44ff5a9356b23 is required for this.

Git commits don't work like you imagine. Each commit includes a full hash of the entire tracked tree. This means that you can verify every single file from that tree using that hash. Furthermore, git ships with sha1 collision detection mitigations enabled, which protect from known practical collision attacks.

You can read more about how git hashes work in this link.

nmattia

comment created time in 4 days

pull request commentrust-windowing/winit

Remove lifetime from `Event` type

Nice PR!

I don't think that performance is that important. How often does the DPI change? I'd say it's quite rarely. A Mutex should be enough. However, to make changing the implementation easy in the future, you could replace the Mutex with an opaque wrapper type that allows reading & writing the PhysicalSize<u32> through functions taking &self. That wrapper type could then use a AtomicU64 for storage if desired (PhysicalSize<u32> fits into a u64).

Also it would be cool if you could re-add the Clone impls for Event.

tangmi

comment created time in 6 days

issue commentrust-lang/rust

Different NaN types on mipsel and mips64el than on most other architectures

it only fails in debug build mode, and succeeds in release build mode.

Thanks that's consistent with the output of godbolt I linked above, as there the compiler just optimizes out the checks.

silwol

comment created time in 8 days

issue commentrust-lang/rust

Different NaN types on mipsel and mips64el than on most other architectures

Hmmm indeed c5295ac64a8f2c7aee9cdd13b8fe00b82aff8435 looks very much related. These are the changes in the compiler-builtins repo: https://github.com/rust-lang/compiler-builtins/compare/0.1.15...0.1.16 . These are the changes in libm: https://github.com/rust-lang/libm/compare/0ae442888c7af72c0a335edd43dbbd74c751f119...01bee72a93ebaeea2883d0f963174c2b00d4fe68 . This is the PR that added Rust float min/max functions: #42430. I can't find anything suspicious, in fact it should just have moved the code from one place to another.

The next thing to investigate would probably be the codegen changes. This is the 1.36 output while this is the 1.37 output (both with optimizations enabled). IDK how one can get godbolt to show the fmaxf implementation. @silwol do you get the bug in release mode or only in debug mode?

silwol

comment created time in 8 days

issue commentglium/glium

Keyboard input not captured on latest macOS system

Hmm interesting. Can you reproduce the issue with using glutin only? https://github.com/rust-windowing/glutin

luojia65

comment created time in 8 days

issue commentglium/glium

Keyboard input not captured on latest macOS system

Hmm interesting. Can you reproduce the issue with using winit only? https://github.com/rust-windowing/winit/

luojia65

comment created time in 8 days

created tagest31/glium-glyph

tagv0.7.0

Glium frontend for the glyph-brush text renderer

created time in 9 days

push eventest31/glium-glyph

est31

commit sha 281dd648d54f59391255fb2e1ddc325badae2551

Release 0.7.0

view details

push time in 9 days

issue commentglium/glium

Keyboard input not captured on latest macOS system

Hi! Can you update to glium 0.26 and check again?

luojia65

comment created time in 9 days

push eventest31/glium-glyph

est31

commit sha 501b7da9b6ba3b9c4d3decd9d982646237ca5e12

Update glium to 0.26

view details

push time in 9 days

push eventglium/glium

est31

commit sha d9dbd526533c964f239110c5daaa004307226de9

Release glutin 0.26.0

view details

est31

commit sha e44b97ceb959873c6ecce9590dfb4cf7340a665b

Merge pull request #1825 from est31/release_0_26 Release glutin 0.26.0

view details

push time in 9 days

PR merged glium/glium

Release glutin 0.26.0
+7 -1

0 comment

2 changed files

est31

pr closed time in 9 days

PR opened glium/glium

Release glutin 0.26.0
+7 -1

0 comment

2 changed files

pr created time in 9 days

create barnchest31/glium

branch : release_0_26

created branch time in 9 days

push eventglium/glium

est31

commit sha eea0b48b4eb22a891432d4b6fd73f34077514710

Update image to 0.23

view details

est31

commit sha 67859e11de225f6e55bf932f292442963b0f1c9c

Merge pull request #1824 from est31/image_update Update image to 0.23

view details

push time in 9 days

PR merged glium/glium

Update image to 0.23
+10 -9

0 comment

8 changed files

est31

pr closed time in 9 days

push eventest31/glium

est31

commit sha 722834cbdf8676eace1e684ed0fc2f6f5e8631bc

Merge pull request #1823 from est31/no_array_into_iter Fix array into iter forward compat warning

view details

est31

commit sha eea0b48b4eb22a891432d4b6fd73f34077514710

Update image to 0.23

view details

push time in 9 days

PR opened glium/glium

Update image to 0.23
+10 -9

0 comment

8 changed files

pr created time in 9 days

create barnchest31/glium

branch : image_update

created branch time in 9 days

issue commentrust-windowing/winit

Event now takes a lifetime

just dropping all the events that might have a lifetime (including DPR change and user events) definitely doesn't sound like a great solution.

It isn't. In fact it's only done in glium's example code where the priority is to allow a quick start without worrying about everything that can go wrong. Here, caring about DPI changes is in fact a liability as it makes the code harder to understand. It's obviously a different tradeoff in production apps like alacritty. User events fortunately require 'static so they should be no concern.

est31

comment created time in 9 days

push eventglium/glium

est31

commit sha f030ffaf532e9d0fcb743296c1872492db34a19f

Fix array into iter forward compat warning See https://github.com/rust-lang/rust/issues/66145

view details

est31

commit sha 722834cbdf8676eace1e684ed0fc2f6f5e8631bc

Merge pull request #1823 from est31/no_array_into_iter Fix array into iter forward compat warning

view details

push time in 9 days

PR merged glium/glium

Fix array into iter forward compat warning
+1 -1

0 comment

1 changed file

est31

pr closed time in 9 days

issue commentrust-windowing/winit

Event now takes a lifetime

So for glium, I've ended up using the to_static function in order to be able to update glutin/winit. But the API choice is still a bug in my eyes as the violation of separation of concerns aspect is not resolved.

est31

comment created time in 9 days

issue closedrust-lang/rust

Document endianess of octets function on ipv4addr/ipv6addr

The docs of the octets function on ipv6addr and on ipv4addr don't tell about the endianess. Network or host order?

<!-- TRIAGEBOT_START -->

<!-- TRIAGEBOT_ASSIGN_START --> This issue has been assigned to @fhartwig via this comment. <!-- TRIAGEBOT_ASSIGN_DATA_START$${"user":"fhartwig"}$$TRIAGEBOT_ASSIGN_DATA_END -->

<!-- TRIAGEBOT_ASSIGN_END --> <!-- TRIAGEBOT_END -->

closed time in 9 days

est31

issue commentrust-lang/rust

Document endianess of octets function on ipv4addr/ipv6addr

Nothing has happened. Pointless to keep this open.

est31

comment created time in 9 days

push eventest31/glium

est31

commit sha 97f81d07e7e10373d82cc0f9164d74579f3de651

Merge pull request #1817 from est31/glutin_022 Update to glutin 0.23

view details

est31

commit sha f030ffaf532e9d0fcb743296c1872492db34a19f

Fix array into iter forward compat warning See https://github.com/rust-lang/rust/issues/66145

view details

push time in 9 days

push eventglium/glium

est31

commit sha 8e65f6f23c2edad355258db278bbd3b36a16a9d7

Update glutin to 0.23.0 release

view details

est31

commit sha 97f81d07e7e10373d82cc0f9164d74579f3de651

Merge pull request #1817 from est31/glutin_022 Update to glutin 0.23

view details

push time in 9 days

PR merged glium/glium

Update to glutin 0.23

WIP as I need to figure out a solution to the examples/support/mod.rs build failure (see https://github.com/rust-windowing/winit/issues/1387).

+13 -10

0 comment

6 changed files

est31

pr closed time in 9 days

PR opened glium/glium

Fix array into iter forward compat warning
+14 -11

0 comment

6 changed files

pr created time in 9 days

create barnchest31/glium

branch : no_array_into_iter

created branch time in 9 days

push eventest31/glium

est31

commit sha 8e65f6f23c2edad355258db278bbd3b36a16a9d7

Update glutin to 0.23.0 release

view details

push time in 9 days

fork est31/winit

Window handling library in pure Rust

fork in 9 days

issue commentrust-lang/rust

Different NaN types on mipsel and mips64el than on most other architectures

Note that this is a valid bug because it violates what that the docs of the min function say:

If one of the arguments is NaN, then the other argument is returned.

See also my comments in that thread for some investigations.

silwol

comment created time in 10 days

push eventest31/cargo-udeps

Ryo Yamashita

commit sha 824419c74b3aaa89fa973800806a00263fabb04c

Enable `UnifiedHelpMessage` and update the helps

view details

Ryo Yamashita

commit sha d8b648d04ed0fcd5a894db65f32b6e867d4e9847

Distinguish dev-dependencies with normal ones

view details

Ryo Yamashita

commit sha d083c44996264a63985d60584f0bf5ff2f329ea0

Add `--output` option

view details

est31

commit sha b3b9ff4f4d576c8051588e1e1fdce8db33eb3905

Merge pull request #50 from qryxip/json-output `--output json`

view details

push time in 10 days

PR merged est31/cargo-udeps

`--output json`

Closes #42.

+404 -191

3 comments

3 changed files

qryxip

pr closed time in 10 days

issue closedest31/cargo-udeps

Machine readable output

I am thinking of writing a GitHub action that runs cargo-udeps against a repository and opens a PR that removes the unused dependencies.

To achieve this, it would be nice if the command would have a flag to produce machine-readable output (JSON?).

closed time in 10 days

thomaseizinger

push eventRustAudio/deepspeech-rs

est31

commit sha 8b46ca5649b8976e85585b71978207472a6396c0

Update to 0.6.1 in the README

view details

push time in 11 days

issue commentRustAudio/deepspeech-rs

cannot open input file 'deepspeech.lib' / Windows 10

Hmm I see, that's a valid question. There is a .lib file in the windows native client but it's called differently.

LeSplooch

comment created time in 11 days

issue commentRustAudio/deepspeech-rs

cannot open input file 'deepspeech.lib' / Windows 10

Have you added the directory with deepspeech.lib to your path?

LeSplooch

comment created time in 11 days

issue commentRustAudio/deepspeech-rs

How do I make deepspeech-rs use my GPU?

Hmm yeah it might be possible to use this wrapper with a GPU. You could try it out with the cuda native client library in the release announcement. It's named like native_client.amd64.cuda.linux.tar.xz. I think the default builds use TF lite but it might be that these builds use proper tensorflow. IDK. Again, please ask upstream instead, they know more about how the native client is structured. This crate mainly wraps the high level parts of the API. Thanks.

nihiluis

comment created time in 11 days

issue commentrust-lang/rust

Should std::{f32,f64}::NAN be a QNAN or SNAN ?

@silwol yeah there is a fundamental difference between older MIPS targets and newer MIPS targets in that the signaling bit is opposite to IEEE 754-2008 vs follows the standard. But even older MIPS targets follow IEEE 754-1985 which clearly specifies the bit patterns of NaNs (it only doesn't specify the bit pattern distinction between qNaN and sNaN).

@silwol if you have access to a MIPS machine you could try finding the nightly that caused the regression using cargo-bisect-rustc.

Either way, I think you should file a proper issue for your bug report.

gnzlbg

comment created time in 11 days

issue commentRustAudio/deepspeech-rs

How do I make deepspeech-rs use my GPU?

I guess that part is for the training. This wrapper is about the inference part only.

nihiluis

comment created time in 11 days

issue commentest31/cargo-udeps

doctest dependencies don't seem to be taken into account

#4 could solve it. But it's a larger project.

nmattia

comment created time in 11 days

issue closedest31/cargo-udeps

Panic when used with complex dependency graph

To reproduce, check out noria (specifically https://github.com/mit-pdos/noria/commit/fb1da756d41b40fccf3c5d1266acbaaba586f0a6) and run cargo udeps in the root:

cargo udeps
    Blocking waiting for file lock on build directory
    Checking nix v0.16.1
    Checking noria v0.3.0 (/home/jon/dev/projects/noria/noria)
    Checking trawler-mysql v0.3.0 (/home/jon/dev/projects/noria/noria-benchmarks/lobsters)
thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', src/librustc_typeck/check/mod.rs:840:14
stack backtrace:
   0: backtrace::backtrace::libunwind::trace
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/libunwind.rs:88
   1: backtrace::backtrace::trace_unsynchronized
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/mod.rs:66
   2: std::sys_common::backtrace::_print_fmt
             at src/libstd/sys_common/backtrace.rs:77
   3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
             at src/libstd/sys_common/backtrace.rs:59
   4: core::fmt::write
             at src/libcore/fmt/mod.rs:1052
   5: std::io::Write::write_fmt
             at src/libstd/io/mod.rs:1426
   6: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:62
   7: std::sys_common::backtrace::print
             at src/libstd/sys_common/backtrace.rs:49
   8: std::panicking::default_hook::{{closure}}
             at src/libstd/panicking.rs:204
   9: std::panicking::default_hook
             at src/libstd/panicking.rs:224
  10: rustc_driver::report_ice
  11: <alloc::boxed::Box<F> as core::ops::function::Fn<A>>::call
             at /rustc/698fcd38fa9548e64a2092ff48c9d15ceb57d40c/src/liballoc/boxed.rs:1029
  12: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter::{{closure}}::{{closure}}
             at /rustc/698fcd38fa9548e64a2092ff48c9d15ceb57d40c/src/libproc_macro/bridge/client.rs:305
  13: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:476
  14: rust_begin_unwind
             at src/libstd/panicking.rs:380
  15: core::panicking::panic_fmt
             at src/libcore/panicking.rs:85
  16: core::panicking::panic
             at src/libcore/panicking.rs:52
  17: rustc_typeck::check::has_typeck_tables
  18: rustc::ty::query::__query_compute::has_typeck_tables
  19: rustc::ty::query::<impl rustc::ty::query::config::QueryAccessors for rustc::ty::query::queries::has_typeck_tables>::compute
  20: rustc::dep_graph::graph::DepGraph::with_task_impl
  21: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt>::get_query
  22: <rustc_save_analysis::dump_visitor::DumpVisitor as syntax::visit::Visitor>::visit_ty
  23: <rustc_save_analysis::dump_visitor::DumpVisitor as syntax::visit::Visitor>::visit_item
  24: <rustc_save_analysis::dump_visitor::DumpVisitor as syntax::visit::Visitor>::visit_item
  25: <rustc_save_analysis::dump_visitor::DumpVisitor as syntax::visit::Visitor>::visit_mod
  26: rustc::dep_graph::graph::DepGraph::with_ignore
  27: rustc::ty::context::tls::enter_global
  28: rustc_interface::interface::run_compiler_in_existing_thread_pool
  29: scoped_tls::ScopedKey<T>::set
  30: syntax::with_globals
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.42.0-nightly (698fcd38f 2020-01-26) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z save-analysis -C debuginfo=2 -C incremental -C target-cpu=native --crate-type lib

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [has_typeck_tables] processing `<controller::Controller<A> as tower_service::Service<controller::ControllerRequest>>::Future::{{opaque}}#0`
end of query stack
error: could not compile `noria`.

Note that this also happens if you run it in a particular sub-crate's root (like noria/).

closed time in 12 days

jonhoo

issue commentest31/cargo-udeps

Panic when used with complex dependency graph

Cargo udeps + latest rustc nightly works with noria master. Closing. Thanks for your report.

jonhoo

comment created time in 12 days

issue commentrust-lang/rust

Should std::{f32,f64}::NAN be a QNAN or SNAN ?

The f32::max docs say:

If one of the arguments is NaN, then the other argument is returned.

Which is clearly not the case here.

f32::max itself is only a wrapper of the maxnumf32 intrinsic, which maps to llvm.maxnum.f32.

The docs of that LLVM intrinsic say:

Follows the IEEE-754 semantics for maxNum except for the handling of signaling NaNs. This matches the behavior of libm’s fmax.

If either operand is a NaN, returns the other non-NaN operand.

I'd guess that LLVM internally calls libm, and I think we are using the Rust based libm implementation, which has this fmaxf code. So maybe the bug lurks there? The code looks alright though.

gnzlbg

comment created time in 12 days

issue commentrust-lang/rust

Should std::{f32,f64}::NAN be a QNAN or SNAN ?

@silwol which mips version does your cpu have? E.g. what does running cat /proc/cpuinfo | grep "model name" show?

gnzlbg

comment created time in 12 days

issue closedRustAudio/deepspeech-rs

How do I make deepspeech-rs use my GPU?

Or does it already?

closed time in 12 days

nihiluis

issue commentRustAudio/deepspeech-rs

How do I make deepspeech-rs use my GPU?

This is probably best asked in the upstream repo as this project only wraps the API they provide: https://github.com/mozilla/deepspeech

It seems it's still an open issue for them: https://github.com/mozilla/DeepSpeech/issues/2270

nihiluis

comment created time in 12 days

issue commentest31/cargo-udeps

doctest dependencies don't seem to be taken into account

Yes, it's a known issue: https://github.com/est31/cargo-udeps/blob/6e0b23342f8b6903f1daedb21b5134e11a5fd513/src/lib.rs#L413

nmattia

comment created time in 13 days

push eventRustAudio/deepspeech-rs

est31

commit sha e8b02371869ee9ada3960b2dcab67aa7527bdc0d

Update bindgen to 0.53

view details

est31

commit sha 1f454364a00245cdb23fe8dcdb481fb3796f0303

Check in updated bindgen output

view details

push time in 14 days

push eventRustAudio/deepspeech-rs

est31

commit sha 1bbf5d85edf09d733996b784d023009917ca2c6e

Update the submodule to v0.7.0-alpha.1

view details

push time in 15 days

push eventest31/cargo-udeps

Alexandre Caulier

commit sha c99e236801dc9dbfdde0acfcefe932230e65c102

Add rustfst to trophy

view details

est31

commit sha f65a2bcd3ae4801efb565b1ae63642a224d301c3

Merge pull request #51 from Garvys/patch-1 Add rustfst to trophy

view details

push time in 15 days

PR merged est31/cargo-udeps

Add rustfst to trophy

Hey ! Thanks for this tool ! Thanks to it, I found a dependency I only needed at test time ! :)

https://github.com/Garvys/rustfst/pull/76

+1 -0

0 comment

1 changed file

Garvys

pr closed time in 15 days

Pull request review commentest31/cargo-udeps

`--output json`

 impl DependencyNames {  		Ok(this) 	}++	fn has_non_lib(&self) -> bool {+		[dependency::Kind::Normal, dependency::Kind::Development, dependency::Kind::Build]+			.iter()+			.any(|&k| !self[k].non_lib.is_empty())+	}+}++impl Index<dependency::Kind> for DependencyNames {+	type Output = DependencyNamesValue;++	fn index(&self, index: dependency::Kind) -> &DependencyNamesValue {+		match index {+			dependency::Kind::Normal => &self.normal,+			dependency::Kind::Development => &self.development,+			dependency::Kind::Build => &self.build,+		}+	}+}++impl IndexMut<dependency::Kind> for DependencyNames {+	fn index_mut(&mut self, index: dependency::Kind) -> &mut DependencyNamesValue {+		match index {+			dependency::Kind::Normal => &mut self.normal,+			dependency::Kind::Development => &mut self.development,+			dependency::Kind::Build => &mut self.build,+		}+	}+}++#[derive(Debug, Default)]+struct DependencyNamesValue {+	by_extern_crate_name :HashMap<String, InternedString>,+	by_lib_true_snakecased_name :HashMap<String, HashSet<InternedString>>,+	non_lib :HashSet<InternedString>,+}++#[derive(Default, Debug, Serialize)]+struct Outcome {+	success: bool,+	unused_deps: BTreeMap<PackageId, OutcomeUnusedDeps>,+	warning: Option<String>,+}++impl Outcome {+	fn print(&self, output: OutputKind, stdout: impl Write) -> io::Result<()> {+		match output {+			OutputKind::Human => self.print_human(stdout),+			OutputKind::Json => self.print_json(stdout),+		}+	}++	fn print_human(&self, mut stdout: impl Write) -> io::Result<()> {+		if self.success {+			writeln!(stdout, "All deps seem to have been used.")?;+		} else {+			writeln!(stdout, "unused dependencies:")?;++			for (member, OutcomeUnusedDeps { normal, development, build, .. }) in &self.unused_deps {+				fn edge_and_joint(p: bool) -> (char, char) {+					if p {+						(' ', '└')+					} else {+						('│', '├')+					}+				}++				writeln!(stdout, "`{}`", member)?;++				for (deps, (edge, joint), prefix) in &[+					(normal, edge_and_joint(development.is_empty() && build.is_empty()), ""),+					(development, edge_and_joint(build.is_empty()), "dev-"),+					(build, (' ', '└'), "build-"),+				] {+					if !deps.is_empty() {+						writeln!(stdout, "{}─── {}dependencies", joint, prefix)?;+						let mut deps = deps.iter().peekable();+						while let Some(dep) = deps.next() {+							let joint = if deps.peek().is_some() {+								'├'+							} else {+								'└'+							};+							writeln!(stdout, "{}    {}─── {:?}", edge, joint, dep)?;+						}+					}+				}+			}++			if let Some(warning) = &self.warning {+				write!(stdout, "{}", warning)?;+			}+		}+		stdout.flush()+	}++	fn print_json(&self, mut stdout: impl Write) -> io::Result<()> {+		let json = serde_json::to_string(self).expect("should not fail");+		writeln!(stdout, "{}", json)?;+		stdout.flush()+	}+}++#[derive(Debug, Serialize)]+struct OutcomeUnusedDeps {+	manifest_path: String,+	normal: BTreeSet<InternedString>,+	development: BTreeSet<InternedString>,+	build: BTreeSet<InternedString>,+}++impl OutcomeUnusedDeps {+	fn new(manifest_path: &Path) -> CargoResult<Self> {+		let manifest_path = manifest_path+			.to_str()+			.ok_or_else(|| failure::format_err!("{:?} is not valid utf-8", manifest_path))?+			.to_owned();++		Ok(Self {+			manifest_path,+			normal: BTreeSet::new(),+			development: BTreeSet::new(),+			build: BTreeSet::new(),+		})+	}+}++#[derive(EnumString, EnumVariantNames, Clone, Copy, Debug)]

Also btw, your compile time tests also compile the strum_tests crate. It means 3.18s if you do cargo build --release -p strum -p strum_macro instead of cargo build --release.

qryxip

comment created time in 17 days

Pull request review commentest31/cargo-udeps

`--output json`

 impl DependencyNames {  		Ok(this) 	}++	fn has_non_lib(&self) -> bool {+		[dependency::Kind::Normal, dependency::Kind::Development, dependency::Kind::Build]+			.iter()+			.any(|&k| !self[k].non_lib.is_empty())+	}+}++impl Index<dependency::Kind> for DependencyNames {+	type Output = DependencyNamesValue;++	fn index(&self, index: dependency::Kind) -> &DependencyNamesValue {+		match index {+			dependency::Kind::Normal => &self.normal,+			dependency::Kind::Development => &self.development,+			dependency::Kind::Build => &self.build,+		}+	}+}++impl IndexMut<dependency::Kind> for DependencyNames {+	fn index_mut(&mut self, index: dependency::Kind) -> &mut DependencyNamesValue {+		match index {+			dependency::Kind::Normal => &mut self.normal,+			dependency::Kind::Development => &mut self.development,+			dependency::Kind::Build => &mut self.build,+		}+	}+}++#[derive(Debug, Default)]+struct DependencyNamesValue {+	by_extern_crate_name :HashMap<String, InternedString>,+	by_lib_true_snakecased_name :HashMap<String, HashSet<InternedString>>,+	non_lib :HashSet<InternedString>,+}++#[derive(Default, Debug, Serialize)]+struct Outcome {+	success: bool,+	unused_deps: BTreeMap<PackageId, OutcomeUnusedDeps>,+	warning: Option<String>,+}++impl Outcome {+	fn print(&self, output: OutputKind, stdout: impl Write) -> io::Result<()> {+		match output {+			OutputKind::Human => self.print_human(stdout),+			OutputKind::Json => self.print_json(stdout),+		}+	}++	fn print_human(&self, mut stdout: impl Write) -> io::Result<()> {+		if self.success {+			writeln!(stdout, "All deps seem to have been used.")?;+		} else {+			writeln!(stdout, "unused dependencies:")?;++			for (member, OutcomeUnusedDeps { normal, development, build, .. }) in &self.unused_deps {+				fn edge_and_joint(p: bool) -> (char, char) {+					if p {+						(' ', '└')+					} else {+						('│', '├')+					}+				}++				writeln!(stdout, "`{}`", member)?;++				for (deps, (edge, joint), prefix) in &[+					(normal, edge_and_joint(development.is_empty() && build.is_empty()), ""),+					(development, edge_and_joint(build.is_empty()), "dev-"),+					(build, (' ', '└'), "build-"),+				] {+					if !deps.is_empty() {+						writeln!(stdout, "{}─── {}dependencies", joint, prefix)?;+						let mut deps = deps.iter().peekable();+						while let Some(dep) = deps.next() {+							let joint = if deps.peek().is_some() {+								'├'+							} else {+								'└'+							};+							writeln!(stdout, "{}    {}─── {:?}", edge, joint, dep)?;+						}+					}+				}+			}++			if let Some(warning) = &self.warning {+				write!(stdout, "{}", warning)?;+			}+		}+		stdout.flush()+	}++	fn print_json(&self, mut stdout: impl Write) -> io::Result<()> {+		let json = serde_json::to_string(self).expect("should not fail");+		writeln!(stdout, "{}", json)?;+		stdout.flush()+	}+}++#[derive(Debug, Serialize)]+struct OutcomeUnusedDeps {+	manifest_path: String,+	normal: BTreeSet<InternedString>,+	development: BTreeSet<InternedString>,+	build: BTreeSet<InternedString>,+}++impl OutcomeUnusedDeps {+	fn new(manifest_path: &Path) -> CargoResult<Self> {+		let manifest_path = manifest_path+			.to_str()+			.ok_or_else(|| failure::format_err!("{:?} is not valid utf-8", manifest_path))?+			.to_owned();++		Ok(Self {+			manifest_path,+			normal: BTreeSet::new(),+			development: BTreeSet::new(),+			build: BTreeSet::new(),+		})+	}+}++#[derive(EnumString, EnumVariantNames, Clone, Copy, Debug)]

I don't think that two more dependent crates with additional 2000 lines of code are worth the 14 (pretty straightforward) lines. I'd only use it if we then make heavier use of it.

qryxip

comment created time in 17 days

Pull request review commentest31/cargo-udeps

`--output json`

 impl DependencyNames {  		Ok(this) 	}++	fn has_non_lib(&self) -> bool {+		[dependency::Kind::Normal, dependency::Kind::Development, dependency::Kind::Build]+			.iter()+			.any(|&k| !self[k].non_lib.is_empty())+	}+}++impl Index<dependency::Kind> for DependencyNames {+	type Output = DependencyNamesValue;++	fn index(&self, index: dependency::Kind) -> &DependencyNamesValue {+		match index {+			dependency::Kind::Normal => &self.normal,+			dependency::Kind::Development => &self.development,+			dependency::Kind::Build => &self.build,+		}+	}+}++impl IndexMut<dependency::Kind> for DependencyNames {+	fn index_mut(&mut self, index: dependency::Kind) -> &mut DependencyNamesValue {+		match index {+			dependency::Kind::Normal => &mut self.normal,+			dependency::Kind::Development => &mut self.development,+			dependency::Kind::Build => &mut self.build,+		}+	}+}++#[derive(Debug, Default)]+struct DependencyNamesValue {+	by_extern_crate_name :HashMap<String, InternedString>,+	by_lib_true_snakecased_name :HashMap<String, HashSet<InternedString>>,+	non_lib :HashSet<InternedString>,+}++#[derive(Default, Debug, Serialize)]+struct Outcome {+	success: bool,+	unused_deps: BTreeMap<PackageId, OutcomeUnusedDeps>,+	warning: Option<String>,+}++impl Outcome {+	fn print(&self, output: OutputKind, stdout: impl Write) -> io::Result<()> {+		match output {+			OutputKind::Human => self.print_human(stdout),+			OutputKind::Json => self.print_json(stdout),+		}+	}++	fn print_human(&self, mut stdout: impl Write) -> io::Result<()> {+		if self.success {+			writeln!(stdout, "All deps seem to have been used.")?;+		} else {+			writeln!(stdout, "unused dependencies:")?;++			for (member, OutcomeUnusedDeps { normal, development, build, .. }) in &self.unused_deps {+				fn edge_and_joint(p: bool) -> (char, char) {+					if p {+						(' ', '└')+					} else {+						('│', '├')+					}+				}++				writeln!(stdout, "`{}`", member)?;++				for (deps, (edge, joint), prefix) in &[+					(normal, edge_and_joint(development.is_empty() && build.is_empty()), ""),+					(development, edge_and_joint(build.is_empty()), "dev-"),+					(build, (' ', '└'), "build-"),+				] {+					if !deps.is_empty() {+						writeln!(stdout, "{}─── {}dependencies", joint, prefix)?;+						let mut deps = deps.iter().peekable();+						while let Some(dep) = deps.next() {+							let joint = if deps.peek().is_some() {+								'├'+							} else {+								'└'+							};+							writeln!(stdout, "{}    {}─── {:?}", edge, joint, dep)?;+						}+					}+				}+			}++			if let Some(warning) = &self.warning {+				write!(stdout, "{}", warning)?;+			}+		}+		stdout.flush()+	}++	fn print_json(&self, mut stdout: impl Write) -> io::Result<()> {+		let json = serde_json::to_string(self).expect("should not fail");+		writeln!(stdout, "{}", json)?;+		stdout.flush()+	}+}++#[derive(Debug, Serialize)]+struct OutcomeUnusedDeps {+	manifest_path: String,+	normal: BTreeSet<InternedString>,+	development: BTreeSet<InternedString>,+	build: BTreeSet<InternedString>,+}++impl OutcomeUnusedDeps {+	fn new(manifest_path: &Path) -> CargoResult<Self> {+		let manifest_path = manifest_path+			.to_str()+			.ok_or_else(|| failure::format_err!("{:?} is not valid utf-8", manifest_path))?+			.to_owned();++		Ok(Self {+			manifest_path,+			normal: BTreeSet::new(),+			development: BTreeSet::new(),+			build: BTreeSet::new(),+		})+	}+}++#[derive(EnumString, EnumVariantNames, Clone, Copy, Debug)]

Do we really need a separate crate for this? I think it would be better if you made the code manually, if that's possible.

qryxip

comment created time in 17 days

push eventRustAudio/deepspeech-rs

est31

commit sha 5be4521977dbcc35c1ecca64fd6d9c6cd16ad76c

Update the submodule to v0.7.0-alpha.0

view details

push time in 18 days

push eventRustAudio/deepspeech-rs

est31

commit sha 9a2812aa690b879e2bd181e1b228febad5568f42

Clarify licenses and license the bg tool under MIT OR Apache-2.0 This commit mostly clarifies licensing. "OR" is more easy to interpret than a /. Also, the bg tool is now dual licensed instead of MPL-2.0 licensed.

view details

push time in 18 days

issue closedRustAudio/deepspeech-rs

0.6.1 ?

I see you did update sys/deepspeech dep to 0.6.1, wouldn't a new release be indicated ? There are bug-fixes in the library itself, so I guess it's of value for people.

closed time in 18 days

lissyx

issue commentRustAudio/deepspeech-rs

0.6.1 ?

I've uploaded version 0.6.1 now: https://github.com/RustAudio/deepspeech-rs/releases/tag/v0.6.1

lissyx

comment created time in 18 days

created tagRustAudio/deepspeech-rs

tagv0.6.1

Rust bindings for the deepspeech library

created time in 18 days

push eventRustAudio/deepspeech-rs

est31

commit sha ff5327dd39d3f4bced6844b630f4411e330479e0

Generate the bindings via a dedicated crate There are bazillion different bindgen installations, varying in compiler version, version of dependencies, versions of bindgen itself. If we use the binary bindgen, it would be an endless back and forth in minuscle differences between the installations. With this patch, versions of the entire dependency graph are checked into the repo. This avoids confusion.

view details

est31

commit sha f459e57c5986c36bb824320903b896e0d59efb41

Release 0.6.1 of sys crate

view details

est31

commit sha ce4bd6cf8e9301456446d813ed3af12a5ed9810e

Release v0.6.1

view details

push time in 18 days

created tagest31/cargo-udeps

tagv0.1.7

Find unused dependencies in Cargo.toml

created time in 18 days

push eventest31/cargo-udeps

est31

commit sha 0f06839090cfef8795e89bd52821c1552d3e2e23

Credit @qryxip as co-author

view details

est31

commit sha 64ff1fc8299aaea7ce34297184510a38617ee17f

MIT OR Apache-2.0

view details

est31

commit sha 0beb2cf0ae76894e1999d8039008141377a0d299

Changelog for 0.1.7

view details

est31

commit sha 263f2613e561b632fc26490cbe8562c782b9a9ec

Release 0.1.7

view details

push time in 18 days

pull request commentrust-lang/cargo

Stabilize profile-overrides.

@jhpratt on really old cargo versions before the feature was implemented, there won't be an error. On versions like 1.40 where the feature was unstable, there will be an error unfortunately. See this link for details.

ehuss

comment created time in 19 days

pull request commentrust-lang/rust

Add an option to use LLD to link the compiler on Windows platforms

@retep998 full agree. This PR should be merged in any case. Performance comparisons would still be highly interesting and the earlier we have them, the earlier we can switch to LLD as default if it's faster in the benchmarks (or figure out how to make it faster if it's not).

Zoxc

comment created time in 19 days

pull request commentrust-lang/rust

Add an option to use LLD to link the compiler on Windows platforms

I wonder about the impact on rustc's performance when it was linked with LLD vs MSVC's link.exe. The Microsoft linker is known for being good at optimizations so maybe it might be faster. Can perf runs run on Windows?

Zoxc

comment created time in 19 days

push eventest31/cargo-udeps

Ryo Yamashita

commit sha 1ab5dcff7659c4290431b65ce9cd69985ec2b49b

Update cargo dependency to 0.42.0

view details

est31

commit sha 7b0ee8fad72db41b766c8e49f91cce076d5f33d6

Merge pull request #49 from qryxip/bump-cargo Update cargo dependency to 0.42.0

view details

push time in 19 days

PR merged est31/cargo-udeps

Update cargo dependency to 0.42.0

Nothing to do.

Changelog

$ diff <(cargo +1.40.0 check --help) <(cargo +stable check --help)
$ echo $?
0
+178 -165

0 comment

2 changed files

qryxip

pr closed time in 19 days

issue commentRustAudio/deepspeech-rs

0.6.1 ?

does someone installing current 0.6.0 deepspeech-rs gets libdeepspeech.so 0.6.1?

You have to download the .so file yourself. deepspeech-rs does not compile the native client for you (yet), see #3. So you are in full control over which version to use.

lissyx

comment created time in 19 days

push eventest31/rodio

Alex Butler

commit sha 29344401eeb14155f1294c3b12dc33222fadfd23

Update lewton to 0.10

view details

est31

commit sha 1b3b716e9fc31fdbea2faea0e5d6dd32ddec6f58

Update cpal to 0.11.0

view details

push time in 19 days

push eventRustAudio/rodio

est31

commit sha 1b3b716e9fc31fdbea2faea0e5d6dd32ddec6f58

Update cpal to 0.11.0

view details

push time in 19 days

issue commentrust-lang/rust

Add remove, contains functions to BinaryHeap

@billyrieger as you made #68378 , do you want to make this one next?

est31

comment created time in 19 days

push eventRustAudio/rodio

Alex Butler

commit sha 29344401eeb14155f1294c3b12dc33222fadfd23

Update lewton to 0.10

view details

push time in 19 days

PR merged RustAudio/rodio

Update lewton to 0.10

See https://github.com/RustAudio/lewton/blob/master/CHANGELOG.md#release-0100---january-30-2020

+4 -1

0 comment

2 changed files

alexheretic

pr closed time in 19 days

push eventest31/cargo-udeps

Casey Rodarmor

commit sha 018eece3b5c66541256f269b2b18590136648b0a

Add just to trophy case I ❤️cargo-udeps :)

view details

est31

commit sha a700de69cc98c501100caee63e2b5602764a8290

Merge pull request #48 from casey/patch-1 Add just to trophy case

view details

push time in 19 days

PR merged est31/cargo-udeps

Add just to trophy case

I ❤️cargo-udeps :)

+1 -0

0 comment

1 changed file

casey

pr closed time in 19 days

issue commentRustAudio/deepspeech-rs

0.6.1 ?

I don't see any relevant changes in the API. You can just compile the 0.6.1 library with deepspeech-sys 0.6.0. A new release would be a good idea to get #22 out though.

lissyx

comment created time in 19 days

push eventest31/rodio

est31

commit sha e5474a2ef15f2d0a3bae2538de159b6d3e5bdf79

Merge pull request #246 from est31/master Add dyn to the traits

view details

Brian Lewis

commit sha 33788059e74dd582e6106173bc49d10e4f448bc7

Fix `output_devices` return type to be `OutputDevices` instead of `InputDevices`

view details

est31

commit sha 43607113d3cb97f540e42fdf6dcec80ae516fe6d

Merge pull request #251 from br-lewis/master Fix `output_devices` return type to be `OutputDevices` instead of `InputDevices`

view details

Théo Gaillard

commit sha 2f04646ea57f7955869b4d47b020e64e41ea3072

feat: add cpal::Format to rodio::

view details

est31

commit sha d995cb0985ba4b7be647248d747908c02d557b44

Merge pull request #254 from tirz/feature-pub_use_cpal_format feat: add cpal::Format to rodio::

view details

est31

commit sha b36ce814476d835ab44e1c4d031f63edaf6be291

Update some links to the new location

view details

est31

commit sha 379f4b1d2811baf76fdf6469e9c0545a5ae21e06

Merge pull request #257 from est31/fix-travis-ci-link Update some links to the new location

view details

Cocalus

commit sha d8723a51366305aef6e6f271e33ac7bfdbd16655

Generate samples at a multiple of channels (#249) * Generate samples at a multiple of channels * Fix nits

view details

est31

commit sha eb0a738fcf52898c17a2916a0fee68f068d89607

Changelog for 0.10.0

view details

est31

commit sha 7f9eff3cc893461b662d3d54e5d09bc31ae5e5fc

Release v0.10.0

view details

est31

commit sha 5bcda75c6dc7419d4fc3bf4d7e953950c3de8902

Update lewton to 0.10

view details

est31

commit sha 7f4ea163ee714be17fa5cabd2c461bb12a03c072

Update cpal to 0.11.0

view details

push time in 19 days

issue closedRustAudio/lewton

Create a C API so that C users can use lewton

Needed by https://bugzilla.mozilla.org/show_bug.cgi?id=1446654

closed time in 19 days

est31

issue commentRustAudio/lewton

Create a C API so that C users can use lewton

Release 0.10.0 should address everything now I think.

est31

comment created time in 19 days

created tagRustAudio/lewton

tag0.10.0

Rust vorbis decoder

created time in 19 days

push eventRustAudio/lewton

est31

commit sha a75799c40788a5b410a054a669e759ef4fbacea1

Release 0.10.0

view details

push time in 19 days

push eventRustAudio/lewton

est31

commit sha 4fce2bdfa137bec890272940284dacc48008758c

Update Cargo.lock This is not the result of a pure cargo update, as that would add a new vorbis-sys version, conflicting with itself. Instead, we ran the following: cargo update -p alto -p bitflags -p bytes -p cc -p conv -p custom_derive -p futures -p iovec -p libc -p libloading -p log -p pkg-config -p syn -p tokio-io -p unicode-xid -p parking_lot_core -p proc-macro2 -p quote -p rental -p rental-impl -p syn -p unicode-xid -p winapi:0.3.6 -p rand:0.3.16 -p smallvec:1.1.0 It all still compiles on our MSRV 1.36.0 which is good.

view details

push time in 19 days

push eventRustAudio/lewton

est31

commit sha d508f41c462349a4ccaa5f516c4fcd96bfed9ad2

Update Cargo.lock This is not the result of a pure cargo update, as that would add a new vorbis-sys version, conflicting with itself. Instead, we ran the following: cargo update -p alto -p bitflags -p bytes -p cc -p conv -p custom_derive -p futures -p iovec -p libc -p libloading -p log -p pkg-config -p syn -p tokio-io -p unicode-xid -p parking_lot_core -p proc-macro2 -p quote -p rental -p rental-impl -p syn -p unicode-xid -p winapi:0.3.6 -p rand:0.3.16 -p smallvec:1.1.0 It all still compiles on our MSRV 1.36.0 which is good.

view details

push time in 19 days

push eventRustAudio/lewton

est31

commit sha 8a78a81491ee54635318d314ea3a041bc6bf6164

Create a workspace and put dev/cmp into it

view details

est31

commit sha 17cf6ae30aae8b4527dc03470d78963e29f99f64

Clarify MIT OR Apache The slash "/" might be misinterpreted as "+". OR is more clear and gets the intent across more clearly (that there is a choice between the two licenses). Also set publish = false in dev/cmp

view details

est31

commit sha a6a5cfcd7e63c67b254cd7cbee6affb6d26aaed2

Allow deviations +-2 instead of 1 On newer compiler versions, deviations +-2 seem to happen. Instead of increasing the number of diffing packets in the offending files, let's just allow larger differences. So much for llvm being float exact.

view details

push time in 19 days

push eventRustAudio/rnnoise-c

est31

commit sha 7bbb6d80983e5d0d67ffb0899a2903c2fb436e07

Add dependency status badge

view details

push time in 20 days

PR closed RustAudio/rnnoise-c

rnnoise before deepspeech

I'm trying to run rnnoise prior to converting audio to text with deepspeech. So far the only way I've made it happen successfully is to write out the denoised wav file, then reload that with deepspeech -- see the included example.

Can you recommend a cleaner way to do this? It seems I should be able to load the raw denoised audio into deepspeech, but I've not been able to make this work.

+179 -1

3 comments

3 changed files

jeremyandrews

pr closed time in 20 days

pull request commentRustAudio/rnnoise-c

rnnoise before deepspeech

So the input format for deepspeech is i16 samples at a sampling rate that depends on the model. Our output format is 32 bit floats at a sampling rate of 48 kHz. IIRC the deepspeech library does some resampling internally.

I'm closing this PR because I think it's better to file it towards the deepspech repo. That repo already contains a list of instructions how to obtain deepspeech models and binaries. The rnnoise model and binary on the other hand is built into the Rust crate.

jeremyandrews

comment created time in 20 days

more