Skip to content
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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

lyrebird: init at 1.1.0 #96895

Merged
merged 1 commit into from Oct 4, 2020
Merged

lyrebird: init at 1.1.0 #96895

merged 1 commit into from Oct 4, 2020

Conversation

OPNA2608
Copy link
Contributor

@OPNA2608 OPNA2608 commented Sep 1, 2020

First time I'm packaging something Python-y, please go easy on me if there are any problems with this. 馃槢

Motivation for this change

New package "lyrebird" - an easy-to-use, GTK3-based voice changer application for Linux.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@OPNA2608 OPNA2608 force-pushed the package-lyrebird branch 2 times, most recently from 0e0323f to 813690a Compare September 8, 2020 19:09
@wamserma
Copy link
Member

wamserma commented Sep 8, 2020

Successfully built via nix-shell -p nixpkgs-review --run "nixpkgs-review pr 96895".
It also runs but doesn't seem to work. I only get a bunch of pulseaudio errors:

Module module-null-sink not loaded.
Module module-remap-source not loaded.

@OPNA2608
Copy link
Contributor Author

OPNA2608 commented Sep 8, 2020

Those are normal, you'll need to put "Toggle Lyrebird" into the on position, then play around with the presets / pitch shift value while having something listening to the newly created "Lyrebird Virtual Input" device.

Tested with Discord, device gets picked up and successfully applies the selected presets.

@wamserma
Copy link
Member

wamserma commented Sep 9, 2020

A warning for all possible reviewers: This PR was branched of while the fontconfig font cache issue was present in master. If the system behaves weird after nix-review, run fc-cache -r.

@OPNA2608
Copy link
Contributor Author

Rebased on current master, I hope that helps with the fontconfig cache issue.

@Lassulus
Copy link
Member

getting these errors when trying to use it:

sox FAIL formats: can't open output file `Lyrebird-Output': can not open audio device: No such entity
No PulseAudio daemon running, or not running as session daemon.
Traceback (most recent call last):
  File "/nix/store/j475am9xsjzyvxjdgab6xmljj1l1dk2b-lyrebird-1.1.0/share/lyrebird/app/mainwindow.py", line 162, in toggle_activated
    null_sink = subprocess.check_call(
  File "/nix/store/bs03sg8b0gq2zr4v252hh9psp780qj5q-python3-3.8.5/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['pacmd', 'load-module', 'module-null-sink', 'sink_name=Lyrebird-Output']' returned non-zero exit status 1.

wat do I need to do? otherwise looks good

@OPNA2608
Copy link
Contributor Author

Added pulseaudio to PATH so it can find pacmd, blind guess that's what's missing? If that didn't fix it then I'd suspect the application having a problem with your audio setup: are you running Pulse & does pacmd load-module module-null-sink sink_name=Lyrebird-Output complete without errors if you run it?

@Lassulus
Copy link
Member

hmm, it does indeed not work. I guess my setup is a little bit unconventional with pulseaudio running systemWide

@OPNA2608
Copy link
Contributor Author

OPNA2608 commented Sep 18, 2020

That does appear to be the problem, as lyrebird tries to load PulseAudio modules via pacmd load-module. Having a system-wide PulseAudio server seems to not be compatible with that approach by default, assuming none of the basic design behind this 13 year old report has been changed.

Normally the automatic module loading bit will fail with system PAs
because module loading is not allowed and thus the module-cli-protocol-
unix cannot be loaded.

Either way, this is by design and I'm not sure it's something we should
change, especially as system mode is not really recommended or really
heavily tested upstream.

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

diff LGTM
gui opens fine

https://github.com/NixOS/nixpkgs/pull/96895
1 package built:
lyrebird

@jonringer jonringer merged commit d3a22b4 into NixOS:master Oct 4, 2020
@OPNA2608 OPNA2608 deleted the package-lyrebird branch September 27, 2022 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants