Aha. NVSP Phoneme Editor updated to use the newer engine and packs, so people can edit away.
Also introduced: Pressing spacebar on fields in "edit phoneme" or editing pack settings brings up the edit dialog for it.
Also huge change: Now the various phoneme tuning parameters have human explanations that tell you what they are, so tuning should be made easier.
Download:
eurpod.com/synths/NVSPPhonemeE… (V4's going away in a little bit unless people find major bugs in this one)

#AndroidAppRain at apt.izzysoft.de/fdroid/?radd=1… tonight brought you 15 updated and 1 added apps:

* Compressor: a lightning fast, ad free, super lightweight native video compressor 🛡️

This toot comes delayed as a lot of RBs failed today. Luckily we were able to fix most of them already; for the remaining ones, issues are open with the corresponding devs.

Enjoy your #free #Android #apps with the #IzzyOnDroid repository :awesome:

RE: fosstodon.org/@arcanechat/1159…

there is no backups for arcanechat.me no user data is kept in backups not even if it is already encrypted data, if the server is wipped all data is gone, but here is the twist, you will barely notice! your account will be magically restored as soon as you connect, and all your data is safely stored in your devices, in your pockets, not in some cloud a.k.a "someone else's computer"

as a #chatmail relay operator this gives peace of mind you don't get with other selfhosted chat solutions


wait, you guys make backups?
This entry was edited (10 hours ago)

If you develop for #linux please make offline installation possible, for people in countries with restricted internet. Came back home last night and today I want to install Luminance HDR but their only option for linux is via the terminal, and yet, while I can access full internet on my phone using a VPN, I can't access any on my laptop/workstations, so I can't install this program, unless I use Wine. I'm in #Uganda They cut off internet during elections and it has now been partially restored.

RE: mindly.social/@Tamasg/11593603…

I concur; YAML is more readable; you chose right.


I bet a lot of my programmer friends are going, "why didn't you just use JSON and serialize settings that way?" Y'all, I did consider good ol JSON, because yes, it does have a faster compute time, but before the phoneme editor and NVDA driver settings, JSON would have been a lot less human-readable. YAML does suck for indents, I agree, but so does Python, if you are thinking on those lines, and good code indenting is honestly just good code hygiene if you think about it, why not keep that alive.
I read them on a Braille display a lot, I recognize not all people do, but poorly indented code in Braille VS well-indented is the difference from knowing quickly where functions begin VS trudging code as though it were a thick foggy swamp. And I don't like that feelin'.

I am currently using Airpods Pro 2 as hearing aids, with everything cranked as much as it can be cranked. It's probably not the best thing for my particular condition, but it works, mostly, until I can do something better, which is not now.

I have a clock in this room, which chimes every hour through a speaker.

Something about that sound freaks them out a little, and, when I also have screen reader speech or something else going at the same time, I get an almost ghost vocoder effect, where certain frequencies get modulated by the chiming clock.

It makes it almost sound like the clock is speaking, or ghost aspects of it are, anyway.

It's a bit weird.

This entry was edited (10 hours ago)

I bet a lot of my programmer friends are going, "why didn't you just use JSON and serialize settings that way?" Y'all, I did consider good ol JSON, because yes, it does have a faster compute time, but before the phoneme editor and NVDA driver settings, JSON would have been a lot less human-readable. YAML does suck for indents, I agree, but so does Python, if you are thinking on those lines, and good code indenting is honestly just good code hygiene if you think about it, why not keep that alive.
I read them on a Braille display a lot, I recognize not all people do, but poorly indented code in Braille VS well-indented is the difference from knowing quickly where functions begin VS trudging code as though it were a thick foggy swamp. And I don't like that feelin'.
in reply to Tamas G

I don't hate YAML entirely. What bugs me about it are:

* either my IDE defaults to two spaces, or that's the expected indent, because I can't use my normal tabs with it
* I still don't know when to put a hyphen before something
* I can't skip sections by using jump to matching symbol commands
* to me, it feels more fragile and harder to lint

I'm getting used to it, because Gitlab runners, Docker Compose, and other tools demand it. But I still don't really like it. JMO.

Jonathan reshared this.

in reply to Tamas G

IMHO enforced indention is bad. 1st, presentation and content must be decoupled. the web has truly proven the benefits therein. 2nd, this is ableist. Many folks need things to look a certain way for their disability, be it visual, processing, attention, what have you. Enforcing indention is harmful to those folks. 3rd, this removes choice. JSON can be indented, auto or otherwise, but YAML must be, which means no choice. Tech should work for us, not the other way around.
in reply to Sina Bahram

@sinabahram but I will say: I do see where it could be seen as ablist, in the sense that someone might not have pitch perception, nor Braille, then what? But that's where I think we just need more alternatives for indicating that, haptics, ETC. Would be cool to see an IDE where it did use certain haptic bumps because that I think could even benefit everyone equally for quickly feeling a count of indent levels. I personally see it as a part of semantics, even for machines, because they can parse the number of indents and understand blocks of code better. Without it, chunking would become a lot harder for machines, too. So it benefits both worlds, it's just a matter of equally making it available to everyone.
in reply to Tamas G

I feel you're stating indention is needed. I fundamentally disagree. That is simply one way of conveying scope. Another is braces, another is fixed columns from back in the fortran days, and much more. Instead of baking inaccessibility in, let's simply not do that. Also the way it is done is itself inaccessible by enforcing spaces per Python's pep-8 instead of tabs. More importantly, nothing prevents indention being automatically added with all these other options.
in reply to Tamas G

also, I don't mean to be all computer sciency, but it is 100% not semantics. It is syntax being conflated with semantics, which is my objection. Syntax should be syntax and semantics should be semantics. It's not about opinions, but rather about data. No peer-reviewed programming language literature to the best of my knowledge supports indention making a statistical difference for programmers. So, in the abscence of evidence, I always choose choice.

So apparently my personal combination of social security disability, retirement savings, and “desire to own a house” makes me too complex a client for your run-of-the-mill financial advisor. Striking out with all the household name firms.

Fedi friends, especially #PDX area #disabled pals: can anyone throw me a referral here?

Honestly the easiest first place to test any new language is the SAPI wrapper, you just drop the language-specific YAML in, and boom, you can have that language show up as one of the voices. That's what's nice about it, but anon-well-tuned language (with missing phonemes and such, or a tonal one not configured with tonal settings) would still probably sound like shit. But at least, people can really experiment and try any language just by copying default.yaml and renaming it to the language's YAML name, boom, poof, then adjusting from there.

#Bitwarden premium users, please be aware that they're doing an 100% price increase for no features of any proper value. I happily paid even 20€ a year for 2 vaults, but won't do 40 for features I never use. So thanks for the push to look into selfhosting again.
To clarify, the initial premium price was 10€, they're doubling for 20, adding random protection features you don't need if you have a brain.
bitwarden.com/blog/bitwarden-l…
reddit.com/r/Bitwarden/comment…
This entry was edited (10 hours ago)
in reply to LWorks

Journey completed in 9 days
Checkpoints visited: 6
Final health: 99
Experience earned: 16
Skills mastered: 1
Route completed for the first time!
New routes unlocked:
- Heartland Sprint
- Great Lakes Sprint
- Ohio Valley Passage
Achievements Unlocked:
🚶 First Steps - Complete your first route
⚡ Speed Demon - Complete a route in 10 days or less
😤 Restless - Complete a route without using rest action
☮️ Pacifist - Complete a route without killing anyone
in reply to ArcaneChat

»There isn't really another choice«
theverge.com/news/807147/signa…

Wieso wird im Rahmen der #DiDay Bewegung eigentlich ständig @signalapp empfohlen? Wo laufen denn die Server von denen? Laut Internet auch in den USA auf Amazon, Google und Co…

Oder habe ich etwas übersehen?

UPDATE: Weil mein Post offensichtlich von Fans als Kritik an Signal verstanden wird: meine Frage war, ob ich etwas übersehen habe im Sinn von „Signal Server sind nicht nur bei US-Anbietern gehostet“. Ich hätte gerne Digitale Souveränität mit Signal, nicht einem x-ten anderen System.

Meine Kritik richtet sich an diejenigen, die von digitaler Souveränität reden, und dann doch wieder etwas empfehlen, was dem Cloud Act oder der Kontrolle Trumps (Kill Switch) unterliegt.

#data #privacy #digitalesouveranitat #di_day #Diday #messenger #unplugTrump #fcktrump

This entry was edited (4 hours ago)

RE: mastodon.social/@freedomscient…

This was excellent. Liz and Rachel do a great job.


Curious about using Google’s NotebookLM with JAWS? This archived webinar shows how to use your own documents to get summaries, outlines, and answers, all in a keyboard-friendly way. Learn how to create a notebook, add sources, ask questions, filter results, and build reports.

Access the archive here: freedomscientific.com/webinars…

#JAWS #FreedomScientificTraining #AITraining


in reply to Ethin Probst

I don't even think it used the docs lol. For the record, if you're curious: // Prism state
#ifdef USE_PRISM
static PrismContext* g_prismCtx = nullptr;
static PrismBackend* g_prismBackend = nullptr;
#endif

Then, // Screen reader output - uses async message to avoid blocking UI
#ifdef USE_PRISM
static std::string g_pendingSpeech;
static bool g_speechInterrupt = true;

void DoSpeak() {
if (g_prismBackend && !g_pendingSpeech.empty()) {
prism_backend_output(g_prismBackend, g_pendingSpeech.c_str(), g_speechInterrupt);
g_pendingSpeech.clear();
}
}

void Speak(const char* text, bool interrupt = true) {
if (g_prismBackend && g_hwnd) {
g_pendingSpeech = text;
g_speechInterrupt = interrupt;
PostMessage(g_hwnd, WM_SPEAK, 0, 0);
}
}

void Speak(const std::string& text, bool interrupt = true) {
Speak(text.c_str(), interrupt);
}
#else
void DoSpeak() {}
void Speak(const char*, bool = true) {}
void Speak(const std::string&, bool = true) {}
#endif

and in the init funcs: // Initialize Prism for screen reader support
#ifdef USE_PRISM
bool InitPrism(HWND hwnd) {
PrismConfig cfg = prism_config_init();
cfg.hwnd = hwnd;

g_prismCtx = prism_init(&cfg);
if (!g_prismCtx) {
return false;
}

g_prismBackend = prism_registry_acquire_best(g_prismCtx);
if (!g_prismBackend) {
return false;
}

PrismError err = prism_backend_initialize(g_prismBackend);
if (err != PRISM_OK) {
return false;
}

return true;
}

// Shutdown Prism
void FreePrism() {
if (g_prismBackend) {
prism_backend_free(g_prismBackend);
g_prismBackend = nullptr;
}
if (g_prismCtx) {
prism_shutdown(g_prismCtx);
g_prismCtx = nullptr;
}
}
#else
bool InitPrism(HWND) { return false; }
void FreePrism() {}
#endif

in reply to Ethin Probst

@Bri The problem will even getting it to build for win 7. I don't have a toolchain capable of targetting it. I guess I could see if MS still offers the Windows XP compilers but Idk how to get MSVC's x64_x86 Cross Tools Command Prompt for VS to switch to those compilers. And then I need to figure out all the libraries onecore.lib replaces and test for onecore.lib or use the individual ones

Well, Prism has gotten some great new functionality! I think the biggest is that Prism can now act in place for the NVDA controller client! It does not need the DLL present to communicate with NVDA since it performs the internal RPC binding automatically. The current downside to this is that there may only be one NVDA backend active at any given time, which is abnormal and inconsistent with all the other backends. If you currently try to do this, it will (safely) overwrite the existing one.
in reply to Bri🥰

@Bri No, it doesn't. The controller client is (L)GPL license, and I have done everything I can to comply with it. Even if the (L)GPL code is combined into the larger prism.dll library, I don't see how I could possibly be violating it given that the project is entirely open source and so complying with the "allow people to modify/relink" thing is from what I know automatically satisfied. I'm not sure how else to comply other than what I've already done.
in reply to x0

@x0 @Bri I honestly don't know. Right now I force dynamic linking unless yoru building for Emscripten. For the problems that might create, I keep finding conflicting interpretations about those problems all over the place. Which for something like the LGPL is never a good sign. Some people say it's a problem, others say that that's just a widely misunderstood clause. I really don't like the ambiguity
in reply to Ethin Probst

@x0 @Bri And to make this even more confusing, you're not really using executable code from NVDA, you're just implementing their interface. And the copyright situation of interfaces is even more unclear, especially with all the different countries involved.

The easiest thing to do would probably be to do a git blame on the ACF file and get an explicit okay from everybody involved in its implementation. There can't be that many of these people.

Tomorrow's my big development talk y'all, I'm gonna stay real quiet and hunker down. Nervous as hell, I hate dev talks. So. No speech player updates, let's give language packs time to change a bit.
I already see a few improvements coming, can't say what, but yeah, this will keep evolving the more folks try it and are honest.
We now restored the UK English sound in this pack very close to the sound it had in the original IPA rules, which were much smaller and sparce in comparison, but I understand how we were contaminating phonemes with each other, which was the huge huge downside before I moved things into the frontend.
Honestly, building that frontend was the best decision I made early. AI would have kept on piling in Python code, specific language variables, and stich me a 300 kilobyte Python file by the end. No no. We are not doing that.
It's funny how real work changes you. I used to be a spaghetti-code type guy, all day I'd just throw my code in a single file. Today I shutter at the idea of zero abstraction. If it's not modularized well, it's not worth reading as code, period, unless it's clean small code. Yes I'm that much of a snob. Gosh. AI will happily spaghetti all day, unless you're Google Gemini, which can (sometimes) do better at helping you abstract it, but you are still the architect, if you don't know coding fundementals, it's hard to use AI to code something not considered "AI slop."