Showing posts with label FOSS. Show all posts
Showing posts with label FOSS. Show all posts

Friday, December 26, 2025

Installing Draw.IO on Linux Ubuntu Laptop

All Linux Lessons
How do I install this software on my linux machine: It is available in following architectures: Linux - deb, AppImage or rpm

You can install draw.io (diagrams.net desktop) on Linux in three common ways. Pick the one that best fits your distro and preference.


✅ Option 1: DEB package (Best for Ubuntu / Linux Mint / Debian)

Recommended if you want system integration and automatic updates.

  1. Download the .deb file from the release page.

  2. Open a terminal in the download folder and run:

    bash
    sudo apt update sudo apt install ./drawio-amd64-29.0.3.deb

    Replace the filename if the version differs.

  3. Launch from the app menu or run:

    bash
    drawio

✅ Option 2: AppImage (Works on almost all distros)

No installation needed; great for portability.

  1. Download the .AppImage file.

  2. Make it executable:

    bash
    chmod +x drawio-29.0.3-x86_64.AppImage
  3. Run it:

    bash
    ./drawio-29.0.3-x86_64.AppImage

Optional: Move it to /opt and create a desktop shortcut if you want.


✅ Option 3: RPM package (Fedora / RHEL / openSUSE)

Use this if you’re on an RPM-based distro.

bash
sudo dnf install drawio-29.0.3.x86_64.rpm

or on openSUSE:

bash
sudo zypper install drawio-29.0.3.x86_64.rpm

🔍 Which should you choose?

  • Ubuntu / Linux Mint / DebianDEB

  • Any distro / portable useAppImage

  • Fedora / RHEL / openSUSERPM

If you tell me your exact distro (e.g., Ubuntu 22.04, Mint 21, Lubuntu, etc.), I’ll give you the exact filename and best command.

...
(base) jain@jain-ThinkPad-T440s:~/Downloads$ chmod +x drawio-x86_64-29.0.3.AppImage (base) jain@jain-ThinkPad-T440s:~/Downloads$ ./drawio-x86_64-29.0.3.AppImage dlopen(): error loading libfuse.so.2 AppImages require FUSE to run. You might still be able to extract the contents of this AppImage if you run it with the --appimage-extract option. See https://github.com/AppImage/AppImageKit/wiki/FUSE for more information

This is a very common AppImage issue 👍
Your system is missing FUSE v2 (libfuse.so.2), which AppImages require.

Let’s fix it cleanly.


✅ Fix 1 (Recommended): Install FUSE (libfuse2)

On Ubuntu / Linux Mint / Lubuntu:

bash
sudo apt update sudo apt install libfuse2

Then run again:

bash
./drawio-x86_64-29.0.3.AppImage

This should start draw.io immediately.


🔎 Why this happens

  • AppImages use FUSE (Filesystem in Userspace) to mount themselves.

  • Newer distros ship fuse3, but AppImages still expect fuse2.

  • Hence the missing libfuse.so.2.


🛠 Fix 2 (If you cannot install FUSE): Extract AppImage

If you’re on a restricted system:

bash
./drawio-x86_64-29.0.3.AppImage --appimage-extract

Then run it manually:

bash
cd squashfs-root ./drawio

⚠️ This works but no desktop integration.


🔁 Alternative (Most Stable): Install DEB instead

If you’re on Ubuntu/Mint/Lubuntu, the DEB version is simpler:

bash
sudo apt install ./drawio-amd64-29.0.3.deb

✅ Quick Recommendation

SituationBest Choice
Ubuntu / Mint / LubuntuDEB package
Portable / no installAppImage + libfuse2
Locked-down systemAppImage extract

If you want, I can:

  • Create a desktop launcher for the AppImage

  • Help you switch to the DEB version

  • Check if your system already has fuse3 vs fuse2

Just tell me 👍

... ... ...
(base) jain@jain-ThinkPad-T440s:~/Downloads$ ./drawio-x86_64-29.0.3.AppImage [6616:1227/063742.336623:FATAL:sandbox/linux/suid/client/setuid_sandbox_host.cc:166] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /tmp/.mount_drawiodOPId7/chrome-sandbox is owned by root and has mode 4755. Trace/breakpoint trap (core dumped)

This is another very common Electron + AppImage issue 👍
Nothing is “broken” — it’s a sandbox permission problem.

The error means:

Electron found the chrome-sandbox helper inside the AppImage, but it cannot be setuid root, which is required for sandboxing.

Because AppImages run from /tmp/.mount_*, Linux does not allow setuid binaries there.


Fastest & Safest Fix (Recommended)

Run draw.io without the sandbox.

👉 Just run:

bash
./drawio-x86_64-29.0.3.AppImage --no-sandbox

This is safe for desktop apps like draw.io and is the official workaround.


🔁 Make it permanent (so you don’t type it every time)

Create a small wrapper:

bash
nano ~/bin/drawio

Paste:

bash
#!/bin/bash ~/Downloads/drawio-x86_64-29.0.3.AppImage --no-sandbox

Save (Ctrl+O, Enter, Ctrl+X) and make executable:

bash
chmod +x ~/bin/drawio

Now you can just run:

bash
drawio

🧠 Why this happens (short explanation)

  • draw.io is an Electron app (Chromium-based)

  • Chromium wants a setuid sandbox

  • AppImages mount under /tmp/.mount_*

  • Linux disallows setuid binaries there

  • Result → crash unless sandbox is disabled


🟢 Best Long-Term Solution (If you want zero issues)

Since you’re on Ubuntu/Mint/Lubuntu, the DEB package is better than AppImage:

bash
sudo apt install ./drawio-amd64-29.0.3.deb

✔ Proper sandbox
✔ Menu integration
✔ No flags needed
✔ Auto updates possible


🏁 Recommendation

MethodStability
AppImage + --no-sandbox✅ Works
AppImage without flag❌ Crashes
DEB package⭐⭐⭐⭐⭐ Best

