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

Bleeding -> Main | Update 1.0.9998 #85

Merged
merged 10 commits into from
Mar 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 29 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
## Synthalingua
<img src="https://github.com/cyberofficial/Synthalingua/assets/19499442/c81d2c51-bf85-4055-8243-e6a1262cce8a" width=70%>


## Grab the portable version on itch!

[<img src="https://i.imgur.com/dyZz6u5.png">](https://cyberofficial.itch.io/synthalingua)

## About

Synthalingua is an advanced, self-hosted tool that leverages the power of artificial intelligence to translate audio from various languages into English in near real time, offering the possibility of multilingual outputs. This innovative solution utilizes both GPU and CPU resources to handle the input transcription and translation, ensuring optimized performance. Although it is currently in beta and not perfect, Synthalingua is actively being developed and will receive regular updates to further enhance its capabilities.


## Developed Proudly in PyCharm IDE from JetBrains
JetBrains kindly approved me for an OSS licenses for thier software for use of this project. This will grealty improve my production rate.
JetBrains kindly approved me for an OSS licenses for their software for use of this project. This will grealty improve my production rate.

Learn about it here: [https://jb.gg/OpenSourceSupport](https://jb.gg/OpenSourceSupport?from=Synthalingua)

Expand Down Expand Up @@ -58,23 +63,24 @@ Example: If you use the tool in a way that violates the terms of service or poli


## TODO
| Todo | Sub-Task | Status |
|-------|----------|--------|
| Add support for AMD GPUs. | ROCm support - Linux Only | ✅ |
| | OpenCL support - Linux Only | ✅ |
| Add support API access. | | ❌ |
| Custom localhost web server. | | ✅ |
| Add reverse translation. | | ✅ |
| | Localize script to other languages. (Will take place after reverse translations.) | ❌ |
| Custom dictionary support. | | ❌ |
| GUI. | | ❌ |
| Linux support. | | ✅ |
| Improve performance. | | ❌ |
| | Compressed Model Format for lower ram users | ✅ |
| | Better large model loading speed | ❌ |
| | Split model up into multiple chunks based on usage | ❌ |
| Stream Audio from URL | | ✅ |
| Increase model swapping accuracy. | | ❌ |
| Todo | Sub-Task | Status |
|-------|-----------------------------------------------------------------------------------|--------|
| Add support for AMD GPUs. | ROCm support - Linux Only | ✅ |
| | OpenCL support - Linux Only | ✅ |
| Add support API access. | | ✅ |
| Custom localhost web server. | | ✅ |
| Add reverse translation. | | ✅ |
| | Localize script to other languages. (Will take place after reverse translations.) | ❌ |
| Custom dictionary support. | | ❌ |
| GUI. | | ✅ |
| Linux support. | | ✅ |
| Improve performance. | | ❌ |
| | Compressed Model Format for lower ram users | ✅ |
| | Better large model loading speed | ✅ |
| | Split model up into multiple chunks based on usage | ❌ |
| Stream Audio from URL | | ✅ |
| Increase model swapping accuracy. | | ❌ |
| No Microphone Required | Streaming Module | ✅ |


# Contributors
Expand Down Expand Up @@ -113,13 +119,14 @@ Note:

The tool will work on any system that meets the minimum requirements. The tool will work better on systems that meet the recommended requirements. The tool will work best on systems that meet the best performance requirements. You can mix and match the requirements to get the best performance. For example, you can have a CPU that meets the best performance requirements and a GPU that meets the moderate requirements. The tool will work best on systems that meet the best performance requirements.

### ~~A Microphone is required! You'll need some sort of software input source (or hardware source). See issue [#63](https://github.com/cyberofficial/Synthalingua/issues/63) for additional information.~~
### A microphone is now optional. You can use the `--stream` flag to stream audio from a HLS stream. See [Examples](#examples) for more information.
## A microphone is optional. You can use the `--stream` flag to stream audio from a HLS stream. See [Examples](#examples) for more information.
### You'll need some sort of software input source (or hardware source). See issue [#63](https://github.com/cyberofficial/Synthalingua/issues/63) for additional information.

## Installation
1. Download and install [Python 3.10.9](https://www.python.org/downloads/release/python-3109/).
* Make sure to check the box that says "Add Python to PATH" when installing. If you don't check the box, you will have to manually add Python to your PATH. You can check this guide: [How to add Python to PATH](https://datatofish.com/add-python-to-windows-path/).
* You can choose any python version that is 3.10.9 up to the latest version. The tool will *not* work on any python version that is 3.11 or higher. Must be 3.10.9+ not 3.11.x.
* Make sure to grab the x64 bit version! This program is not compatible with x86. (32bit)
2. Download and install [Git](https://git-scm.com/downloads).
* Using default settings is fine.
3. Download and install FFMPEG
Expand All @@ -140,7 +147,6 @@ This script uses argparse to accept command line arguments. The following option
| ---- | ----------- |
| `--ram` | Change the amount of RAM to use. Default is 4GB. Choices are "1GB", "2GB", "4GB", "6GB", "12GB". |
| `--ramforce` | Use this flag to force the script to use desired VRAM. May cause the script to crash if there is not enough VRAM available. |
| ~~`--non_english`~~ | Use non-English models for transcription. Enables the use of non-English models. Deprecated. |
| `--energy_threshold` | Set the energy level for microphone to detect. Default is 100. Choose from 1 to 1000; anything higher will be harder to trigger the audio detection. |
| `--mic_calibration_time` | How long to calibrate the mic for in seconds. To skip user input type 0 and time will be set to 5 seconds. |
| `--record_timeout` | Set the time in seconds for real-time recording. Default is 2 seconds. |
Expand Down Expand Up @@ -266,6 +272,8 @@ If you encounter any issues with the tool, here are some common problems and the
* Check out this discussion thread for a possible fix: [#12 Discussion](https://github.com/cyberofficial/Synthalingua/discussions/12)
* Error: Audio source must be entered before adjusting.
* You need to make sure you have a microphone set up. See issue [#63](https://github.com/cyberofficial/Synthalingua/issues/63) for additional information.
* Error: "could not find a version that satisfies the requirement torch" (See Issue [#82](https://github.com/cyberofficial/Synthalingua/issues/82)) )
* Please make sure you have python 64bit installed. If you have 32bit installed, you will need to uninstall it and install 64bit. You can grab it here for windows. Windows Direct: https://www.python.org/ftp/python/3.10.9/python-3.10.9-amd64.exe Main: https://www.python.org/downloads/release/python-3109/

# Additional Information
* Models used are from OpenAI Whisper - [Whisper](https://github.com/openai/whisper)
Expand Down
4 changes: 1 addition & 3 deletions Synthalingua_Wrapper/ApplicationEvents.vb
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
Imports Microsoft.VisualBasic.ApplicationServices

Namespace My
Namespace My
' The following events are available for MyApplication:
' Startup: Raised when the application starts, before the startup form is created.
' Shutdown: Raised after all application forms are closed. This event is not raised if the application terminates abnormally.
Expand Down
Loading
Loading