this post was submitted on 16 Dec 2024
124 points (96.3% liked)

Open Source

31786 readers
137 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
top 23 comments
sorted by: hot top controversial new old
[–] utopiah@lemmy.ml 50 points 2 weeks ago* (last edited 1 week ago) (1 children)

FWIW if you are interested in such tooling consider also soffice and pandoc which have (as far as I can tell) similar features but have been existing for years now and are not related to Microsoft.

Edit: not related to Microsoft AND Google, seems the transcription aspect (which IMHO is still weird in that context but OK) is done via Google servers, cf https://lemmy.ml/post/23629310/15586865

[–] haverholm@kbin.earth 7 points 2 weeks ago (1 children)

The single exception to this (which is actually buried fairly deep in the feature list) is the audio transcription tool. I didn't take a closer look at what is used to perform this, but at least it's not "just" document conversion like pandoc.

[–] utopiah@lemmy.ml 5 points 2 weeks ago (2 children)

audio transcription tool

Thanks for the clarification but I'm a bit confused here, like audio transcription, STT, done by e.g. Whisper? If so what's the use case? When I think of Office documents audio transcription is not something I have in mind.

[–] utopiah@lemmy.ml 3 points 2 weeks ago (1 children)
[–] JackbyDev@programming.dev 1 points 2 weeks ago

You should open a fresh issue for questions like that instead of asking on an unrelated one.

[–] haverholm@kbin.earth 2 points 2 weeks ago

I'm not completely clear either on how Microsoft have implemented this previously. As I said, I didn't look very deep into the repository.

If these are indeed other Python projects they piled together, as others suggest, I'd be happy to hear what speech recognition library this might've built on.

[–] davel@lemmy.ml 11 points 2 weeks ago* (last edited 1 week ago) (1 children)

Huh, Beautiful Soup is still relevant. I was using it twenty years ago when it first came out.

[–] charles@lemmy.ca 1 points 1 week ago (1 children)

FYI the link in your comment got cut off before the last bracket so it's not linking to the wiki page directly.

[–] davel@lemmy.ml 2 points 1 week ago

Fixed, thanks. Though it's 4 days later, so I'm not sure it will help anyone 🤷

[–] ksynwa@lemmygrad.ml 10 points 2 weeks ago (2 children)

This could be useful to me. A while ago I was trying to make something that take all unread posts from my feed reader, make an epub out of them and then put it behind an OPDS server.

I found converting HTML from RSS to first markdown and then compiling them to an epub the most reliable way to take out the unnecessary markup from the source HTML. I used pandoc for this.

[–] yogthos@lemmy.ml 5 points 2 weeks ago

oh yeah that's definitely a good use case

[–] utopiah@lemmy.ml 4 points 2 weeks ago

I used pandoc for this.

Please come back and share if it's done better or worst and if so along which dimensions. Quite curious to better understand the differences.

[–] hexaflexagonbear@hexbear.net 7 points 2 weeks ago (1 children)

Oh wow, this might actually be incredibly useful

[–] Max_P@lemmy.max-p.me 7 points 2 weeks ago* (last edited 1 week ago) (2 children)

~Not really. All the features of that tool are basic functions we've had before LibreOffice was still OpenOffice.~

~Since this converts to Markdown, it's inherently a very lossy conversion. What's hard to pull off is preserve the full formatting when converting to an odt or something.~

Someone pointed out it doesn't just convert word documents to Markdown, it can also transcribe and OCR, so I guess it does have some usefulness!

[–] davel@lemmy.ml 9 points 2 weeks ago (2 children)

In your saying this isn’t useful, you’re making a lot of assumptions about how someone might want to use this.

  • They may not care that it is lossy in the way that it is lossy.
  • They may want a CLI tool instead of a GUI tool.
  • They may want it as a Python library rather than as a stand-alone tool.
[–] vort3@lemmy.ml 3 points 2 weeks ago

I convert from docx to md specifically with the purpose of getting rid of Microsoft formatting aka almost converting to plaintext but preserve at least some structure.

[–] utopiah@lemmy.ml 2 points 2 weeks ago

soffice works as CLI, can be called from Python and has plenty of related tooling, e.g. https://pypi.org/project/unoserver/ so I agree, I'm confused at what's actually novel and better than that or even dedicated long lasting FLOSS projects like pandoc.

[–] django@discuss.tchncs.de 3 points 2 weeks ago (1 children)

I like libreoffice, but converting audio files to markdown must be a pretty recent feature, for I never heard of it before being part of libreoffice.

[–] utopiah@lemmy.ml 2 points 2 weeks ago (1 children)

converting audio files to markdown must be a pretty recent feature

Quite curious... does it actually do that and if so how? Because STT to get a plaintext file or subtitle (so with timing) has been available via e.g. Whisper quite efficiently for a while now. If this though does do more, e.g. structure (differentiating a title, list, etc) I'd like to learn how.

[–] django@discuss.tchncs.de 3 points 1 week ago (1 children)

There is nothing special going on. This whole project is just a bunch of python libraries coupled together to a cli tool. It uses the package SpeechRecognition to connect to the google speech recognition api: https://github.com/microsoft/markitdown/blob/main/src/markitdown/_markitdown.py#L691

Pretty uninteresting and a bit disappointing. Pandoc is a lot more interesting.

[–] utopiah@lemmy.ml 1 points 1 week ago (1 children)

Thanks for the clarification. I checked the code you linked and noticed recognize_google and seems it's relying on https://github.com/Uberi/speech_recognition which then seems to rely on https://github.com/Uberi/speech_recognition/blob/master/speech_recognition/recognizers/google.py so basically are they using an API, sending all the audio data to Google servers?

[–] django@discuss.tchncs.de 1 points 1 week ago (1 children)

Yes, this is how I read it as well. The library would support to use a local model, but they decided to just send the audio data to Google.

[–] utopiah@lemmy.ml 3 points 1 week ago

Might open up a GDPR related issue there. I don't think people using such a library assume they need connectivity nor that their data would be send to a 3rd party.