If you want, I can:

  • Create a desktop icon for the AppImage

  • Help you switch cleanly to DEB

  • Explain security implications (briefly)

Just tell me 🙂

Tags: Technology,Linux,FOSS,

Thursday, April 6, 2023

Twitter takes its algorithm ‘open-source,’ as Elon Musk promised (Apr 2023)

Twitter has released the code that chooses which tweets show up on your timeline to GitHub and has put out a blog post explaining the decision. It breaks down what the algorithm looks at when determining which tweets to feature in the For You timeline and how it ranks and filters them.

According to Twitter’s blog post, “the recommendation pipeline is made up of three main stages.” First, it gathers “the best Tweets from different recommendation sources,” then it ranks those tweets with “a machine learning model.” Lastly, it filters out tweets from people you’ve blocked, tweets you’ve already seen, or tweets that are not safe for work, before putting them on your timeline.

The post also further explains each step of the process. For example, it notes that the first step looks at around 1,500 tweets and that the goal is to make the For You timeline around 50 percent tweets from people that you follow (who are called “In-Network”) and 50 percent tweets from “out-of-network” accounts that you don’t follow. It also says that the ranking is meant to “optimize for positive engagement (e.g., Likes, Retweets, and Replies)” and that the final step will try to make sure that you’re not seeing too many tweets from the same person.


Of course, the most detail will be available by picking through the code, which researchers are already doing.

CEO Elon Musk has been promising the move for a while — on March 24th, 2022, before he owned the site, he polled his followers about whether Twitter’s algorithm should be open source, and around 83 percent of the responses said “yes.” In February, he promised it would happen within a week before pushing back the deadline to March 31st earlier this month.

Musk tweeted that Friday’s release was “most of the recommendation algorithm” and said that the rest would be released in the future. He also said that the hope is “that independent third parties should be able to determine, with reasonable accuracy, what will probably be shown to users.” In a Space discussing the algorithm’s release, he said the plan was to make it “the least gameable system on the internet” and to make it as robust as Linux, perhaps the most famous and successful open-source project. “The overall goal is to maximize on unregretted user minutes,” he added.

Musk has been preparing his audience to be disappointed in the algorithm when they see it (which is, of course, making a big assumption that people will actually understand the complex code). He’s said it’s “overly complex & not fully understood internally” and that people will “discover many silly things” but has promised to fix issues as they’re discovered. “Providing code transparency will be incredibly embarrassing at first, but it should lead to rapid improvement in recommendation quality,” he tweeted.

There is a difference between code transparency, where users will be able to see the mechanisms that choose tweets for their timelines, and code being open source, where the community can actually submit its own code for consideration and use the algorithm in other projects. While Musk has said it’ll be open source, Twitter will have to actually do the work if it wants to earn that label. That involves figuring out systems for governance that decide what pull requests to approve, what user-raised issues deserve attention, and how to stop bad actors from trying to sabotage the code for their own purposes.

Twitter says people can submit pull requests that may eventually end up in its codebase.

The company does say it’s working on this. The readme for the GitHub says, “We invite the community to submit GitHub issues and pull requests for suggestions on improving the recommendation algorithm.” It does, however, go on to say that Twitter’s still in the process of building “tools to manage these suggestions and sync changes to our internal repository.” But Musk’s Twitter has promised to do many things (like polling users before making major decisions) that it hasn’t stuck with, so the proof will be in whether it actually accepts any community code.

The decision to increase transparency around its recommendations isn’t happening in a bubble. Musk has been openly critical of how Twitter’s previous management handled moderation and recommendation and orchestrated a barrage of stories that he claimed would expose the platform’s “free speech suppression.” (Mostly, it just served to show how normal content moderation works.)

But now that he’s in charge, he’s faced a lot of backlash as well — from users annoyed about their For You pages shoving his tweets in their faces to his conservative boosters growing increasingly concerned about how little engagement they’re getting. He’s argued that negative and hate content is being “max deboosted” in the site’s new recommendation algorithms, a claim outside analysts without access to the code have disputed.

Twitter is also potentially facing some competition from the open-source community. Mastodon, a decentralized social network, has been gaining traction in some circles, and Twitter co-founder Jack Dorsey is backing another similar project called Bluesky, which is built on top of an open-source protocol.
Tags: Technology,Management,Investment,FOSS

Friday, January 20, 2023

SaveF.net blocked in India from 2023-Jan-1 and how you can still use it

Message from SaveF.net on it's site in India:

Subject: Discontinuation of Service in India

January 1, 2023 Dear savef.net User As you may have heard, our industry has been under strenuous attacks by certain Indian copyright holders. Because of these attacks, it has become financially impractical for savef.net to continue to provide services in India. Accordingly, savef.net will be terminating its services in India as of January 1, 2023. We thank you for your past loyalty and patronage and wish you health and safety during the present health crisis and beyond. Very truly yours, savef.net

How can you still use it?

Download Tor browser that protects you against tracking, surveillance and censorship.

savef.net opened using Tor browser

Tags: FOSS,Technology,

Tuesday, July 5, 2022

Digging deeper into your toolbox (Viewing LDiA code of sklearn)

Digging deeper into your toolbox

