I have created a Speak Window for SoftVoice that implements the wrapper. Besides allowing you to choose variants, it also lets you save a wave file of the spoken text. Now you can proudly feature SoftVoice in your audio productions. Enjoy. eurpod.com/softvoice-say.zip - this is also for @jaybird110127 who asked for this one.
Note: a bug exists where variants like Martian do not apply all of their voice values, actively in progress to solve.
This entry was edited (3 days ago)

reshared this

in reply to x0

@x0 @TomGrant91 so if one of those callbacks can receive marker events, then maybe. Right now the problem is our order of things:
• we call SVTTS/SVNarrate,
• we intercept waveOut,
• we detect end-of-utterance,
• NVDA sends the next chunk,
• the engine inserts its own little “tail” silence and/or waveOut open/close gaps happen. And that's the pause. Because I can't get a callback from SoftVoice saying "I'm done processing this chunk now, send me the next" it's all very sequential and the wrapper is the only thing that can tell NVDA a DoneSpeaking event properly occured
in reply to x0

sigh. After fiddling with this DLL for the latter part of the day, it's just buggy. Even if you use it in the old driver that directly called it and used MME with no hooking. It will stop before finishing longer chunks, so it'll sound as though it's stopped before speaking has finished. Very unfortunate. No amount of hooking can fix it as the same symptom appears in the wrapper. Tried to remove the trim silences logic to fix it, thinking it was the cause. But nope. So it just never sends the last few samples either. What a shame.
This entry was edited (3 days ago)
in reply to x0

darn. I think I know why: It's a trial DLL. It looks in the registry under: SOFTWARE\SoftVoice\ and checks. If it's not there, it bails out on a timer. There's strings for "Evaluation period has expired (demo versions only)
" too. So it would need that timer cracked by someone who's good at, well, cracking. :D (which will definitely not be me xD )
This entry was edited (2 days ago)
in reply to Tamas G

PW Web Speak was one of the first ways I accessed the internet back in the day, my school got a 'Super-fast' bonded ISDN line at 128 Kbps. You could only access it in the library and on one machine but wow, the internet felt so magical back then, even if it was via a weird browser.
Still, that was my introduction to Softvoice.
@Tamasg @x0 @jaybird110127
in reply to Jayson Smith

Wow this thing is buggy! The following text crashes the thing! I'm just guessing about the inflection command but here goes: {{rate 90; pitch 100}}Never gonna give you up,
{{pitch 50}}Never gonna let you down,
{{rate 50; pitch 200}}Never gonna run around and dessert you.
{{rate 75; pitch 100}}Never gonna make you cry,
{{pitch 100; rate 150}}
Never gonna say goodbye,
{{pitch 50; rate 50; inflection 0}}Never gonna tell a lie and hurt you.
in reply to Seedy!

@cubic @TomGrant91 yeh it's not reinitializing it from the default male variant params.
I have updated ApplyWrapperSettings to be more aggressive.
1. Force-set the personality twice on the very first run.
2. Add a small Sleep after setting the personality to let the engine's internal table update.
3. Explicitly Reset the engine state when the app starts.
eurpod.com/softvoice-say.zip

To je tak, když 4 dny v týdnu strávíte zavření minimálně 8 hodin v plechové bedně s 80 lidmi, kdy půlka z nich chrchlá jak před smrtí a kapesník, roušku nebo aspoň si zakrýt hubu zvládne tak 10%.
Ta interní cirkulace vzduchu tomu taky moc nepomáhá.
A pak se mě okolí diví, že jsem nesociální.
Než jsem začal řídit autobusy, byl jsem nemocný naposledy v 19 letech. Teď každý rok minimálně dvakrát.
in reply to The Matrix.org Foundation

@matrix should, but often aren't. I'm saying as a long time daily user of matrix. The number of problems caused by this is so high that I totally understand how a non-technical person will end up with a broken account sooner or later, and never come back. Dismissing feedback won't help. Prioritize compatibility. Prioritize stability. Prioritize "users will never see Unable to decrypt". New features don't matter if it keeps breaking.
in reply to chebra

@chebra not trying to dismiss feedback, but we’re not aware of any problems caused by matrix.org running something incompatible with other clients or servers. what are you actually thinking of? unable to decrypt errors are not to do with matrix.org instance compat (and should be largely gone since sept 2024 as per youtube.com/watch?v=FHzh2Y7BAB…)

My (public) weekly emails celebrate three years today. The fact that almost 500 subscribers willingly want my nerdy details every week fascinates me. I love you. 💚

