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

Development #487

Merged
merged 5 commits into from
May 14, 2024
Merged

Development #487

merged 5 commits into from
May 14, 2024

Conversation

estebanways
Copy link
Member

Consolidating Changes: Enhancing Commbase Functionality

Summary of changes being made:

  • Resolving issues with pane display, optimizing code, and removing redundant variables.
  • Introducing a new configuration variable for benchmarking speech processing time.
  • Implementing changes in file permissions and variable quoting for improved security.
  • Enhancing tmux commands to streamline user experience.
  • Ensuring graceful termination of processes during STT engine restarts.
  • Adding new features such as terminal commands for STT engine restarts.
  • Organizing libcommbase routines alphabetically and updating executable menus.
  • Incorporating STT engine security descriptions for better understanding.
  • Improving code quality and compliance with linting standards.
  • Transforming select_stt_engine.sh and set_language.sh into interactive terminal skills.
  • Reorganizing file directories and adding new scripts for improved organization.
  • Deleting redundant and deprecated files related to skill parsing and running.
  • Reflecting variable changes and updates in user documentation for clarity.
  • Enhancing hardware integration by adding functions for communicating STT statuses.

…ions

Consolidating Changes from Original Repository

### Changes made in this repository

- Resolve issues with the information displayed in panes by removing the code to re-render the chat log, avoid using the previously exported variables tail_chat_log and time, removing the variable tail_chat_log, and re-declaring the variable time
- Add new configuration variable STT_ENGINE_PROCESSING_TIME_VISIBLE_ON to be able to benchmark the time every speech takes to complete processing while the variable is set to 'True'.
- chmod -x assistant_discourse.sh filter_pyttsx3_voices_by_language.sh
- chmod -x restart_stt_engine*
- Double quote variables
- Add new file bundles/libcommbase/libcommbase/routines/restart_stt_engine_no_recorder.sh to restart the reactive stt engine without restarting the commbase recorder automagically to avoid recorder errors at restarting time
- Restart STT engines, LLMs, and update language code
- Improve tmux commands by adding tmux select-window -t 1 && at the beginning of them
- When the stt engine restarts, gracefully terminate the recorder-transmitter PID whether the stt engine is commbase-stt-whisper-reactive-p
- Fix a missing 'n' in the word transmitter
- Revert troubled change to gracefully terminate the stt engine pid, and if that fails, use kill -9
- Gracefully terminate the stt engine pid, and if that fails, use kill -9
- Add new feature terminal commbase command: commbase --restart-stt-engine
- Add a new configuration variable CUSTOM_RECORDER_TRANSMITTER_FILE to help programmers no need to update code in all the scripts that require to restart the reactive stt engine, for example: restart-stt-engine.sh (libcommbase routine), terminal_only_set_language.sh (libcommbase skill), and terminal_only_select_stt_engine.sh (libcommbase skill)
- Reorganize libcommbase routines alphabetically and add new menu options --restart-stt-engine and --disconnect-yourself to the options case
- Update commbase.default executable with new menu options to display
- Add new options --select-stt-engine, --restart-stt-engine, --set-language, and --disconnect-yourself to commbase.default menu
- Add stt engines description on security
- Modify shellcheck action file
- Remove line # shellcheck disable=SC2016,SC2154 to pass the linter on GitHub
- Transform the files scripts/configuration/select_stt_engine.sh and scripts/configuration/set_language.sh into interactive terminal only skills stored in bundles/ibcommbaselibcommbase/skills/skills_db
- Replace the directories parsers and runners with skills_db
- Add a script to select the stt engine
- Fix header to commbase
- Move configuration scripts to the configuration directory
- Add examples of hardware devices based on Commbase
- Set the variable COMMBASE_HARDWARE_NOTIFICATIONS_ON = False by default, to disable the commbase communication with the speech to text engine hardware component or any other hardware like hardware interfaces, etc., to avoid showing connection errors on the working stt engine tmux panel in commbase installations only for computers (without hardware devices.)
- Reflect variable changes in the User's Guide
- Move the directory assets/ascii content to a new directory src/client/assets
- Ignore the contents of the src/client/assets directory
- Create the functions of the listening and processing statuses to communicate the stt with its optional hardware interface
- Reorganize the serial_communication directory structure
- Add a new directory serial_communication to the directory structure
- Ignore the new directory /src/client/serial_communication
- Clean up the code
- Give the commbase proactive stt the ability to send the listening and processing statuses to any custom external commbase hardware
- Make file executable

