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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove all the non-functioning plugins from the initial setup #347

Open
aaronchantrill opened this issue Aug 30, 2021 · 22 comments
Open

Remove all the non-functioning plugins from the initial setup #347

aaronchantrill opened this issue Aug 30, 2021 · 22 comments
Assignees
Labels
Good First Issue! Hacktoberfest Small or non-core issues that could be worked on by Hacktoberfest participants Priority: Low Status: In Progress

Comments

@aaronchantrill
Copy link
Contributor

Description

We still have plugins, especially in STT and TTS, that have not been tested for a while and might not work. We also have plugins that require a great deal of extra configuration, like Kaldi which currently requires that the user set up a Kaldi server (the intention was that the user would set it up on a separate machine) and connect to it using GStreamer which is a pain to set up.

We also have defaults set up that are automatically installed during the naomi-setup.sh process, and I have a recommended setup using Mozilla Deepspeech and Pocketsphinx KWS for active/passive listening. My goal is to get Naomi to the point where someone can easily test the basic functionality and try adapting some speechhandler plugins as soon as Naomi is finished installing and decide if they want to continue without the fear that they are going to choose some non-default setting that makes the whole thing not work.

Expected Behavior

Any plugin the user selects at startup should just work. Plugins that don't "just work" should either be removed (if broken) or moved to NPE (if they require extensive configuration or are only available on certain system types). I would also remove cloud based stt and tts plugins to NPE, so the user has full warning.

Actual Behavior

I have not tested all the plugins, but suspect that many of them no longer work. I will run through the list of all plugins and at least try to triage them.

Possible Fix

I will test all the different plugins from a fresh Naomi install and then determine what to do with them from there.

@aaronchantrill aaronchantrill added Good First Issue! Hacktoberfest Small or non-core issues that could be worked on by Hacktoberfest participants Priority: Low Status: Available labels Sep 19, 2021
@Pratikdate
Copy link

Assign me i will work upon it

@aaronchantrill
Copy link
Contributor Author

Hi Pratik, thank you for joining the team! I think this is a very good issue for you if you are working with HacktoberFest because you should be able to get a number of different pull requests out of it. I also think it will give you a good overview of the project, where we are at, and where we have problems.

I would recommend starting by installing Naomi. Naomi can be installed on any Linux computer, but it is easiest to install on Debian or a derivative like Ubuntu, Mint, Armbian, etc. There are projects underway to support Arch and Suse but they seem to be stalled. Theoretically, it should be possible to install directly on Windows since Naomi uses the pyaudio library which is cross-platform compatible, but I know Naomi currently uses some Linux only commands.

We have recommended installing on a Raspberry Pi or other single board computer or on a virtual machine like for VirtualBox because this is currently mostly a research project and when writing new plugins you may find that you have to try installing dependencies a few different ways, and may find that when it comes to documenting what you did, that it is easier to reinstall the whole operating system.

Once you have installed and tested Naomi, look for the ~/.config/naomi/Naomi.log file. There you should find some lines like:

WARNING:naomi.pluginstore:Plugin at '/Naomi/plugins/stt/julius-stt' skipped! (Reason: Skipping julius, 'julius' executable not found)
WARNING:naomi.pluginstore:Plugin at '
/Naomi/plugins/stt/google-stt' skipped! (Reason: google module not installed)

These are two modules that appear to be simply missing dependencies, although they may have more serious problems. We want to move these plugins to their own repositories, fix them/write installers for them, and add them to the list of plugins at https://github.com/NaomiProject/naomi-plugins/blob/master/plugins.csv

Please let me know what questions you have. I'm happy to work with you to get this accomplished!

@aaronchantrill
Copy link
Contributor Author

You should probably also download the naomi-docs repository at https://github.com/NaomiProject/naomi-docs. These are the files that are used nightly to build the documentation at https://projectnaomi.com/dev/docs/ so when you find the documentation to be unclear or wrong you can update it.

@aaronchantrill
Copy link
Contributor Author

Hello @Pratikdate are you still here?

@Pratikdate
Copy link

Yes

@aaronchantrill
Copy link
Contributor Author

Yes

Okay, thanks, just checking. Is there anything you need?

@Pratikdate
Copy link

When I run project it gave error auth/api-key-invalid

Of fierbase can to guid where to add fierbase key

@aaronchantrill
Copy link
Contributor Author

I'm not really sure what this error message is referring to. Can you provide the full error message or a screenshot? I've never heard of fierbase.

@aryan0931
Copy link
Contributor

i want to work on this issue

@aaronchantrill
Copy link
Contributor Author

@aryan0931 You've got it. I can give you a list of which plugins should be removed, which ones need to moved to the Naomi Plugin Exchange, and which ones need to be tested/repaired.

Thank you,
Aaron

@aryan0931
Copy link
Contributor