daniel.haxx.se/blog/2023/01/10…

This entry was edited (3 days ago)
in reply to Seedy!

@cubic nah, they're definitely the same variant/ voices. It's a bit more static when I go back to the original crappier softvoice driver, but setting pitch to 4 on the new one makes the voice have the same tone and tambor. So not sure. Those variants are internally stored. Of course it's easy to make any voice clip if you manually mess with the NVDA exposed controls, they are mostly there for fun or customizing a variant - but some settings don't match with the variant you chose so then it can't apply properly. So, not much else to do, this is probably as good as it'll get, which is to say, better than the prior NVDA driver.
in reply to Seedy!

@cubic oof. well I made a 2025.3.6 version of the driver at htttps://eurpod.com/softvoice-2025.nvda-addon. It's weird because for me, robot and martian sound actually robot and monotone.
Quick “is it fixed?” test you can run in NVDA
1. Set pitch to something obvious (ex: 9) while on Male.
2. Switch to a custom personality (Martian/robotic/etc).
3. Speak a sentence.
It should not keep the high pitch because we reapply that variant's own pitch there.

En Leonieke, wat doe je dan eigenlijk met al die borduren die je de afgelopen jaren hebt gemaakt?

Eh, ja, die zitten (al dan niet netjes) opgerold in diverse theedoeken.
Bij sommige borduren heb ik een ontvanger in mijn hoofd, maar bij anderen? Ik vond ze leuk om te maken, maar na een paar jaar is het wel duidelijk dat ik er verder niets mee doe.

Dus ... in de aanbieding, gratis te ontvangen, incl. verzending binnen Nederland, de volgende borduren (niet allemaal gesigneerd/gedateerd, want ja, beetje lui). :embroiviki:

1/n

#LeoniekeBorduurt #borduren #PointDeCroix #CrossStitch #embroidery #FiberArts #LTA26

in reply to daughter of lilith

@marta Android's lifecycle management basically recreates the entire activity ("app screen") when a device gets rotated because the "screen size changes".

It's 100% on me. It's much easier to prevent now, but it's very old legacy code so needs a rewrite. However as solo dev of a hobby project I have to pick priorities and make sure it stays fun so I can keep going so I just haven't gotten to it.

Part of me just hopes someone else comes along and fixes this code for me so I don't have to 🙈

In the USA, in most states, you can get a restricted driver's license at age 16.
Anyone who is born today, and is qualified to get such a license, is three years younger than the original iPhone.

Quite frankly, it scares me that there will be people driving who were not even a thought of a thought when the first iPhone was announced, possibly with older siblings who also were not around at the time the iPhone was released, who might be in their first or second year of college by now, but here we are.

This entry was edited (3 days ago)
in reply to Jeffrey D. Stark

@jstark Sometimes though change happens because people did work on the inside. When Microsoft decided to add MSAA (Microsoft Active accessibility) to Windows, it wasn't because there was a lawsuit, but we had people like Kelly Ford and others working inside to make change happen. Wouldn't call that one fear-based, although perhaps pressures by orgs did help that come along, since people were so concerned about transitioning from DOS to Windows. But I definitely know that that one wasn't lawsuit, but in 1997, primarily due to pressure from disability advocates and government agencies. @yatil
in reply to Tuta

Hi there, new accounts can get disabled if they are marked as possible mass signups and need manual approval. As a private email service, we do not ask for phone numbers or any other personal information so we must be very strict with this which can lead to the fact that real users get locked out. If this is the case, please contact our support at hello@tutao.de, and we'll be happy to look into this and approve the account.
in reply to Tuta

oh, my bad. I thought that fediverse accounts, and content was accessible across multiple instances 🤷

Your reply is fair and has been mentioned by the OP too. It also is the point of the discussion

I have a paid account with you so I feel like it won't be an issue for me. It's just sad if new users are discouraged from using Tutanota based off one users experience who got flagged as spam

I went to trans swimming last night and it was amazing.

Trans swimming happens weekly in two public swimming pools in London, one in South London, one in North East London. Each sets aside a pool for trans and gender diverse swimmers, we get our own changing room, and we have 90 minutes allocated in the evening where the pool is exclusively ours.

It is amazing.

I've been multiple times, but seeing the joy on every face to swim regardless of top surgery scars, bulging bikini bottoms, or even topless (pre surgery mascs and early HRT femmes).

But no one cares about the bodies... This is what makes it amazing. People just swim, splash, do handstands, snog, do lengths... It's just this really amazing safe space.

