Merge branch 'main' of github.com:pluja/whishper
This commit is contained in:
20
.github/ISSUE_TEMPLATE/✨-feature-request.md
vendored
Normal file
20
.github/ISSUE_TEMPLATE/✨-feature-request.md
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
name: "✨ Feature request"
|
||||
about: Suggest an idea for this project
|
||||
title: "[Feature] Feature Title"
|
||||
labels: enhancement
|
||||
assignees: pluja
|
||||
|
||||
---
|
||||
|
||||
**Description of the feature you are requesting:**
|
||||
A clear and concise description of what the problem or new feature is. Ex. As a user, I'd like to be able to [....]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
32
.github/ISSUE_TEMPLATE/🪲-bug-report.md
vendored
Normal file
32
.github/ISSUE_TEMPLATE/🪲-bug-report.md
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
name: "\U0001FAB2 Bug report"
|
||||
about: Create a report to help improve whishper
|
||||
title: "[BUG] Bug Title"
|
||||
labels: bug
|
||||
assignees: pluja
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Device (please complete the following information):**
|
||||
- OS: [e.g. iOS]
|
||||
- Browser [e.g. chrome, safari]
|
||||
- Version [e.g. 22]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
39
README.md
39
README.md
@@ -2,30 +2,30 @@
|
||||
|
||||
# [Whishper](https://whishper.net)
|
||||
|
||||
Whishper (formerly known as Web Whisper Plus) is a complete transcription suite. In simple words, it is a frontend for OpenAI's Whisper, but with batteries included!
|
||||
Whishper (formerly known as Web Whisper Plus) is a complete transcription suite. In simple words, it is a frontend for the Whisper model family, but [with batteries included](#features)!
|
||||
|
||||
> [Checkout the website for more information](https://whishper.net)
|
||||
> [Show me the screenshots!](#screenshots)
|
||||
|
||||
> [Demo videos available in the usage guide](https://whishper.net/usage/transcriptions/)
|
||||
> [Self-hosting docs](https://whishper.net/guides/install/)
|
||||
|
||||
## Features
|
||||
|
||||
- Transcribe any media to text: audio, video, etc.
|
||||
- [x] Transcribe any media to text: audio, video, etc.
|
||||
- Transcribe from URLs (any source supported by yt-dlp).
|
||||
- Upload a file to transcribe.
|
||||
- Download result in many formats: TXT, JSON, VTT, SRT or copy the raw text to your clipboard.
|
||||
- Translate your transcriptions to any language supported by [Libretranslate](https://libretranslate.com).
|
||||
- Edit your subtitles in a comfy and complete web UI!
|
||||
- [x] Download transcriptions in many formats: TXT, JSON, VTT, SRT or copy the raw text to your clipboard.
|
||||
- [x] Translate your transcriptions to any language supported by [Libretranslate](https://libretranslate.com).
|
||||
- [x] Edit your subtitles in a comfy and complete web UI!
|
||||
- Transcription highlighting based on media position.
|
||||
- CPS (Characters per second) warnings.
|
||||
- Segment splitting.
|
||||
- Segment insertion.
|
||||
- Subtitle language selection.
|
||||
- Sentence splitting.
|
||||
- Large CPS (Characters per second) warnings.
|
||||
- See current transcription based on media position.
|
||||
- Insert new segments to the subtitles.
|
||||
- Private: transcription, translation and subtitle edition happen 100% locally (can work offline!).
|
||||
- Fast: uses FasterWhisper as the Whisper backend: get much faster transcription times on CPU!
|
||||
- Local: transcripted files are stored locally, and you can download them!
|
||||
- [x] 100% Local: transcription, translation and subtitle edition happen 100% on your machine (can even work offline!).
|
||||
- [x] Fast: uses FasterWhisper as the Whisper backend: get much faster transcription times on CPU!
|
||||
- [x] Quick setup: the setup involves just a docker-compose and you're good to go!
|
||||
|
||||
### Coming soon
|
||||
### Roadmap
|
||||
|
||||
- [ ] Full-text search all transcriptions
|
||||
- [ ] Support for GPU acceleration.
|
||||
@@ -55,6 +55,15 @@ Contributions are welcome! Feel free to open a PR with your changes, or take a l
|
||||
|
||||
Check out the development documentation [here](https://whishper.net/guides/development/).
|
||||
|
||||
## Screenshots
|
||||
|
||||
These screenshots are available on [the official website](https://whishper.net/usage/transcriptions/), click any of the following links to see:
|
||||
|
||||
- [A transcription creation](https://whishper.net/usage/transcriptions/)
|
||||
- [A transcription translation](https://whishper.net/usage/translate/)
|
||||
- [A transcription download](https://whishper.net/usage/download/)
|
||||
- [The subtitle editor](https://whishper.net/usage/editor/)
|
||||
|
||||
## Credits
|
||||
|
||||
- [Faster Whisper](https://github.com/guillaumekln/faster-whisper)
|
||||
|
||||
@@ -5,7 +5,7 @@ go 1.20
|
||||
require (
|
||||
github.com/goccy/go-json v0.10.2
|
||||
github.com/gofiber/contrib/websocket v1.2.0
|
||||
github.com/gofiber/fiber/v2 v2.49.2
|
||||
github.com/gofiber/fiber/v2 v2.50.0
|
||||
github.com/rs/zerolog v1.30.0
|
||||
github.com/snakesel/libretranslate v0.0.2
|
||||
github.com/wader/goutubedl v0.0.0-20230817095831-89e825670ccd
|
||||
@@ -26,7 +26,7 @@ require (
|
||||
github.com/rivo/uniseg v0.2.0 // indirect
|
||||
github.com/savsgio/gotils v0.0.0-20230208104028-c358bd845dee // indirect
|
||||
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
||||
github.com/valyala/fasthttp v1.49.0 // indirect
|
||||
github.com/valyala/fasthttp v1.50.0 // indirect
|
||||
github.com/valyala/tcplisten v1.0.0 // indirect
|
||||
github.com/xdg-go/pbkdf2 v1.0.0 // indirect
|
||||
github.com/xdg-go/scram v1.1.2 // indirect
|
||||
@@ -34,7 +34,7 @@ require (
|
||||
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect
|
||||
golang.org/x/crypto v0.7.0 // indirect
|
||||
golang.org/x/sync v0.1.0 // indirect
|
||||
golang.org/x/sys v0.12.0 // indirect
|
||||
golang.org/x/sys v0.13.0 // indirect
|
||||
golang.org/x/text v0.8.0 // indirect
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
|
||||
)
|
||||
|
||||
@@ -12,8 +12,8 @@ github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MG
|
||||
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||
github.com/gofiber/contrib/websocket v1.2.0 h1:E+GNxglSApjJCPwH1y3wLz69c1PuSvADwhMBeDc8Xxc=
|
||||
github.com/gofiber/contrib/websocket v1.2.0/go.mod h1:Sf8RYFluiIKxONa/Kq0jk05EOUtqrb81pJopTxzcsX4=
|
||||
github.com/gofiber/fiber/v2 v2.49.2 h1:ONEN3/Vc+dUCxxDgZZwpqvhISgHqb+bu+isBiEyKEQs=
|
||||
github.com/gofiber/fiber/v2 v2.49.2/go.mod h1:gNsKnyrmfEWFpJxQAV0qvW6l70K1dZGno12oLtukcts=
|
||||
github.com/gofiber/fiber/v2 v2.50.0 h1:ia0JaB+uw3GpNSCR5nvC5dsaxXjRU5OEu36aytx+zGw=
|
||||
github.com/gofiber/fiber/v2 v2.50.0/go.mod h1:21eytvay9Is7S6z+OgPi7c7n4++tnClWmhpimVHMimw=
|
||||
github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
|
||||
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
|
||||
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
@@ -49,8 +49,8 @@ github.com/snakesel/libretranslate v0.0.2/go.mod h1:B8F8Dda8RlkHRMzs/aw8DWj9HfyH
|
||||
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
|
||||
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
|
||||
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
|
||||
github.com/valyala/fasthttp v1.49.0 h1:9FdvCpmxB74LH4dPb7IJ1cOSsluR07XG3I1txXWwJpE=
|
||||
github.com/valyala/fasthttp v1.49.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE9i+HBC3lA=
|
||||
github.com/valyala/fasthttp v1.50.0 h1:H7fweIlBm0rXLs2q0XbalvJ6r0CUPFWK3/bB4N13e9M=
|
||||
github.com/valyala/fasthttp v1.50.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE9i+HBC3lA=
|
||||
github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8=
|
||||
github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc=
|
||||
github.com/wader/goutubedl v0.0.0-20230817095831-89e825670ccd h1:XPyQDsvxm+Kawdk41tpvODAEcm24h9vVR/aZTI0tGAk=
|
||||
@@ -92,8 +92,8 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
|
||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o=
|
||||
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
|
||||
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"eslint": "^8.28.0",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-svelte": "^2.30.0",
|
||||
"postcss": "^8.4.28",
|
||||
"postcss": "^8.4.31",
|
||||
"prettier": "^2.8.0",
|
||||
"prettier-plugin-svelte": "^2.10.1",
|
||||
"svelte": "^4.0.5",
|
||||
|
||||
@@ -1435,10 +1435,10 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
|
||||
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
|
||||
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
|
||||
|
||||
postcss@^8, postcss@^8.4.23, postcss@^8.4.25, postcss@^8.4.27, postcss@^8.4.28, postcss@^8.4.5:
|
||||
version "8.4.28"
|
||||
resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz"
|
||||
integrity sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==
|
||||
postcss@^8, postcss@^8.4.23, postcss@^8.4.25, postcss@^8.4.27, postcss@^8.4.31, postcss@^8.4.5:
|
||||
version "8.4.31"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
|
||||
integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
|
||||
dependencies:
|
||||
nanoid "^3.3.6"
|
||||
picocolors "^1.0.0"
|
||||
|
||||
Reference in New Issue
Block a user