### Changes by file

1. Updated .github/workflows/shell-lint.yml to include shell linting for .sh files.
2. Modified .gitignore to ignore contents of src/client/assets and src/client/serial_communication.
3. Updated .shellcheckrc to disable specific checks.
4. Revised INSTALL to clarify instructions regarding STT engines.
5. Added src/client/assets/docs/User's Guide.md for User's Guide documentation.
6. Added src/client/serial_communication/arduino/arduino_0/commbase_hardware_notifications/speech_to_text_engine_component/processing_start.dat for starting STT engine processing.
7. Moved src/client/libcommbase/skills/parsers and src/client/libcommbase/skills/runners to src/client/libcommbase/skills_db.
8. Deleted assets/ascii/avatar.asc.
9. Added functionality to notify hardware about the start and stop of listening and processing processes, including adding new functions and modifying existing ones.
10. Added new functions to read environment variables from a configuration file, and deleted built-in_skills and parse_skill_disconnect_yourself files, and changed file modes for assistant_discourse.sh and filter_pyttsx3_voices_by_language.sh.
11. Deleted several files related to parsing and running skills, including parse_skill_list_your_command_history, parse_skill_reload_recognition, parse_skill_stop_capturing_sound, parse_skill_tell_me_about_yourself, parse_skill_wake_up, capture_mute.sh, and run_skill_disconnect_yourself.
12. Deleted several files, including bundles/libcommbase/libcommbase/skills/runners/run_skill_list_your_command_history, bundles/libcommbase/libcommbase/skills/runners/run_skill_reload_recognition, bundles/libcommbase/libcommbase/skills/runners/run_skill_stop_capturing_sound, bundles/libcommbase/libcommbase/skills/runners/run_skill_tell_me_about_yourself, bundles/libcommbase/libcommbase/skills/runners/run_skill_wake_up, bundles/libcommbase/libcommbase/skills/runners/toggle_default_capture_device.sh, config/commbase.conf, data/.messages.json, i18n/discourses/en_us.json, i18n/discourses/es_es.json, and scripts/configuration/install_commbase_executable/commbase.default.

### Deleted Files

1. assets/ascii/avatar.asc
2. bundles/libcommbase/libcommbase/built-in_skills
3. bundles/libcommbase/libcommbase/skills/parsers/parse_skill_disconnect_yourself
4. bundles/libcommbase/libcommbase/skills/parsers/parse_skill_list_your_command_history
5. bundles/libcommbase/libcommbase/skills/parsers/parse_skill_reload_recognition
6. bundles/libcommbase/libcommbase/skills/parsers/parse_skill_stop_capturing_sound
7. bundles/libcommbase/libcommbase/skills/parsers/parse_skill_tell_me_about_yourself
8. bundles/libcommbase/libcommbase/skills/parsers/parse_skill_wake_up
9. bundles/libcommbase/libcommbase/skills/runners/capture_mute.sh
10. bundles/libcommbase/libcommbase/skills/runners/run_skill_disconnect_yourself
11. bundles/libcommbase/libcommbase/skills/runners/run_skill_list_your_command_history
12. bundles/libcommbase/libcommbase/skills/runners/run_skill_reload_recognition
13. bundles/libcommbase/libcommbase/skills/runners/run_skill_stop_capturing_sound
14. bundles/libcommbase/libcommbase/skills/runners/run_skill_tell_me_about_yourself
15. bundles/libcommbase/libcommbase/skills/runners/run_skill_wake_up
16. bundles/libcommbase/libcommbase/skills/runners/toggle_default_capture_device.sh
17. i18n/discourses/en_us.json
18. i18n/discourses/es_es.json
19. scripts/configuration/set_language.sh
20. scripts/utilities/reset_commbase.conf/commbase.conf.default
21. scripts/utilities/reset_commbase.conf/reset_commbase.conf.sh

### New Files

