Comments (23)
Sure no problem ! Good luck !
from macchina.
Your bindings work! 🚀 😃
from macchina.
Maybe I should update the dependencies and properly add directions
from macchina.
Then I guess I'll publish it in crates.io
I just published it in crates.io google_speech
from macchina.
Well I have a library or more specifically rust bindings to a python library. https://github.com/uttarayan21/google_speech_rs that makes it super easy to do tts. But I haven't tested it super extensively.
Also you swapped the () [] around in the link lol
from macchina.
Also you swapped the () [] around in the link lol
😆
Well I have a library or more specifically rust bindings to a python library. https://github.com/uttarayan21/google_speech_rs that makes it super easy to do tts. But I haven't tested it super extensively.
I'll be allocating a little bit of time to try and get this to work, and see if we can have this feature out with the next release.
from macchina.
Is it on crates.io?
from macchina.
No I didn't really publish it since I since I didn't test it extensively.
from macchina.
I'll just clone and test it locally then, thanks for sharing! 🚀
from macchina.
Any dependencies I should be installing? I'm getting a ton of build errors? Ignore this.
from macchina.
Google's guide mentions that one should install sox
and libsox-fmt-mp3
, installing sox
by itself and running your example results in:
sox FAIL formats: no handler for given file type `mp3'
PyErr { type: <class 'RuntimeError'>, value: RuntimeError(), traceback: Some(<traceback object at 0x7f00cbe21440>) }
libsox-fmt-mp3 is not available in the official Arch repos or the AUR.
A quick sudo find / -name "*sox*"
finds:
...
/usr/lib/sox/libsox_fmt_mp3.so
...
So Arch does package the libraries required by google's speech python library, but unfortunately it doesn't work.
from macchina.
Optional Deps : libao: for ao plugin
libmad: for mp3 plugin [installed]
libid3tag: for mp3 plugin [installed]
wavpack: for wavpack plugin
libpulse: for pulse plugin [installed]
opusfile: for opus plugin
twolame: for mp3 plugin [installed]
They are listed as optional dependencies
libmad twolame libid3tag
from macchina.
I missed these, sorry!
from macchina.
I'm all for you publishing this on crates.io, it works + it's great!
from macchina.
Awesome! I'll starting using that right away then :)
Thanks 👍
from macchina.
Okay, so I managed to make it work, but I feel like it's a very hacky method...
from macchina.
It takes into account the configuration of course, but ignores bars as I don't see a way we can make google_speech speak "bars" lol.
A good improvement is to understand which readout will be read and do some processing on the data to make the speech a lot more understable.
For example, instead of reading each digit individually in "5.10.46-1-lts" it should read it like any normal human being lol.
We can also make it so it says "Kernel is Linux 5.10.46-1-lts" instead of "Kernel" pause "Linux 5.10.46-1-lts"
from macchina.
Here we go #110.
It doesn't actually ignore bars, but I'll fix this right away, becuase apparently GoogleSpeech can speak in bars, and it goes something like this:
Filled circle, filled circle, filled circle, filled circle, filled circle...
Possibly the most hilarious thing I've ever come across developing macchina.
from macchina.
Filled circle, filled circle, filled circle, filled circle, filled circle...
Haha I never knew lol ! That is hilarious.
For example, instead of reading each digit individually in "5.10.46-1-lts" it should read it like any normal human being lol.
I think that is due to it thinking that the point's are decimal places, however no one has any control over it since the text is send to google servers ant that is what they reply with.
Also about espeak and other similar offline tts engines don't sound quite as natural so that is the reason I made this.
from macchina.
I think that is due to it thinking that the point's are decimal places, however no one has any control over it since the text is send to google servers ant that is what they reply with.
Ah okay!
Also about espeak and other similar offline tts engines don't sound quite as natural so that is the reason I made this.
I don't know too much about other TTS engines, and although some won't agree with the fact that we're using Google, if it's the most natural sounding engine, then I'm fine with having it in.
Plus, I think GoogleSpeech works offline? I tested it offline and it still reports data without an internet connection.
from macchina.
Plus, I think GoogleSpeech works offline? I tested it offline and it still reports data without an internet connection.
If it has same data as a previous call then it is cached. If you try with text that hasn't been said before it will fail if offline.
from macchina.
I thought about that, thanks for confirming it.
from macchina.
Closing this as #110 was merged a while ago.
from macchina.
Related Issues (20)
- Display aarch64 CPU info HOT 3
- [BUG] macOS Sonoma is shown as 'macOS 14.0.0 Unknown' HOT 10
- Does Macchina support two batteries? HOT 3
- [BUG] error[E0432]: unresolved imports `vergen::Config`, `vergen::ShaKind`, error[E0425]: cannot find function `vergen` in crate `vergen` HOT 1
- [BUG] Macchina errors for me when using the provided macchina.toml HOT 2
- -o isn't working properly HOT 5
- Wrong battery value on MacOS HOT 9
- CPU Load value greater than 100% on MacOS HOT 12
- [BUG] install failure (build and cargo run works just fine, however) HOT 2
- [Feature Request] Image support like Neofetch. HOT 1
- [BUG] version `GLIBC_2.33' not found HOT 5
- [BUG] no themes installed and no configs is found HOT 1
- [FEATURE] Palette spacing HOT 1
- Investigate CI failure of NetBSD cross-compilation HOT 3
- Only Include Certain Keys HOT 1
- Fails to build macchina from AUR HOT 2
- [Windows] Missing major features and some empty readouts HOT 2
- [Windows] Customization feature request
- Empty ascii art (e.g. `hide_ascii`) + single `--show` = only blank lines in output
- Build issue on Windows HOT 2
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 macchina.