@aryan0931 You've got it. I can give you a list of which plugins should be removed, which ones need to moved to the Naomi Plugin Exchange, and which ones need to be tested/repaired.

Thank you, Aaron

yes please provide more details on list of plugins

@aaronchantrill
Copy link
Contributor Author

@aryan0931 Have you managed to install Naomi yet?

Right now, when you start Naomi, you get the following list of error messages:

Plugin at '/home/jess/Naomi/plugins/stt/julius-stt' skipped! (Reason: Skipping julius, 'julius' executable not found)
Plugin at '/home/jess/Naomi/plugins/stt/google-stt' skipped! (Reason: google module not installed)
Plugin at '/home/jess/Naomi/plugins/stt/snowboy-stt' skipped! (Reason: Skipping snowboy, 'snowboydetect' module not installed)
Plugin at '/home/jess/Naomi/plugins/tts/ivona-tts' skipped! (Reason: Skipping ivona, 'pyvona' module not installed)
Plugin at '/home/jess/Naomi/plugins/tts/cereproc-tts' skipped! (Reason: Skipping cereproc, 'suds' plugin not installed)
Plugin at '/home/jess/Naomi/plugins/tts/pico-tts' skipped! (Reason: Skipping Pico, executable 'pico2wave' not found!)
Plugin at '/home/jess/Naomi/plugins/tts/mstranslator-tts' skipped! (Reason: Skipping mstranslator, "mstranslator" module not found)
Plugin at '/home/jess/Naomi/plugins/tts/festival-tts' skipped! (Reason: Skipping festival, executables "test2wave" and/or "festival" not found)
Plugin at '/home/jess/Naomi/plugins/tti/padatious_tti' skipped! (Reason: padatious module not found)
Plugin at '/home/jess/Naomi/plugins/tti/adapt_tti' skipped! (Reason: adapt module not found)

Most of these are not working because they require either a pip or apt package that is not installed by default. If it needs an apt package, you can usually figure out which one using apt-file. Most of these should be moved to their own repositories, which I can create for you. The Padatious and Adapt plugins, for example. Pico really should be the default for Naomi, since it is capable of speaking German and French, so I would like to leave it in the bundled plugins, but add libttspico-utils to the apt-requirements.txt file, and when that is working, change the default from "flite" to "pico" in application.py.

@aaronchantrill
Copy link
Contributor Author

aaronchantrill commented Oct 3, 2024

Padatious and Adapt should be easy to add to their own repositories. I created a new repository for the padatious-tti plugin at https://github.com/NaomiProject/naomi-plugin-padatious-tti and have added the Hacktoberfest topic to it. Start by forking that repository, then copy the files from /plugins/tti/padatious_tti in the Naomi repository into that repository. Add an apt_requirements.txt file with the following packages: libfann-dev python3-dev python3-pip swig libfann-dev python3-fann2. Add a python_requirements.txt file with: padatious. Make a pull request. That should get you your first pull request for hacktoberfest.

@aaronchantrill
Copy link
Contributor Author

Once that is done, your second pull request can be just removing the padatious plugin from the main Naomi repository.

A third pull request would be making the new padatious plugin available through the Naomi Plugins Exchange by editing the plugins.csv file in the naomi-plugins repository.

@aaronchantrill
Copy link
Contributor Author

Actually, we will also need to add a readme.txt file in the proper format for the Naomi Plugin Exchange. I will help you with the process of generating that file.

@aryan0931
Copy link
Contributor

I have created first pull request please check.

@aryan0931
Copy link
Contributor

I have created the second pull request also.

@aaronchantrill
Copy link
Contributor Author

aaronchantrill commented Oct 3, 2024

This is great. There was one small issue with one of the files. test_padatious_tti.py. I don't know what happened there, but as soon as you add that, I'll merge those two requests so we can make sure you get credit for them (Hacktoberfest changes the rules every year, so I'm never sure what the requirements are).

After that, we need to create a readme.md file, which we do by using the wizard at https://npeeditor.projectnaomi.com/ to generate a whole plugin stub, then copying the readme.md file it generates into the final plugin. That should give you your third pull request.

Also, the locale directory appears to be something copied from another plugin and so can just be deleted. If you want to do that at the same time, that would be fine, or I'll do it later.

A fourth pull request could be just adding the padatious plugin to the plugins.csv file in the naomi-plugins repository.

Have you managed to get Naomi up and running at all?

@aryan0931
Copy link
Contributor

I have done the required changes please check both PR now

@aryan0931
Copy link
Contributor

I have created the third pull request please check.

@aaronchantrill
Copy link
Contributor Author

I have merged the first two pull requests and requested some changes for the third. Did you get credit for the first two?

@aryan0931
Copy link
Contributor

aryan0931 commented Oct 4, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Good First Issue! Hacktoberfest Small or non-core issues that could be worked on by Hacktoberfest participants Priority: Low Status: In Progress
Projects
None yet
Development

No branches or pull requests

3 participants