espeak-ng
captureSystemAudio
Our great sponsors
espeak-ng | captureSystemAudio | |
---|---|---|
25 | 46 | |
2,858 | 39 | |
5.3% | - | |
7.2 | 2.8 | |
6 days ago | about 1 month ago | |
C | JavaScript | |
GNU General Public License v3.0 only | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
espeak-ng
-
IAMA senior javascript dev, ask me anything
I'm skeptical about a senior JavaScript developer claiming to be bored. Nonetheless, let's see. How would you go about modifying [this](ng/blob/master/emscripten/espeakng_glue.idl) IDL file, this C++ glue code, and the relevant Make file to compile eSpeak NG to JavaScript with Emscripten with SSML support enabled?
-
Is there a good text to speech program for linux?
eSpeak NG supports running on Linux, BSD, Mac, Android, Windows, has been compiled to WASM with Emscripten. See also espeak and meSpeak.js.
-
Vietnamese Phonology
I may have a solution, BUT I'm at an airport right now, so... Perhaps tonight I can give you some ideas. There is a program I used to make a few presets for myself. https://github.com/espeak-ng/espeak-ng/blob/master/docs/languages.md
-
[P] Balacoon: Fastest neural text-to-speech on CPU
For this one, I used espeak (https://github.com/espeak-ng/espeak-ng) as a text processor. It is almost 17 years old software and is pretty lacking, unfortunately. On the other hand, it's super fast and supports tens of languages. Long story short, punctuation introduces phrase break with a pause of fixed length, and capitalization is ignored.
-
Balacoon: python package for text-to-speech
I didnt not release trainy parts to build voices. I am considering, but there is so many packages already (coqui, espnet, piper, nemo, fairseq to name a few) that i focused on usability for now. Support for new languages is a different question. Everyone wants to train fancy neural nets. But support for new language is about writing rules and having language expertise. I did it for English (https://github.com/balacoon/en_us_normalization/tree/c1019cf878aa6baf25d6fff719cf418cca5a3107/production/classify). Doing it for all the other languages would probably take me a lifetime. Other speech synthesis solutions use 17-years old espeak for this purpose (https://github.com/espeak-ng/espeak-ng/blob/master/docs/languages.md). I introduced the fallback to it in Balacoon too. But generally, it is outdated technology and I believe we should do better.
-
Is there a good audio-to-IPA phone app that doesn’t assume a particular language?
espeak-ng works by first converting text to IPA and then pronouncing that. But im not sure im aware of a way to input arbitrary IPA, and also the quality is probably too low for you.
-
I Created A Web Speech API NPM Package Called SpeechKit
There are espeak-ng https://github.com/espeak-ng/espeak-ng and pocketsphinx https://github.com/cmusphinx/pocketsphinx which can be used locally without making external requests.
-
Which languages have readily available IPA equivalents to learn from?
There are automatic tools to convert a written form of a language to IPA, I'm personally aware of espeak-ng, which supports* a lot of languages.
-
Ask HN: Are there any good open source Text-to-Speech tools?
I've had good luck with https://github.com/espeak-ng/espeak-ng (for very specific purposes, and I was willing to wrangle IPA)
-
Node.js Native Messaging host
Web Speech API does not provide a means to capture audio output of speechSynthesis.speak(new SpeechSynthesis.speak()). Using Native Messaging we start a local server, send input text or SSML to the local server with fetch(), pass the input data to local speech synthesis engine, in this case espeak-ng, get response back as WAV in the browser, which we parse to Float32Array and write to a MediaStreamTrackGenerator which we then output speakers and/or share with peers (https://github.com/guest271314/native-messaging-espeak-ng; https://github.com/espeak-ng/espeak-ng/tree/master/chromium_extension).
captureSystemAudio
-
JavaScript Standard Input/Output: Unspecified
Synchronous. Though non-blocking when we read the message from the browser, execute the command, then stream data output from the local application to the browser piped from QuickJS std.popen(), capture_system_audio.js
-
IAMA senior javascript dev, ask me anything
I've already achieved the requirement multiple ways, already; from using Native Messaging https://github.com/guest271314/native-messaging-espeak-ng, to using GNU Core Utilities tail, to Deno.watchFs() https://github.com/guest271314/fs, et al., see captureSystemAudio. The one approach I have not yet achieved is compiling to Emscripten - with SSML support.
-
Need help with ytdl-core and ExpressJS
Sure, see https://github.com/guest271314/captureSystemAudio/blob/master/native_messaging/capture_system_audio/background.js, in pertinent part
-
Kindly review this C QuickJS HTTP streaming Web server module
This is my second time writing C source code capture_system_audio.c. I got a lot of help doing that, too . I basically implemented the same Native Messaging host algorithm in C, C++, Python, WASI/WebAssembly, and JavaScript (Node.js, QuickJS) which is the programming language I write code most using.
-
Termino.js: Create command based apps on any website - great for games, chat-bots, animations and real world apps!
I just fetch the nightly node executable, get rid of everything else in the archive, use .mjs extension for import to work without package.json, then I can connect to the host https://github.com/guest271314/native-messaging-nodejs, and start subprocesses, e.g., raw PCM streams, where stdout is streamed to the client (browser), e.g, https://github.com/guest271314/captureSystemAudio/blob/master/native_messaging/capture_system_audio/capture_system_audio_node.js.
-
How to serve exactly 1 HTML file and 1 JavaScript file, then exit the program?
Technically I can just serve the raw data as long as the server is capable of opening creating sub-processes, e.g., using EventSource https://plnkr.co/edit/qX5tepJ38BuDOSZj?preview, in which case I would just need to convert this https://github.com/guest271314/captureSystemAudio/blob/master/native_messaging/capture_system_audio/capture_system_audio.c to accept GET request, read the URL, and send the named event stream to the client.
-
[AskJS] Has anybody implemented and compiled ServiceWorker specification to a standalone executable?
Chromium and Chrome refuses to capture monitor devices on Linux. Read this https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux README and the README at https://github.com/guest271314/captureSystemAudio very carefully. At best you can capture tab audio, not whatever is output to speakears and headphones, in spite of the systemAudio constraints, which is poorly named, and actually misleading.
-
[AskJS] Do specification authors and implementers listen to developers in the field?
How is capturing speechSynthesis.speak() a security vector https://github.com/guest271314/captureSystemAudio?
-
What chrome extensions are you using in 2023?
Capture audio output to speakers or headphones to MP3 or Opus in WebM https://github.com/guest271314/captureSystemAudio/tree/master/native_messaging/capture_system_audio
-
You can learn React and Python in browser without dev environment.
An example of using Native Messaging to capture "What-U-Hear", sound output to speakers and headphone, launching native GUI's https://github.com/guest271314/captureSystemAudio/tree/master/native_messaging/capture_system_audio; an adapter for espeak-ng so we can capture the output of speech synthesis engine and stream output to the browser https://github.com/guest271314/native-messaging-espeak-ng.
What are some alternatives?
RHVoice - a free and open source speech synthesizer for Russian and other languages
libdatachannel - C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets
TTS - 🐸💬 - a deep learning toolkit for Text-to-Speech, battle-tested in research and production
proposal-do-expressions - Proposal for `do` expressions
piper - A fast, local neural text to speech system
comet - Browser extension to replace Youtube comments with Reddit comments or view the Reddit comments of any webpage.
scrcpy - Display and control your Android device
native-messaging-bash - Bash Native Messaging host.
aeneas - aeneas is a Python/C library and a set of tools to automagically synchronize audio and text (aka forced alignment)
webextensions-examples - Example Firefox add-ons created using the WebExtensions API
SAM - Software Automatic Mouth - Tiny Speech Synthesizer
GoogleNetworkSpeechSynthesis - Google's Network Speech Synthesis: Bring your own Google API key and proxy