I can't describe how big a deal it is to feel this safe, and to have this space, and to do an activity that has such fear associated to it (trans person in a public pool and changing rooms).

If there's trans swimming near you, go swim! If you're near or in London, join us! If you're in London DM me for the WhatsApp group details for trans and gender diverse swimming.

This entry was edited (3 days ago)

Friends, this is the coolest thing I have ever seen and you should see it too. A guitar amp labelled entirely in braille. #accessibility #blind #blindness #braille
This entry was edited (4 days ago)

reshared this

The #blog post "A year of work on the ALPM project" has been released:

devblog.archlinux.page/2026/a-…

#ArchLinux #OpenPGP #RustLang #SovereignTechFund #STF #VOA #devblog

This entry was edited (2 days ago)

Peter Vágner reshared this.

New year new #introduction!
My name is Ana! I’m an #artist with a #ComputerScience background working on a #GraphicNovel about #Latvians during #WWII.

I post a lot about #BlackMetal (my fav genre), #FountainPens and #journaling (my fav hobby). I read a lot of #fiction and #nonfiction, play a variety of #VideoGames (#Rimworld, #Balatro, #Diablo4)

I’m also currently learning #ClassicalGuitar

Don’t be shy, say hi!!

I've just open-sourced a native macOS @matrix client that I've been working on! github.com/viktorstrate/mactri…

It is built with #swiftui and #MatrixRustSDK

reshared this

in reply to Borris

Well here's a recording of a disk being formatted, from the perspective of leakage from the cassette output jack. As the drive is running, you hear a really low noise which is almost certainly derived from the motor, then sounds an octave higher than they should be derived from the head being moved. Also since I assume what you're really hearing are the impulses controlling the stepper motor and not the actual head movement, you don't hear the loud buzz once it reaches track zero. Also at the end, once the format is complete, it goes to track 17 to write the Volume Table of Contents, then to track 2, then 1, then 0 to write DOS, but then I hit Ctrl+Reset to interrupt it before it can finish going back to track 17 to write the Hello program.

Borris reshared this.

In my quest to keep all my possibilities open in the world where all of the operating systems seem to get worse in different ways in accessibility, usability and privacy, I decided to also set up my mac as secondary system, complementing my main Windows setup.
So last night, I nuked my mac drive and reinstalled macos. its definitely running way smoother than before, when it was running a setup from 2015, most likely riddled with gunk from the intel era. On boot, VoiceOver was stuttering, virtual machines failed to run properly and in general the m1 system wasn't as snappy as it should've been. The current goal is to set up parallels with windows 11, as we all know, VoiceOver can't be used seriously for many text processing or web tasks, things which I do a lot.
There are definitely oddities. Don't know if its because apple is vibecoding MacOs now, but for example, the option to disable function row and return it to f1 f2 f3, is only findable via the system settings search, nowhere in the settings itself. You will have to search for "function keys" which is when the option pops up in results.
And I am not envying first time macos users. I mean most of the time it fails to focus the setup screens properly, so you have to use the VO F1 command to find the window. A command I bet most first time users have no idea about.
I had to set up dropbox 5 times, because the first 4 times, dropbox decided to crash when a system permissions dialog showed up.
still, windows does equally stupid things, so its not like there's something better around.
This entry was edited (3 days ago)

I was today years old when I figured out that the Windows 9x SB16 OPL3 MIDI driver is tuned to 437.5 Hz. In the replica source code that is part of the user mode Windows OPL3 drivers, there are two notable constants in opl3midi.h. These are opl_samplerate = 50000.0 and opl_tune = 440.0. As the actual OPL3 sample rate is 49716 Hz, setting this value as a constant results in 440 Hz tuning. I gradually reduced the tuning constant by .5 until I got null tests with the original code to result in total silence.
in reply to Tamas G

new: SoftVoice NVDA Driver (softvoice-2025.nvda-addon) version 2025.3.3: Adds "use abreviations" checkbox.
Since SoftVoice itself does not have a way to toggle or control this, we hack around it by splitting all-capital letters to have spaces for the engine. It's a crude hack, not ellegant, but I'll call it for "it works."
eurpod.com/softvoice-2025.nvda…
This entry was edited (3 days ago)

SoftVoice (mostly) modernized for NVDA 2025 versions. The only pesky problem I can't get rid of is pauses during say-all, but "pause factor" does improve pauses mid-utterance, which is nice.
Pitch, variants all work. Slight speed boost with wrapper as we now capture Wave output ourselves and pipe to NVDA.
eurpod.com/softvoice-2025.nvda…
This entry was edited (3 days ago)