You can find the source code path in the __file__ attribute on any Python module, such as sklearn.__file__. And in ipython (jupyter console), you can view the source code for any function, class, or object with ??, like LDA??: >>> import sklearn >>> sklearn.__file__ '/Users/hobs/anaconda3/envs/conda_env_nlpia/lib/python3.6/site-packages/sklearn/__init__.py' >>> from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA >>> from sklearn.decomposition import LatentDirichletAllocation as LDiA >>> LDA?? Init signature: LDA(solver='svd', shrinkage=None, priors=None, n_components=None, store_covariance=False, tol=0.0001) Source: class LinearDiscriminantAnalysis(BaseEstimator, LinearClassifierMixin, TransformerMixin): """Linear Discriminant Analysis A classifier with a linear decision boundary, generated by fitting class conditional densities to the data and using Bayes' rule. The model fits a Gaussian density to each class, assuming that all classes share the same covariance matrix. ... This won’t work on functions and classes that are extensions, whose source code is hidden within a compiled C++ module.
Tags: Machine Learning,Natural Language Processing,FOSS

Sunday, June 12, 2022

Creating and Editing Line Chart in LibreOffice Calc

1 - 'About LibreOffice' for checking version

2 - Opening a .xlsx file created in MS Excel 365 in LibreOffice Calc

3 - Insert Chart button in LibreOffice Calc

4 - When you click on it, you get a bar chart and a 'Chart Wizard' window opened on your screen

5 - There you have to set 'Chart Type' to Line and on the right side select 'Lines Only' design

6 - When you click on 'Next' you get to see the Data Range

7 - When you click on 'Next' you get to see the Data Series

8 - When you click on Next, you get to the 'Chart Elements'

9 - Then click 'Finish' to get a Line Chart like what MS Excel clreates

10 - Next we add a dummy row to our table data

BUT:

But we cannot do it like Microsoft Excel in Calc by simply click on the chart and drag on the data boundary to extend the data range input to the chart.

In LibreOffice Calc: 11. We have to right click on the chart and get to the Edit Button.

12. Once we click on the 'Edit' button, Data Ranges get selected. Now we right-click on the 'Chart Area' again to get to the 'Data Ranges' Context Menu Option.

13. Our existing 'Data Range' looks like this:

14. We change it to:

$Brazil.$A$1:$B$41

15. When we click on 'OK', our chart reflects the change.

Tags: Technology,FOSS,Data Visualization,

Install LibreOffice Today, As MS Excel Disables All Functionality For The Unlicensed Installation (2022-Jun-12)

1. Microsoft Excle disables all functionality except 'Read Only' mode.

2. MS Excel Notifies about "Your Subscription Has Ended."

3. MS Excel Notifies About "Unlicensed Product."

4. MS Excel Notifies About "Subsriction Expired. All Features Have Been Disabled Except 'Read Only'."

5. Install LibreOffice Today.

6. My file opens perfectly in LibreOffce Calc.

Tags: FOSS,Technology,

Saturday, June 4, 2022

Wikipedia asking for donation in India 2022-Jun-4

Image 1:
Text as on 2022-Jun-10: To all our readers in India, Please don't scroll past this. This Friday, we request you to sustain Wikipedia's independence. 98% of our readers don't donate; they simply keep reading. If you are an exceptional reader who has already donated, we sincerely thank you. If you donate just ₹ 50 today, Wikipedia could keep growing for years. We request you: please don’t scroll away. If Wikipedia has given you ₹ 50 worth of knowledge, kindly take a minute to donate. Show the world that access to reliable, neutral information matters to you. Thank you. Image 2:
Tags: Technology,FOSS

Thursday, May 12, 2022

Why Coding is Important

Today, technology is there in every part of our life. Coding jobs are the future. They already constitute more than 60% of all science, technology, engineering, and math jobs. But, unfortunately, schools and traditional education systems are not equipped to provide the right coding education.

With the huge development of technologies, human civilization has entered the new era of the Fourth Industrial Revolution from the Third Industrial Revolution. The Fourth Industrial Revolution is marked by emerging technology breakthroughs in robotics, artificial intelligence, nanotechnology, quantum computing, biotechnology, The Internet of Things (IoT), 3D printing, and autonomous vehicles.

Facing such a future, “85 % of jobs in 2030 haven’t been invented yet,” as estimated by Dell and the Institute for the Future (IFTF) in the report “Realizing 2030”. And McKinsey, the leading global management consulting firm, predicted that robots could replace 800 million jobs by 2030. Coding itself could help human beings cooperate with the robots, control, or understand the much more digital world. Computer language also could be a necessity for jobs in the future.

References:

# iftf.org

# mckinsey 

Coding is a 21st-century skill that kids need to learn today, but unfortunately, there is still not much awareness about it.

Every company will be a software company in the future. And there has never been a time when the impact of software is so visible everywhere around us. Our daily lives have already been disrupted and arguably made better. However, there is still a long way to go. As of 2019, 56% of the world population had internet access. This was a growth of over 1000% since the start of the 21st century. By 2025, 80% of the world population (6.5 B) will have internet access. The distribution of software will reach such a massive scale that we may not even comprehend today. Someone sitting in India right now could be building an app in their high school, and that app would be used by millions of users all over the world. It was futuristic a decade ago but sounds extremely real today. Now is a great time to be entering the coding world because technology will change more in the next 10 years than it has in the last 50. - Bill Gates Everyone should know how to program a computer, because it teaches you how to think. - Steve Jobs Coding is today's langauage of creativity. All our children deserve a chance to become creators instead consumers of computer science. - Maria Klowe
Children must be taught how to think not what to think. - Margaret Mead Margaret Mead was an American cultural anthropologist who featured frequently as an author and speaker in the mass media during the 1960s and the 1970s. She earned her bachelor's degree at Barnard College of Columbia University and her M.A. and Ph.D. degrees from Columbia.

History

1. Vivek & Satyam started working on building Codingal in Jul 2020 2. Codingal was launched on Sep 1, 2020 3. Codingal received funding of USD 560,000 in Oct 2020 4. Codingal got accepted into the world's most prestigious startup program - Y Combinator, in Dec 2020
Tags: Technology,FOSS,Artificial Intelligence,

Sunday, May 8, 2022

OK Cupid (looking into a free match-making software)



This article was written back in 2016... "This is not good, if somebody has a problem with a post then at least have the courtesy to inform/let know the author about it", that's what I have say to begin with and to the OK Cupid community, escorts community and call girls community.
I am a true admirer of free and open source software, but do not know what to say about this app OK Cupid.
Some people out there tried to benefit the society by giving it a free and good enough dating app but then the app lacks with a system of feedback and reporting, good user authentication system, among many other features. This allows users to use this app in ways not intended by its developers; one has to do more research on it to know if these are bugs or features. Well, now there are people, call girls and escort services who use this OK Cupid app to advertise themselves, as if we are already not seeing enough advertisements in the app's "hot or not" section. Now when I said 'they advertise' they are literally advertising their phone numbers, chat application (like Skype, Kik, WeChat, etc.) IDs to connect via video calling or photo sharing apps later.
The application searches for matches based on the user's location but then it uses some very stupid location management system and it does not even accurately predict your present location. Another bug, or feature I should say, is that even if you are in Delhi, it lets you change your location to well-known places by guesswork like Mumbai or Bengaluru, and then show you the matches from that location.
Oh god, I hope one of the Okc developers read this.
To make everyone's life simple, I have a short list of contact details of those girls from the app, ping me if you need it.
Tags: Technology,FOSS

Sunday, March 13, 2022

Text to Speech APIs in different browsers for Ubuntu 21.10

OS Information

(base) ashish@ashishdesktop:~$ uname Linux (base) ashish@ashishdesktop:~$ uname -a Linux ashishdesktop 5.13.0-35-generic #40-Ubuntu SMP Mon Mar 7 08:03:10 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux (base) ashish@ashishdesktop:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 21.10 Release: 21.10 Codename: impish

Firefox Does Not Have Text-to-Speech Support on Ubuntu as of Ubuntu 21.10

Logs From Firefox Console:

>>> window.speechSynthesis.getVoices()

Array []
length: 0
<prototype>: Array []

In Google Chrome, We Have 19 Voices Available

Logs From Chrome Console

>>> window.speechSynthesis.getVoices()

(19) [SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice]

0: SpeechSynthesisVoice {voiceURI: 'Google Deutsch', name: 'Google Deutsch', lang: 'de-DE', localService: false, default: true}

1: SpeechSynthesisVoice {voiceURI: 'Google US English', name: 'Google US English', lang: 'en-US', localService: false, default: false}

2: SpeechSynthesisVoice {voiceURI: 'Google UK English Female', name: 'Google UK English Female', lang: 'en-GB', localService: false, default: false}

3: SpeechSynthesisVoice {voiceURI: 'Google UK English Male', name: 'Google UK English Male', lang: 'en-GB', localService: false, default: false}

4: SpeechSynthesisVoice {voiceURI: 'Google español', name: 'Google español', lang: 'es-ES', localService: false, default: false}

5: SpeechSynthesisVoice {voiceURI: 'Google español de Estados Unidos', name: 'Google español de Estados Unidos', lang: 'es-US', localService: false, default: false}

6: SpeechSynthesisVoice {voiceURI: 'Google français', name: 'Google français', lang: 'fr-FR', localService: false, default: false}

7: SpeechSynthesisVoice {voiceURI: 'Google हिन्दी', name: 'Google हिन्दी', lang: 'hi-IN', localService: false, default: false}

8: SpeechSynthesisVoice {voiceURI: 'Google Bahasa Indonesia', name: 'Google Bahasa Indonesia', lang: 'id-ID', localService: false, default: false}

9: SpeechSynthesisVoice {voiceURI: 'Google italiano', name: 'Google italiano', lang: 'it-IT', localService: false, default: false}

10: SpeechSynthesisVoice {voiceURI: 'Google 日本語', name: 'Google 日本語', lang: 'ja-JP', localService: false, default: false}

11: SpeechSynthesisVoice {voiceURI: 'Google 한국의', name: 'Google 한국의', lang: 'ko-KR', localService: false, default: false}

12: SpeechSynthesisVoice {voiceURI: 'Google Nederlands', name: 'Google Nederlands', lang: 'nl-NL', localService: false, default: false}

13: SpeechSynthesisVoice {voiceURI: 'Google polski', name: 'Google polski', lang: 'pl-PL', localService: false, default: false}

14: SpeechSynthesisVoice {voiceURI: 'Google português do Brasil', name: 'Google português do Brasil', lang: 'pt-BR', localService: false, default: false}

15: SpeechSynthesisVoice {voiceURI: 'Google русский', name: 'Google русский', lang: 'ru-RU', localService: false, default: false}

16: SpeechSynthesisVoice {voiceURI: 'Google 普通话(中国大陆)', name: 'Google 普通话(中国大陆)', lang: 'zh-CN', localService: false, default: false}

17: SpeechSynthesisVoice {voiceURI: 'Google 粤語(香港)', name: 'Google 粤語(香港)', lang: 'zh-HK', localService: false, default: false}

18: SpeechSynthesisVoice {voiceURI: 'Google 國語(臺灣)', name: 'Google 國語(臺灣)', lang: 'zh-TW', localService: false, default: false}

length: 19
[[Prototype]]: Array(0) 

Steps For Installation of Edge on Ubuntu

1: Microsoft Edge is not available in 'Ubuntu Software Center' by default.
2:
3:
4:
5:
6:

In Microsoft Edge, We Have 93 Voices Available in Different Languages

>>> window.speechSynthesis.getVoices()

(93) [SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice, SpeechSynthesisVoice]

0: SpeechSynthesisVoice {voiceURI: 'Microsoft Adri Online (Natural) - Afrikaans (South Africa)', name: 'Microsoft Adri Online (Natural) - Afrikaans (South Africa)', lang: 'af-ZA', localService: false, default: true}

1: SpeechSynthesisVoice {voiceURI: 'Microsoft Mekdes Online (Natural) - Amharic (Ethiopia)', name: 'Microsoft Mekdes Online (Natural) - Amharic (Ethiopia)', lang: 'am-ET', localService: false, default: false}

2: SpeechSynthesisVoice {voiceURI: 'Microsoft Salma Online (Natural) - Arabic (Egypt)', name: 'Microsoft Salma Online (Natural) - Arabic (Egypt)', lang: 'ar-EG', localService: false, default: false}

3: SpeechSynthesisVoice {voiceURI: 'Microsoft Zariyah Online (Natural) - Arabic (Saudi Arabia)', name: 'Microsoft Zariyah Online (Natural) - Arabic (Saudi Arabia)', lang: 'ar-SA', localService: false, default: false}

4: SpeechSynthesisVoice {voiceURI: 'Microsoft Nabanita Online (Natural) - Bangla (Bangladesh)', name: 'Microsoft Nabanita Online (Natural) - Bangla (Bangladesh)', lang: 'bn-BD', localService: false, default: false}

5: SpeechSynthesisVoice {voiceURI: 'Microsoft Tanishaa Online (Natural) - Bengali (India)', name: 'Microsoft Tanishaa Online (Natural) - Bengali (India)', lang: 'bn-IN', localService: false, default: false}

6: SpeechSynthesisVoice {voiceURI: 'Microsoft Kalina Online (Natural) - Bulgarian (Bulgaria)', name: 'Microsoft Kalina Online (Natural) - Bulgarian (Bulgaria)', lang: 'bg-BG', localService: false, default: false}

7: SpeechSynthesisVoice {voiceURI: 'Microsoft Nilar Online (Natural) - Burmese (Myanmar)', name: 'Microsoft Nilar Online (Natural) - Burmese (Myanmar)', lang: 'my-MM', localService: false, default: false}

8: SpeechSynthesisVoice {voiceURI: 'Microsoft Joana Online (Natural) - Catalan (Spain)', name: 'Microsoft Joana Online (Natural) - Catalan (Spain)', lang: 'ca-ES', localService: false, default: false}

9: SpeechSynthesisVoice {voiceURI: 'Microsoft HiuMaan Online (Natural) - Chinese (Hong Kong)', name: 'Microsoft HiuMaan Online (Natural) - Chinese (Hong Kong)', lang: 'zh-HK', localService: false, default: false}

10: SpeechSynthesisVoice {voiceURI: 'Microsoft Xiaoxiao Online (Natural) - Chinese (Mainland)', name: 'Microsoft Xiaoxiao Online (Natural) - Chinese (Mainland)', lang: 'zh-CN', localService: false, default: false}

11: SpeechSynthesisVoice {voiceURI: 'Microsoft Yunyang Online (Natural) - Chinese (Mainland)', name: 'Microsoft Yunyang Online (Natural) - Chinese (Mainland)', lang: 'zh-CN', localService: false, default: false}

12: SpeechSynthesisVoice {voiceURI: 'Microsoft HsiaoChen Online (Natural) - Chinese (Taiwan)', name: 'Microsoft HsiaoChen Online (Natural) - Chinese (Taiwan)', lang: 'zh-TW', localService: false, default: false}

13: SpeechSynthesisVoice {voiceURI: 'Microsoft Gabrijela Online (Natural) - Croatian (Croatia)', name: 'Microsoft Gabrijela Online (Natural) - Croatian (Croatia)', lang: 'hr-HR', localService: false, default: false}

14: SpeechSynthesisVoice {voiceURI: 'Microsoft Vlasta Online (Natural) - Czech (Czech)', name: 'Microsoft Vlasta Online (Natural) - Czech (Czech)', lang: 'cs-CZ', localService: false, default: false}

15: SpeechSynthesisVoice {voiceURI: 'Microsoft Christel Online (Natural) - Danish (Denmark)', name: 'Microsoft Christel Online (Natural) - Danish (Denmark)', lang: 'da-DK', localService: false, default: false}

16: SpeechSynthesisVoice {voiceURI: 'Microsoft Dena Online (Natural) - Dutch (Belgium)', name: 'Microsoft Dena Online (Natural) - Dutch (Belgium)', lang: 'nl-BE', localService: false, default: false}

17: SpeechSynthesisVoice {voiceURI: 'Microsoft Colette Online (Natural) - Dutch (Netherlands)', name: 'Microsoft Colette Online (Natural) - Dutch (Netherlands)', lang: 'nl-NL', localService: false, default: false}

18: SpeechSynthesisVoice {voiceURI: 'Microsoft Natasha Online (Natural) - English (Australia)', name: 'Microsoft Natasha Online (Natural) - English (Australia)', lang: 'en-AU', localService: false, default: false}

19: SpeechSynthesisVoice {voiceURI: 'Microsoft Clara Online (Natural) - English (Canada)', name: 'Microsoft Clara Online (Natural) - English (Canada)', lang: 'en-CA', localService: false, default: false}

20: SpeechSynthesisVoice {voiceURI: 'Microsoft Neerja Online (Natural) - English (India)', name: 'Microsoft Neerja Online (Natural) - English (India)', lang: 'en-IN', localService: false, default: false}

21: SpeechSynthesisVoice {voiceURI: 'Microsoft Emily Online (Natural) - English (Ireland)', name: 'Microsoft Emily Online (Natural) - English (Ireland)', lang: 'en-IE', localService: false, default: false}

22: SpeechSynthesisVoice {voiceURI: 'Microsoft Abeo Online (Natural) - English (Nigeria)', name: 'Microsoft Abeo Online (Natural) - English (Nigeria)', lang: 'en-NG', localService: false, default: false}

23: SpeechSynthesisVoice {voiceURI: 'Microsoft Rosa Online (Natural) - English (Philippines)', name: 'Microsoft Rosa Online (Natural) - English (Philippines)', lang: 'en-PH', localService: false, default: false}

24: SpeechSynthesisVoice {voiceURI: 'Microsoft Leah Online (Natural) - English (South Africa)', name: 'Microsoft Leah Online (Natural) - English (South Africa)', lang: 'en-ZA', localService: false, default: false}

25: SpeechSynthesisVoice {voiceURI: 'Microsoft Sonia Online (Natural) - English (United Kingdom)', name: 'Microsoft Sonia Online (Natural) - English (United Kingdom)', lang: 'en-GB', localService: false, default: false}

26: SpeechSynthesisVoice {voiceURI: 'Microsoft Aria Online (Natural) - English (United States)', name: 'Microsoft Aria Online (Natural) - English (United States)', lang: 'en-US', localService: false, default: false}

27: SpeechSynthesisVoice {voiceURI: 'Microsoft Guy Online (Natural) - English (United States)', name: 'Microsoft Guy Online (Natural) - English (United States)', lang: 'en-US', localService: false, default: false}

28: SpeechSynthesisVoice {voiceURI: 'Microsoft Jenny Online (Natural) - English (United States)', name: 'Microsoft Jenny Online (Natural) - English (United States)', lang: 'en-US', localService: false, default: false}

29: SpeechSynthesisVoice {voiceURI: 'Microsoft Anu Online (Natural) - Estonian (Estonia)', name: 'Microsoft Anu Online (Natural) - Estonian (Estonia)', lang: 'et-EE', localService: false, default: false}

30: SpeechSynthesisVoice {voiceURI: 'Microsoft Blessica Online (Natural) - Filipino (Philippines)', name: 'Microsoft Blessica Online (Natural) - Filipino (Philippines)', lang: 'fil-PH', localService: false, default: false}

31: SpeechSynthesisVoice {voiceURI: 'Microsoft Noora Online (Natural) - Finnish (Finland)', name: 'Microsoft Noora Online (Natural) - Finnish (Finland)', lang: 'fi-FI', localService: false, default: false}

32: SpeechSynthesisVoice {voiceURI: 'Microsoft Charline Online (Natural) - French (Belgium)', name: 'Microsoft Charline Online (Natural) - French (Belgium)', lang: 'fr-BE', localService: false, default: false}

33: SpeechSynthesisVoice {voiceURI: 'Microsoft Sylvie Online (Natural) - French (Canada)', name: 'Microsoft Sylvie Online (Natural) - French (Canada)', lang: 'fr-CA', localService: false, default: false}

34: SpeechSynthesisVoice {voiceURI: 'Microsoft Denise Online (Natural) - French (France)', name: 'Microsoft Denise Online (Natural) - French (France)', lang: 'fr-FR', localService: false, default: false}

35: SpeechSynthesisVoice {voiceURI: 'Microsoft Ariane Online (Natural) - French (Switzerland)', name: 'Microsoft Ariane Online (Natural) - French (Switzerland)', lang: 'fr-CH', localService: false, default: false}

36: SpeechSynthesisVoice {voiceURI: 'Microsoft Sabela Online (Natural) - Galician (Spain)', name: 'Microsoft Sabela Online (Natural) - Galician (Spain)', lang: 'gl-ES', localService: false, default: false}

37: SpeechSynthesisVoice {voiceURI: 'Microsoft Ingrid Online (Natural) - German (Austria)', name: 'Microsoft Ingrid Online (Natural) - German (Austria)', lang: 'de-AT', localService: false, default: false}

38: SpeechSynthesisVoice {voiceURI: 'Microsoft Katja Online (Natural) - German (Germany)', name: 'Microsoft Katja Online (Natural) - German (Germany)', lang: 'de-DE', localService: false, default: false}

39: SpeechSynthesisVoice {voiceURI: 'Microsoft Leni Online (Natural) - German (Switzerland)', name: 'Microsoft Leni Online (Natural) - German (Switzerland)', lang: 'de-CH', localService: false, default: false}

40: SpeechSynthesisVoice {voiceURI: 'Microsoft Athina Online (Natural) - Greek (Greece)', name: 'Microsoft Athina Online (Natural) - Greek (Greece)', lang: 'el-GR', localService: false, default: false}

41: SpeechSynthesisVoice {voiceURI: 'Microsoft Dhwani Online (Natural) - Gujarati (India)', name: 'Microsoft Dhwani Online (Natural) - Gujarati (India)', lang: 'gu-IN', localService: false, default: false}

42: SpeechSynthesisVoice {voiceURI: 'Microsoft Hila Online (Natural) - Hebrew (Israel)', name: 'Microsoft Hila Online (Natural) - Hebrew (Israel)', lang: 'he-IL', localService: false, default: false}

43: SpeechSynthesisVoice {voiceURI: 'Microsoft Swara Online (Natural) - Hindi (India)', name: 'Microsoft Swara Online (Natural) - Hindi (India)', lang: 'hi-IN', localService: false, default: false}

44: SpeechSynthesisVoice {voiceURI: 'Microsoft Noemi Online (Natural) - Hungarian (Hungary)', name: 'Microsoft Noemi Online (Natural) - Hungarian (Hungary)', lang: 'hu-HU', localService: false, default: false}

45: SpeechSynthesisVoice {voiceURI: 'Microsoft Gudrun Online (Natural) - Icelandic (Iceland)', name: 'Microsoft Gudrun Online (Natural) - Icelandic (Iceland)', lang: 'is-IS', localService: false, default: false}

46: SpeechSynthesisVoice {voiceURI: 'Microsoft Gadis Online (Natural) - Indonesian (Indonesia)', name: 'Microsoft Gadis Online (Natural) - Indonesian (Indonesia)', lang: 'id-ID', localService: false, default: false}

47: SpeechSynthesisVoice {voiceURI: 'Microsoft Orla Online (Natural) - Irish(Ireland)', name: 'Microsoft Orla Online (Natural) - Irish(Ireland)', lang: 'ga-IE', localService: false, default: false}

48: SpeechSynthesisVoice {voiceURI: 'Microsoft Elsa Online (Natural) - Italian (Italy)', name: 'Microsoft Elsa Online (Natural) - Italian (Italy)', lang: 'it-IT', localService: false, default: false}

49: SpeechSynthesisVoice {voiceURI: 'Microsoft Nanami Online (Natural) - Japanese (Japan)', name: 'Microsoft Nanami Online (Natural) - Japanese (Japan)', lang: 'ja-JP', localService: false, default: false}

50: SpeechSynthesisVoice {voiceURI: 'Microsoft Siti Online (Natural) - Javanese (Indonesia)', name: 'Microsoft Siti Online (Natural) - Javanese (Indonesia)', lang: 'jv-ID', localService: false, default: false}

51: SpeechSynthesisVoice {voiceURI: 'Microsoft Sapna Online (Natural) - Kannada (India)', name: 'Microsoft Sapna Online (Natural) - Kannada (India)', lang: 'kn-IN', localService: false, default: false}

52: SpeechSynthesisVoice {voiceURI: 'Microsoft Aigul Online (Natural) - Kazakh (Kazakhstan)', name: 'Microsoft Aigul Online (Natural) - Kazakh (Kazakhstan)', lang: 'kk-KZ', localService: false, default: false}

53: SpeechSynthesisVoice {voiceURI: 'Microsoft Sreymom Online (Natural) - Khmer (Cambodia)', name: 'Microsoft Sreymom Online (Natural) - Khmer (Cambodia)', lang: 'km-KH', localService: false, default: false}

54: SpeechSynthesisVoice {voiceURI: 'Microsoft SunHi Online (Natural) - Korean (Korea)', name: 'Microsoft SunHi Online (Natural) - Korean (Korea)', lang: 'ko-KR', localService: false, default: false}

55: SpeechSynthesisVoice {voiceURI: 'Microsoft Keomany Online (Natural) - Lao (Laos)', name: 'Microsoft Keomany Online (Natural) - Lao (Laos)', lang: 'lo-LA', localService: false, default: false}

56: SpeechSynthesisVoice {voiceURI: 'Microsoft Everita Online (Natural) - Latvian (Latvia)', name: 'Microsoft Everita Online (Natural) - Latvian (Latvia)', lang: 'lv-LV', localService: false, default: false}

57: SpeechSynthesisVoice {voiceURI: 'Microsoft Ona Online (Natural) - Lithuanian (Lithuania)', name: 'Microsoft Ona Online (Natural) - Lithuanian (Lithuania)', lang: 'lt-LT', localService: false, default: false}

58: SpeechSynthesisVoice {voiceURI: 'Microsoft Marija Online (Natural) - Macedonian (Republic of North Macedonia)', name: 'Microsoft Marija Online (Natural) - Macedonian (Republic of North Macedonia)', lang: 'mk-MK', localService: false, default: false}

59: SpeechSynthesisVoice {voiceURI: 'Microsoft Yasmin Online (Natural) - Malay (Malaysia)', name: 'Microsoft Yasmin Online (Natural) - Malay (Malaysia)', lang: 'ms-MY', localService: false, default: false}

60: SpeechSynthesisVoice {voiceURI: 'Microsoft Sobhana Online (Natural) - Malayalam (India)', name: 'Microsoft Sobhana Online (Natural) - Malayalam (India)', lang: 'ml-IN', localService: false, default: false}

61: SpeechSynthesisVoice {voiceURI: 'Microsoft Grace Online (Natural) - Maltese (Malta)', name: 'Microsoft Grace Online (Natural) - Maltese (Malta)', lang: 'mt-MT', localService: false, default: false}

62: SpeechSynthesisVoice {voiceURI: 'Microsoft Aarohi Online (Natural) - Marathi (India)', name: 'Microsoft Aarohi Online (Natural) - Marathi (India)', lang: 'mr-IN', localService: false, default: false}

63: SpeechSynthesisVoice {voiceURI: 'Microsoft Pernille Online (Natural) - Norwegian (Bokmål, Norway)', name: 'Microsoft Pernille Online (Natural) - Norwegian (Bokmål, Norway)', lang: 'nb-NO', localService: false, default: false}

64: SpeechSynthesisVoice {voiceURI: 'Microsoft Latifa Online (Natural) - Pashto (Afghanistan)', name: 'Microsoft Latifa Online (Natural) - Pashto (Afghanistan)', lang: 'ps-AF', localService: false, default: false}

65: SpeechSynthesisVoice {voiceURI: 'Microsoft Dilara Online (Natural) - Persian (Iran)', name: 'Microsoft Dilara Online (Natural) - Persian (Iran)', lang: 'fa-IR', localService: false, default: false}

66: SpeechSynthesisVoice {voiceURI: 'Microsoft Zofia Online (Natural) - Polish (Poland)', name: 'Microsoft Zofia Online (Natural) - Polish (Poland)', lang: 'pl-PL', localService: false, default: false}

67: SpeechSynthesisVoice {voiceURI: 'Microsoft Francisca Online (Natural) - Portuguese (Brazil)', name: 'Microsoft Francisca Online (Natural) - Portuguese (Brazil)', lang: 'pt-BR', localService: false, default: false}

68: SpeechSynthesisVoice {voiceURI: 'Microsoft Raquel Online (Natural) - Portuguese (Portugal)', name: 'Microsoft Raquel Online (Natural) - Portuguese (Portugal)', lang: 'pt-PT', localService: false, default: false}

69: SpeechSynthesisVoice {voiceURI: 'Microsoft Alina Online (Natural) - Romanian (Romania)', name: 'Microsoft Alina Online (Natural) - Romanian (Romania)', lang: 'ro-RO', localService: false, default: false}

70: SpeechSynthesisVoice {voiceURI: 'Microsoft Svetlana Online (Natural) - Russian (Russia)', name: 'Microsoft Svetlana Online (Natural) - Russian (Russia)', lang: 'ru-RU', localService: false, default: false}

71: SpeechSynthesisVoice {voiceURI: 'Microsoft Sophie Online (Natural) - Serbian (Serbia)', name: 'Microsoft Sophie Online (Natural) - Serbian (Serbia)', lang: 'sr-RS', localService: false, default: false}

72: SpeechSynthesisVoice {voiceURI: 'Microsoft Thilini Online (Natural) - Sinhala (Sri Lanka)', name: 'Microsoft Thilini Online (Natural) - Sinhala (Sri Lanka)', lang: 'si-LK', localService: false, default: false}

73: SpeechSynthesisVoice {voiceURI: 'Microsoft Viktoria Online (Natural) - Slovak (Slovakia)', name: 'Microsoft Viktoria Online (Natural) - Slovak (Slovakia)', lang: 'sk-SK', localService: false, default: false}

74: SpeechSynthesisVoice {voiceURI: 'Microsoft Petra Online (Natural) - Slovenian (Slovenia)', name: 'Microsoft Petra Online (Natural) - Slovenian (Slovenia)', lang: 'sl-SI', localService: false, default: false}

75: SpeechSynthesisVoice {voiceURI: 'Microsoft Ubax Online (Natural) - Somali (Somalia)', name: 'Microsoft Ubax Online (Natural) - Somali (Somalia)', lang: 'so-SO', localService: false, default: false}

76: SpeechSynthesisVoice {voiceURI: 'Microsoft Elena Online (Natural) - Spanish (Argentina)', name: 'Microsoft Elena Online (Natural) - Spanish (Argentina)', lang: 'es-AR', localService: false, default: false}

77: SpeechSynthesisVoice {voiceURI: 'Microsoft Salome Online (Natural) - Spanish (Colombia)', name: 'Microsoft Salome Online (Natural) - Spanish (Colombia)', lang: 'es-CO', localService: false, default: false}

78: SpeechSynthesisVoice {voiceURI: 'Microsoft Dalia Online (Natural) - Spanish (Mexico)', name: 'Microsoft Dalia Online (Natural) - Spanish (Mexico)', lang: 'es-MX', localService: false, default: false}

79: SpeechSynthesisVoice {voiceURI: 'Microsoft Elvira Online (Natural) - Spanish (Spain)', name: 'Microsoft Elvira Online (Natural) - Spanish (Spain)', lang: 'es-ES', localService: false, default: false}

80: SpeechSynthesisVoice {voiceURI: 'Microsoft Tuti Online (Natural) - Sundanese (Indonesia)', name: 'Microsoft Tuti Online (Natural) - Sundanese (Indonesia)', lang: 'su-ID', localService: false, default: false}

81: SpeechSynthesisVoice {voiceURI: 'Microsoft Zuri Online (Natural) - Swahili (Kenya)', name: 'Microsoft Zuri Online (Natural) - Swahili (Kenya)', lang: 'sw-KE', localService: false, default: false}

82: SpeechSynthesisVoice {voiceURI: 'Microsoft Sofie Online (Natural) - Swedish (Sweden)', name: 'Microsoft Sofie Online (Natural) - Swedish (Sweden)', lang: 'sv-SE', localService: false, default: false}

83: SpeechSynthesisVoice {voiceURI: 'Microsoft Pallavi Online (Natural) - Tamil (India)', name: 'Microsoft Pallavi Online (Natural) - Tamil (India)', lang: 'ta-IN', localService: false, default: false}

84: SpeechSynthesisVoice {voiceURI: 'Microsoft Shruti Online (Natural) - Telugu (India)', name: 'Microsoft Shruti Online (Natural) - Telugu (India)', lang: 'te-IN', localService: false, default: false}

85: SpeechSynthesisVoice {voiceURI: 'Microsoft Premwadee Online (Natural) - Thai (Thailand)', name: 'Microsoft Premwadee Online (Natural) - Thai (Thailand)', lang: 'th-TH', localService: false, default: false}

86: SpeechSynthesisVoice {voiceURI: 'Microsoft Emel Online (Natural) - Turkish (Turkey)', name: 'Microsoft Emel Online (Natural) - Turkish (Turkey)', lang: 'tr-TR', localService: false, default: false}

87: SpeechSynthesisVoice {voiceURI: 'Microsoft Polina Online (Natural) - Ukrainian (Ukraine)', name: 'Microsoft Polina Online (Natural) - Ukrainian (Ukraine)', lang: 'uk-UA', localService: false, default: false}

88: SpeechSynthesisVoice {voiceURI: 'Microsoft Uzma Online (Natural) - Urdu (Pakistan)', name: 'Microsoft Uzma Online (Natural) - Urdu (Pakistan)', lang: 'ur-PK', localService: false, default: false}

89: SpeechSynthesisVoice {voiceURI: 'Microsoft Madina Online (Natural) - Uzbek (Uzbekistan)', name: 'Microsoft Madina Online (Natural) - Uzbek (Uzbekistan)', lang: 'uz-UZ', localService: false, default: false}

90: SpeechSynthesisVoice {voiceURI: 'Microsoft HoaiMy Online (Natural) - Vietnamese (Vietnam)', name: 'Microsoft HoaiMy Online (Natural) - Vietnamese (Vietnam)', lang: 'vi-VN', localService: false, default: false}

91: SpeechSynthesisVoice {voiceURI: 'Microsoft Nia Online (Natural) - Welsh (United Kingdom)', name: 'Microsoft Nia Online (Natural) - Welsh (United Kingdom)', lang: 'cy-GB', localService: false, default: false}

92: SpeechSynthesisVoice {voiceURI: 'Microsoft Thando Online (Natural) - Zulu (South Africa)', name: 'Microsoft Thando Online (Natural) - Zulu (South Africa)', lang: 'zu-ZA', localService: false, default: false}

length: 93
[[Prototype]]: Array(0)

Microsoft Edge: DevTools: Screenshots

English Voices in Microsoft Edge

Other Languages in Microsoft Edge

Tags: Technology,FOSS,Web Development,Natural Language Processing,JavaScript,