1. bundles/libcommbase/libcommbase/routines/restart_stt_engine.sh
2. bundles/libcommbase/libcommbase/routines/restart_stt_engine_no_recorder.sh
3. bundles/libcommbase/libcommbase/skills/skills_db/
4. data/.chat_log.txt
5. scripts/configuration/reset_commbase.conf/

### Conclusion

There has been a significant overhaul and enhancement of the Commbase system, particularly focusing on improving the speech-to-text (STT) engine functionality and integration with hardware components.

These changes are an effort to enhance the functionality, usability, and integration capabilities of the Commbase system, making it more efficient and adaptable to various hardware configurations and user needs.
…ions

Consolidating Changes from Original Repository

### Changes made in this repository

- Resolve issues with the information displayed in panes by removing the code to re-render the chat log, avoid using the previously exported variables tail_chat_log and time, removing the variable tail_chat_log, and re-declaring the variable time
- Add new configuration variable STT_ENGINE_PROCESSING_TIME_VISIBLE_ON to be able to benchmark the time every speech takes to complete processing while the variable is set to 'True'.
- chmod -x assistant_discourse.sh filter_pyttsx3_voices_by_language.sh
- chmod -x restart_stt_engine*
- Double quote variables
- Add new file bundles/libcommbase/libcommbase/routines/restart_stt_engine_no_recorder.sh to restart the reactive stt engine without restarting the commbase recorder automagically to avoid recorder errors at restarting time
- Restart STT engines, LLMs, and update language code
- Improve tmux commands by adding tmux select-window -t 1 && at the beginning of them
- When the stt engine restarts, gracefully terminate the recorder-transmitter PID whether the stt engine is commbase-stt-whisper-reactive-p
- Fix a missing 'n' in the word transmitter
- Revert troubled change to gracefully terminate the stt engine pid, and if that fails, use kill -9
- Gracefully terminate the stt engine pid, and if that fails, use kill -9
- Add new feature terminal commbase command: commbase --restart-stt-engine
- Add a new configuration variable CUSTOM_RECORDER_TRANSMITTER_FILE to help programmers no need to update code in all the scripts that require to restart the reactive stt engine, for example: restart-stt-engine.sh (libcommbase routine), terminal_only_set_language.sh (libcommbase skill), and terminal_only_select_stt_engine.sh (libcommbase skill)
- Reorganize libcommbase routines alphabetically and add new menu options --restart-stt-engine and --disconnect-yourself to the options case
- Update commbase.default executable with new menu options to display
- Add new options --select-stt-engine, --restart-stt-engine, --set-language, and --disconnect-yourself to commbase.default menu
- Add stt engines description on security
- Modify shellcheck action file
- Remove line # shellcheck disable=SC2016,SC2154 to pass the linter on GitHub
- Transform the files scripts/configuration/select_stt_engine.sh and scripts/configuration/set_language.sh into interactive terminal only skills stored in bundles/ibcommbaselibcommbase/skills/skills_db
- Replace the directories parsers and runners with skills_db
- Add a script to select the stt engine
- Fix header to commbase
- Move configuration scripts to the configuration directory
- Add examples of hardware devices based on Commbase
- Set the variable COMMBASE_HARDWARE_NOTIFICATIONS_ON = False by default, to disable the commbase communication with the speech to text engine hardware component or any other hardware like hardware interfaces, etc., to avoid showing connection errors on the working stt engine tmux panel in commbase installations only for computers (without hardware devices.)
- Reflect variable changes in the User's Guide
- Move the directory assets/ascii content to a new directory src/client/assets
- Ignore the contents of the src/client/assets directory
- Create the functions of the listening and processing statuses to communicate the stt with its optional hardware interface
- Reorganize the serial_communication directory structure
- Add a new directory serial_communication to the directory structure
- Ignore the new directory /src/client/serial_communication
- Clean up the code
- Give the commbase proactive stt the ability to send the listening and processing statuses to any custom external commbase hardware
- Make file executable

### Changes by file