Andre Louis reshared this.

GrapheneOS version 2026010800 released


Tags:

  • 2026010800 (Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet, Pixel Fold, Pixel 8, Pixel 8 Pro, Pixel 8a, Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold, Pixel 9a, Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, Pixel 10 Pro Fold, emulator, generic, other targets)

Changes since the 2025122500 release:

  • raise declared patch level to 2026-01-05 which has been provided since we moved to Android 16 QPR2 in December due to Pixels shipping CVE-2025-54957 in December
  • re-enable the system keyboard at boot if it's disabled
  • switch to the system keyboard when device boots to the Safe Mode
  • add "Reboot to Safe Mode" power menu button in Before First Unlock state to make Safe Mode much more discoverable for working around app issues such as a broken third party keyboard
  • add workaround for upstream UsageStatsDatabase OOM system_server crash
  • add workaround for upstream WindowContext.finalize() system_server crash
  • disable buggy upstream disable_frozen_process_wakelocks feature causing system_server crashes for some users
  • Sandboxed Google Play compatibility layer: fix phenotype flags not working in Play services clients
  • Sandboxed Google Play compatibility layer: add MEDIA_CONTENT_CONTROL as a requested permission for Android Auto as part of our toggles for it to avoid needing to grant the far more invasive notification access permission
  • Sandboxed Google Play compatibility layer: extend opt-in Android Auto Bluetooth support to allow A2dpService.setConnectionPolicy() to fix Bluetooth functionality (previously worked around with a GmsCompatConfig update avoiding a crash)
  • switch to new upstream PackageInstallerUI implementation added in Android 16 QPR2 and port our changes to it
  • update SQLite to 3.50.6 LTS release
  • add an extra layer of USB port protection on 10th gen Pixels based on upstream functionality to replace our USB gadget control which was causing compatibility issues with the Pixel 10 USB drivers
  • allow SystemUI to access NFC service on 10th gen Pixels to fix the NFC quick tile
  • disable the upstream Android USB data protection feature since it conflicts with our more advanced approach and causes issues
  • issue CHARGING_ONLY_IMMEDIATE port control command in more cases
  • fix an issue in our infrastructure for spoofing permission self-checks breaking automatically reading SMS one-time codes for certain apps
  • add workaround for upstream KeySetManagerService system_server crash causing a user to be stuck on an old OS version due to it causing a boot failure when booting a the new OS version after updating
  • wipe DPM partition on 10th gen Pixels as part of installation as we do on earlier Pixels since it's always meant to be zeroed on production devices
  • Settings: disable indexing of the unsupported "Parental controls" setting which is not currently available in AOSP
  • Settings: disable redundant indexing of widgets on lockscreen contents which is already indexed another way
  • skip all pseudo kernel crash reports caused by device reboot to avoid various false positive crash reports
  • Vanadium: update to version 143.0.7499.192.0

All of the Android 16 security patches from the current January 2026, February 2026, March 2026, April 2026, May 2026 and June 2026 Android Security Bulletins are included in the 2026010801 security preview release. List of additional fixed CVEs:

  • High: CVE-2025-32348, CVE-2025-48561, CVE-2025-48615, CVE-2025-48630, CVE-2025-48641, CVE-2025-48642, CVE-2025-48644, CVE-2025-48645, CVE-2025-48646, CVE-2025-48649, CVE-2025-48652, CVE-2025-48653, CVE-2026-0014, CVE-2026-0015, CVE-2026-0016, CVE-2026-0017, CVE-2026-0018, CVE-2026-0020, CVE-2026-0021, CVE-2026-0022, CVE-2026-0023, CVE-2026-0024, CVE-2026-0025

For detailed information on security preview releases, see our post about it.

Minnesota state says the FBI is blocking it from investigating the killing of Renee Good.

& while Vance said Good had aimed her car at the officer, "the NYT published a slow-motion analysis showing how her vehicle was turning away from the officer" when he shot her.

Mayor Jacob Frey said “Kristi Noem watched the videos & doesn’t want an impartial investigation, because she knows her narrative about domestic terrorism is bullshit.”

democracynow.org/2026/1/9/head…

#ICE #USPol #Europol #ReneeGood .

Motif folks, got a question about the John Mellos or however his name is spelled, motif editors. I have a Rack XS module and a 3I3 midi interface. I assume the module needs to be plugged in to an in and an out to take care of rreading data from the user banks so I can browse/play sounds. But I need one of those ins on the midi interface for my wind controller. Can the librarian or whatever program you use to browse/play sounds let you select more than 1 midi in?