Comments (9)
whoops, wrong account, let me repeat that...
well, there's nothing for you to really do here. i was more talking to the developer so they could fix it, lol.
from lyrebird.
Hi, same for me on Linux Mint 21.2
from lyrebird.
My terminal returns this error message when i click on "Toggle Lyrebird"
> lyrebird
[info] Starting Lyrebird v1.2.0
[info] Audio server: None
Échec : Échec lors de l’initialisation du module
Traceback (most recent call last):
File "/usr/share/lyrebird/app/ui/mainwindow.py", line 179, in toggle_activated
state.audio.load_pa_modules()
File "/usr/share/lyrebird/app/core/audio.py", line 55, in load_pa_modules
self.null_sink = subprocess.check_call(
File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['pactl', 'load-module', 'module-null-sink', 'sink_name=Lyrebird-Output', 'node.description="Lyrebird', 'Output"']' returned non-zero exit status 1.
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 153, in apport_excepthook
with os.fdopen(os.open(pr_filename,
FileNotFoundError: [Errno 2] Aucun fichier ou dossier de ce type: '/var/crash/_usr_share_lyrebird_app.py.1000.crash'
Original exception was:
Traceback (most recent call last):
File "/usr/share/lyrebird/app/ui/mainwindow.py", line 179, in toggle_activated
state.audio.load_pa_modules()
File "/usr/share/lyrebird/app/core/audio.py", line 55, in load_pa_modules
self.null_sink = subprocess.check_call(
File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['pactl', 'load-module', 'module-null-sink', 'sink_name=Lyrebird-Output', 'node.description="Lyrebird', 'Output"']' returned non-zero exit status 1.
from lyrebird.
Hi!
After trying multiple sound changing apps, I finally found Lyrebird which seems to be exactly the tool I want. Unfortunately, I also ran into a similar issue as the others in this thread.
For me, after installing Lyrebird 1.2.0 on Linux Mint 21.2 and rebooting, audio is completely broken, regardless of if Lyrebird is running or not. Completely broken as in I can neither capture any audio from my microphone, nor play any audio through my speakers. The audio settings in Mint simply can't find any audio devices anymore. I will probably have to reinstall my operating system to get audio running again.
Something about Lyrebird seems extremely invasive, I would not expect that running it would have any lasting impacts, it should clean up after itself so that the state of the device is just like it was before you started the app.
I could help debug this issue, but I might need to find a spare computer or something because I might not have time to reinstall my OS all that often...
from lyrebird.
This looks like it might be the same or a similar issue as #125 , and this looks like it is a simple bug due to these lines in the code shown below where it splits the command into arguments by using .split(' '). The problem is the descriptions being set should be only 1 argument, but since there is a space in the description, it is being split into 2 arguments. There are a few ways to do this better:
- just type in the list manually, instead of using str.split(' ')
- pass in the whole command just like the string as is, without split(), and set shell=True
- use shlex.split on the string to properly split it up into a list, and then pass that in (with the default shell=False)
Since this is only a couple hardcoded commands, not a function or user input, I would probably just go with choice 1.
def load_pa_modules(self):
self.null_sink = subprocess.check_call(
'pactl load-module module-null-sink sink_name=Lyrebird-Output node.description="Lyrebird Output"'.split(' ')
)
self.remap_sink = subprocess.check_call(
'pactl load-module module-remap-source source_name=Lyrebird-Input master=Lyrebird-Output.monitor node.description="Lyrebird Virtual Input"'\
.split(' ')
)
But even after fixing the argument splitting issue, I am having another issue because of the command trying to use node.description=. Maybe this works with pipewire-pulse, but i am trying to use pulseaudio without pipewire, and it keeps throwing an error. The command below works for me, and I would bet it works with pipewire-pulse also. I also just changed the space to an underscore for simplicity. If someone could try it and see, please let me know if it does:
pactl load-module module-null-sink sink_name=Lyrebird-Output sink_properties=device.description=Lyrebird_Output
from lyrebird.
well, even after fixing both of those issues, and it seemingly running without an error, something still isn't linking up properly to work. i can see sox running, and i see the virtual input/outputs, but the virtual input is just silent. in pavucontrol i can see audio going into sox, and then it just stops there and nothing else seems to get it
from lyrebird.
i think i have figured out the next issue. it is with the sox command. it runs "sox ... vol 0 downsample 1" but "vol 0" actually sets the volume to 0%. i think what we may want is either "vol 1" or "vol 0db"
from lyrebird.
This looks like it might be the same or a similar issue as #125 , and this looks like it is a simple bug due to these lines in the code shown below where it splits the command into arguments by using .split(' '). The problem is the descriptions being set should be only 1 argument, but since there is a space in the description, it is being split into 2 arguments. There are a few ways to do this better:
- just type in the list manually, instead of using str.split(' ')
- pass in the whole command just like the string as is, without split(), and set shell=True
- use shlex.split on the string to properly split it up into a list, and then pass that in (with the default shell=False)
Since this is only a couple hardcoded commands, not a function or user input, I would probably just go with choice 1.
def load_pa_modules(self): self.null_sink = subprocess.check_call( 'pactl load-module module-null-sink sink_name=Lyrebird-Output node.description="Lyrebird Output"'.split(' ') ) self.remap_sink = subprocess.check_call( 'pactl load-module module-remap-source source_name=Lyrebird-Input master=Lyrebird-Output.monitor node.description="Lyrebird Virtual Input"'\ .split(' ') )
But even after fixing the argument splitting issue, I am having another issue because of the command trying to use node.description=. Maybe this works with pipewire-pulse, but i am trying to use pulseaudio without pipewire, and it keeps throwing an error. The command below works for me, and I would bet it works with pipewire-pulse also. I also just changed the space to an underscore for simplicity. If someone could try it and see, please let me know if it does:
pactl load-module module-null-sink sink_name=Lyrebird-Output sink_properties=device.description=Lyrebird_Output
Me who just started using linux 2 months ago and that is quite a noob being absolutely afraid by reading what I'm supposed to do.
from lyrebird.
Oh phew ! I was scared for a second ! 😅
from lyrebird.
Related Issues (20)
- Flatpak package HOT 3
- LyreBird not Launching HOT 1
- No such file or directory HOT 7
- How to define and load Custom voice?
- Dependency safeguards are needed
- Issue in installation HOT 5
- Help needed! Packaging for other distros
- Module initialization failed Ubuntu 22.04 HOT 2
- Add translation
- Can Lyrebird work on Mac HOT 1
- IDK why but lyrebird doesnt work on my ubuntu HOT 1
- Lyrebird refuses to work, no input device created HOT 2
- Audio utilities missing
- Lyrebird doesnt show input device for discord
- No sound HOT 7
- Couldn't install package from Aur HOT 4
- it doesnt change the voice HOT 4
- Multiple issues installing (Linux Mint 20.3)
- Everything is great but there is no audio output from the SOX process HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lyrebird.