1. Updated .github/workflows/shell-lint.yml to include shell linting for .sh files.
2. Modified .gitignore to ignore contents of src/client/assets and src/client/serial_communication.
3. Updated .shellcheckrc to disable specific checks.
4. Revised INSTALL to clarify instructions regarding STT engines.
5. Added src/client/assets/docs/User's Guide.md for User's Guide documentation.
6. Added src/client/serial_communication/arduino/arduino_0/commbase_hardware_notifications/speech_to_text_engine_component/processing_start.dat for starting STT engine processing.
7. Moved src/client/libcommbase/skills/parsers and src/client/libcommbase/skills/runners to src/client/libcommbase/skills_db.
8. Deleted assets/ascii/avatar.asc.
9. Added functionality to notify hardware about the start and stop of listening and processing processes, including adding new functions and modifying existing ones.
10. Added new functions to read environment variables from a configuration file, and deleted built-in_skills and parse_skill_disconnect_yourself files, and changed file modes for assistant_discourse.sh and filter_pyttsx3_voices_by_language.sh.
11. Deleted several files related to parsing and running skills, including parse_skill_list_your_command_history, parse_skill_reload_recognition, parse_skill_stop_capturing_sound, parse_skill_tell_me_about_yourself, parse_skill_wake_up, capture_mute.sh, and run_skill_disconnect_yourself.
12. Deleted several files, including bundles/libcommbase/libcommbase/skills/runners/run_skill_list_your_command_history, bundles/libcommbase/libcommbase/skills/runners/run_skill_reload_recognition, bundles/libcommbase/libcommbase/skills/runners/run_skill_stop_capturing_sound, bundles/libcommbase/libcommbase/skills/runners/run_skill_tell_me_about_yourself, bundles/libcommbase/libcommbase/skills/runners/run_skill_wake_up, bundles/libcommbase/libcommbase/skills/runners/toggle_default_capture_device.sh, config/commbase.conf, data/.messages.json, i18n/discourses/en_us.json, i18n/discourses/es_es.json, and scripts/configuration/install_commbase_executable/commbase.default.

### Deleted or Modified Files

1. assets/ascii/avatar.asc
2. bundles/libcommbase/libcommbase/built-in_skills
3. bundles/libcommbase/libcommbase/skills/parsers/parse_skill_disconnect_yourself
4. bundles/libcommbase/libcommbase/skills/parsers/parse_skill_list_your_command_history
5. bundles/libcommbase/libcommbase/skills/parsers/parse_skill_reload_recognition
6. bundles/libcommbase/libcommbase/skills/parsers/parse_skill_stop_capturing_sound
7. bundles/libcommbase/libcommbase/skills/parsers/parse_skill_tell_me_about_yourself
8. bundles/libcommbase/libcommbase/skills/parsers/parse_skill_wake_up
9. bundles/libcommbase/libcommbase/skills/runners/capture_mute.sh
10. bundles/libcommbase/libcommbase/skills/runners/run_skill_disconnect_yourself
11. bundles/libcommbase/libcommbase/skills/runners/run_skill_list_your_command_history
12. bundles/libcommbase/libcommbase/skills/runners/run_skill_reload_recognition
13. bundles/libcommbase/libcommbase/skills/runners/run_skill_stop_capturing_sound
14. bundles/libcommbase/libcommbase/skills/runners/run_skill_tell_me_about_yourself
15. bundles/libcommbase/libcommbase/skills/runners/run_skill_wake_up
16. bundles/libcommbase/libcommbase/skills/runners/toggle_default_capture_device.sh
17. i18n/discourses/en_us.json
18. i18n/discourses/es_es.json
19. scripts/configuration/set_language.sh
20. scripts/utilities/reset_commbase.conf/commbase.conf.default
21. scripts/utilities/reset_commbase.conf/reset_commbase.conf.sh

### New Files

1. bundles/libcommbase/libcommbase/routines/restart_stt_engine.sh
2. bundles/libcommbase/libcommbase/routines/restart_stt_engine_no_recorder.sh
3. bundles/libcommbase/libcommbase/skills/skills_db/
4. data/.chat_log.txt
5. scripts/configuration/reset_commbase.conf/

### Conclusion

There has been a significant overhaul and enhancement of the Commbase system, particularly focusing on improving the speech-to-text (STT) engine functionality and integration with hardware components.

These changes are an effort to enhance the functionality, usability, and integration capabilities of the Commbase system, making it more efficient and adaptable to various hardware configurations and user needs.
@estebanways estebanways merged commit 865cfcf into main May 14, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant