A libre smart powered comic book reader for Android.

Overview

Seeneva

A libre smart powered comic book reader for Android.


Note: Current release should be considered as public beta.

Features

  • Smart speech balloons zooming. 💬
  • Speech balloons OCR and TTS. 👀
  • Supports CBZ (.zip), CBR (.rar) with limitations, CB7 (.7z), CBT (.tar) and PDF comic book archives.
  • Supports different image formats on any Android device.
  • View ComicRack metadata (from ComicInfo.xml file).
  • Supports Left-to-Right (LTR) and Right-to-Left (RTL) read directions.
  • Supports Android 4.1+ and all available Android ABIs arm64-v8a, armeabi-v7a, x86_64 and x86.
  • Smart functionality performs locally on the device.
  • Libre application under GPLv3 or later license.
  • No ads, no personal data collection.
  • Is it not enough? Hey, there is a bubble-whale on the icon! 🐋

Speech balloons zooming

Every time you add a new comic book into the app's library, it will scan each page to find all speech balloons on them using Machine Learning object detection model (based on YOLOv4-tiny).

Now you can easily zooming and navigate through comic book speech balloons no matter how small your screen:

Speech balloons zooming

Note:

  • Use high res page images for better recognition.
  • ML model was trained on ~10K speech balloons from modern comic books and manga. The result is really nice but sometimes you may encounter some issues with speech balloons order.

OCR and TTS

Seeneva comic book reader make it possible to use Optical Character Recognition (based on Tesseract) on all founded speech balloons to extract text from them. This will allow you to easily copy speech balloon's text and for example translate it using any available translator.

OCR

After every success OCR you can also use Text-To-Speech to convert speech balloon's text into synthesized human speech. You can use Seeneva like audio comic book reader.

Note:

  • Only English language is supported right now.
  • Any Android TTS engine should be installed on the device to use in-app TTS.
  • OCR was trained on ~2K of text lines primarily by Big Two Comics. The result is pretty good but different text fonts may be recognized worse or better than others (or not recognize at all).

Performance

Smart adding new comic book into the library might take a while. It is depends on your device CPU specifications, comic book archive type, pages count and their size. Here are some examples on real devices.

Device CBR (44 MB, 24 pages) CBR (103 MB, 78 pages)
Pixel 2 XL ~15s ~75s
Nexus 5 ~60s ~190s
Ainol Novo 7 Aurora II ~180s ~600s

Screenshots

What's next?

More smart features, new supported by OCR languages. Where are a lot of ideas to implement.

Here are some of them:

  • Tools for contributors to improve ML features.
  • Smart speech balloon text translation to another language.

Stay tuned!

Seeneva is a non-profit project, so there is no strong road map.

Contribution

  • Open an issue if you catch a bug.
  • Code contribution using Pull Request.
  • Help translate the app into new languages or correct current localization mistakes using Weblate.
  • Tell your friends about the app.
  • Also you can support the app by donation.

Translation

Translation status

Donate

Seeneva is a free and open source comic book reader without any income other than donations from users of the app.

If you like Seeneva comic book reader, you can donate to its future development. It will help to upgrade developer's dev machine to faster implement new features or rent cloud services required to train ML models.

So Seeneva will be smarter than ever! 🧠

Please remember that donations are totally voluntary. There is no any bonuses right now, except the developer appreciation. 😻

liberpay_button

qiwi_button

bitcoin_button


bc1qka05pst7ls9g
8fgdx4wvqr8fsjkwjkmj9jtcp0

nano_button


nano_1oyofpnaacs
wu4byr4iiw8uwiqt
hhq83w4fkhsaujsm
restxnf6mzaby86ig

ethereum_button


0xdBa3f438107208
837491885351deAB
00d66c718B

FAQ

Q: What does the Seeneva mean?

A: It is a modified Russian word "синева". Or this is a strange reference to Evangelion.

Q: Where can I download ML dataset?

A: You can't because of legal issues. Maybe there will be a way in the future.

Q: Why my comic book speech balloons zooming or OCR recognition results so poor?

A: Please try to use high resolution images. If it doesn't help then your comic book has unsupported speech balloon's shapes or fonts. This usually can be fixed by adding this comic book into ML training process. Also manga recognition is worse than comic book right now.

Q: What is the difference between Import and Link adding options?

A: Current adding process is not very clear and can confuse. It should be improved in future versions.

To clarify the difference:

  • Import - a comic book will be copied into app's internal folder. If you have a 100MB comic book and import it, you will have two identical files of 100MB each. The imported comic book is always available for the app.

  • Link - the app will request permanent read link to a comic book using Android's storage access framework. The requested comic book will be read from its source folder without any copy. This will help to save free space on a device. But. If you uninstall your file manager app which provided this permanent link, Seeneva will lose that link as result. Your comic book file won't be corrupted by Seeneva.

Q: Where I have to get digital comic books?

A: You can buy them, some comic books like Pepper&Carrot are libre. Anyway you can open any comic book by the app while its format is supported. Sorry, but Seeneva app ships without prebuild comic books.

Privacy Policy

Please read the PRIVACY document for more information.

License

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see .

Third party dependencies

List of used dependencies and their licenses can be found in the dependencies.json file. Full text of a license can be found in the license directory. Also you can view them in the "About app" screen.

Please let me know if any of a licenses has invalid information.

Other

  • Some examples and tests use pages from the great webcomic Pepper&Carrot licensed under CC BY 4.0.

  • Google Play and the Google Play logo are trademarks of Google LLC.

Comments
  • Translate readme to Japanese

    Translate readme to Japanese

    I would like to translate Seeneva's readme into Japanese, what should I do? Also, I translated the Seeeneva app into Japanese on weblate, so please add it.

    opened by kuragehimekurara1 6
  • How to guide?

    How to guide?

    Looked every where and cant work out how to import a comic to this app :(

    Your website uses the Pepper & Carrot web comic as an example, but can only find JPG files on: https://www.peppercarrot.com/en/

    Do you have a How-To setup guide with pictures for Pepper & Carrot please?

    opened by ObiSandwich 3
  • Slider exception while trying to open settings

    Slider exception while trying to open settings

    While reading any comic book (tested CBR, PDF and CBZ formats) with system brightness more than 20% and trying to open comic settings (tapping on gear icon), JVM trowing an exception: Seeneva_slider_exception.txt

    Because of system brightness slider value can be greater than the upper threshold, and this causes the problem.

    If one tries to use app brightness, it crashes: Seeneva_brightness_crash.txt

    App version: Seeneva 0.1.0-fdroid OS: Android 9, MIUI 11

    bug 
    opened by VBismuth 2
  • Feature request: 'keyboard' input

    Feature request: 'keyboard' input

    As mention in #78 , I managed to install Seeneva on Windows 11. The only input that the app can detect is mouse clicks which is equivalent to touch on regular Android devices.

    It would be nice if it could recognise left and right arrow inputs from the keyboard to move through the speech bubbles.

    However, WSA does have a setting (under Compatibility) where left and right arrows are used as left and right swipe. If I activate this, the arrows will scroll page by page, but I still need to use the mouse to move through the speech bubbles.

    Other issues with Seeneva on WSA is that I cannot open the settings (down swipe doesn't work). Other than that, the app, even TTS, works superbly.

    (Once again, thank you for the app!)

    opened by scribbleed 1
  • Translations update from Hosted Weblate

    Translations update from Hosted Weblate

    opened by weblate 1
  • Add option to Remove App Animations and Page Turn Animations

    Add option to Remove App Animations and Page Turn Animations

    It would be great to use this app on an E-Reader, so I propose.

    1. An option to disable animations app-wide for e-ink Or
    2. An option to disable animations for page turning and smart bubble
    enhancement 
    opened by JWayn596 1
  • Translations update from Hosted Weblate

    Translations update from Hosted Weblate

    opened by weblate 0
  • Translations update from Hosted Weblate

    Translations update from Hosted Weblate

    opened by weblate 0
  • Crash if you try to open settings dialog

    Crash if you try to open settings dialog

    1. Open settings dialog.
    2. Press on any switch.
    3. Crash.

    The reason is simple. I forgot to setup proguard for kotlinx.serialization.

    :disappointed_relieved:

    bug 
    opened by Zellius 0
  • Bubbles zoomed in the top left sometimes truncated

    Bubbles zoomed in the top left sometimes truncated

    While zoomed bubbles usually display completely even if they contain a lot of lines, they can sometimes appear truncated. For what I noticed, the problem is on the top left of the page, but maybe it's a coincidence.

    image20221226_115017018 image20221226_115050293

    opened by gbdomubpkm 0
  • pdf : pages are not read in order

    pdf : pages are not read in order

    Hello. First, thank you for your work on this great app. I just discovered and installed your reader today version 0.1.1 and i made some tests. For me, with two pdf comics, the pages are not displayed in order. Goes from page 1 to 11, then continues until the end of the book, then resumes on page 5... What about you?

    Works normally with a cbr file Regards

    opened by gbdomubpkm 0
  • Cannot import Invincible Compendium

    Cannot import Invincible Compendium

    Version: 0.1.1-Fdroid

    Types: CBR and CBZ

    Detail

    Doesn't import. App says processing, but it never goes anywhere. All 3 books the same.

    If it matters, each book is ~1.8GB a piece.

    adding 
    opened by Jake-Jensen 0
  • Android Compose + Kotlin Multiplatform

    Android Compose + Kotlin Multiplatform

    From the start of the project I was thinking about make it available on different platforms (Android and desktops at least). Now that it is possible using Compose Multiplatform and Kotlin. All ML processing is already cross platform thanks to Rust.

    The idea is:

    1. Completely rewrite Android UI using Android Compose.
    2. Implement UI and logic for Desktop platforms. I can start from Linux and MacOS implementations.

    Also the adding process should be rewritten.

    • [ ] #27
    • [ ] #41
    • [ ] #58
    enhancement 
    opened by Zellius 0
  • Feature request: Save the zoom from one page to another

    Feature request: Save the zoom from one page to another

    Would it be possible that when changing the page the zoom was preserved? It would also be nice to include the typical options to fit the width or length of the screen or always open the comic horizontally or vertically, regardless of the orientation of the device.

    adding 
    opened by fabrebatalla18 1
  • Provided comic book file doesn't have any pages

    Provided comic book file doesn't have any pages

    App version: 0.1.1

    Comic book file description

    • Type: CBR
    • Images formats: JPG
    • Has subfolders: I don't know
    • Link: not sure if it's legal to share

    Detail

    Whenever I try to import/link this particular comic (The Ring of the Nibelung - 1991) I get the aforementioned error message. Evince opens it just fine though.

    adding 
    opened by ThracianKnight1907 0
Releases(v0.1.1)
  • v0.1.1(Jul 18, 2022)

    Here is the new Seeneva version 0.1.1 :whale:

    New:

    • Added Norwegian (Bokmål), French, German, Italian, Spanish, Basque, Croatian, Polish, Portuguese, Chinese (Simplified) and Japanese translations. Thanks to contributors!

    Fix:

    • Crash when opening the settings screen. #42
    • Crash when trying to add an empty file to the library. #36
    • Crash when adding a new comic book on some Huawei devices. #25
    • Crash when quickly opening/closing the comics viewer screen on Android 9. #24

    What's Changed

    • F-Droid descriptions and graphics by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/6
    • Provide rust-toolchain file by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/7
    • Prepare to F-Droid by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/8
    • Fix F-Droid adding issues by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/9
    • Fix F-Droid issues by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/12
    • GitHub actions setup by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/13
    • Gradle wrapper changed to '--distribution-type all' by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/14
    • CI changes for a PR from a fork by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/18
    • Code contribution info by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/19
    • GitHub flow by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/21
    • Norwegian translation by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/22
    • updated docs by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/26
    • Set 'MissingTranslation' lint rule to warning level by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/29
    • Translations update from Weblate by @weblate in https://github.com/Seeneva/seeneva-reader-android/pull/28
    • Fix Weblate badge url by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/30
    • Removed Fastlane's default.txt file by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/32
    • Translations update from Weblate by @weblate in https://github.com/Seeneva/seeneva-reader-android/pull/37
    • Translations update from Weblate by @weblate in https://github.com/Seeneva/seeneva-reader-android/pull/38
    • Readme: Android permissions description by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/44
    • F-Droid badges were added by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/46
    • Prepare 0.1.1 release by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/49
    • Translations update from Weblate by @weblate in https://github.com/Seeneva/seeneva-reader-android/pull/57
    • Settings dialog fix by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/56
    • Update README.md by @clach04 in https://github.com/Seeneva/seeneva-reader-android/pull/69
    • Translations update from Hosted Weblate by @weblate in https://github.com/Seeneva/seeneva-reader-android/pull/74
    • Translations update from Hosted Weblate by @weblate in https://github.com/Seeneva/seeneva-reader-android/pull/76
    • Update dependencies by @Zellius in https://github.com/Seeneva/seeneva-reader-android/pull/77

    New Contributors

    • @weblate made their first contribution in https://github.com/Seeneva/seeneva-reader-android/pull/28
    • @clach04 made their first contribution in https://github.com/Seeneva/seeneva-reader-android/pull/69

    Full Changelog: https://github.com/Seeneva/seeneva-reader-android/compare/v0.1.0...v0.1.1

    Source code(tar.gz)
    Source code(zip)
    seeneva-0.1.1-gh-arm64-v8a.apk(18.13 MB)
    seeneva-0.1.1-gh-armeabi-v7a.apk(18.02 MB)
    seeneva-0.1.1-gh-universal.apk(26.10 MB)
    seeneva-0.1.1-gh-x86.apk(18.56 MB)
    seeneva-0.1.1-gh-x86_64.apk(18.55 MB)
Owner
Seeneva comic book reader
Main repositories of the Seeneva project
Seeneva comic book reader
A lightweight, simple, smart and powerful Android routing library.

RxRouter Read this in other languages: 中文, English A lightweight, simple, smart and powerful Android routing library. Getting started Setting up the d

Season 323 Nov 10, 2022
A smart colored time selector. Users can select just free time with a handy colorful range selector.

Colored Time Range Selector A smart colored time range selector. Users can select just free time with a handy colorful range selector. Screen Shots Fe

Ehsan Mehranvari 154 Oct 3, 2022
How to structure a growing Gradle project with smart dependency management?

How to set up a larger Gradle project This repo shows one possibility to structure a Gradle project when you want: Centralized and maintainable build

Jendrik Johannes 59 Jan 6, 2023
GBooks - A simple android app written in Kotlin to read books from the Google Book Api

G-Books A simple android app written in Kotlin to read books from the Google Boo

Google Developer Student Clubs - Baba Banda Singh Bahadur Engineering College 10 Nov 7, 2022
A highly customizable calendar library for Android, powered by RecyclerView.

CalendarView A highly customizable calendar library for Android, powered by RecyclerView. With this library, your calendar will look however you want

Kizito Nwose 3.4k Jan 3, 2023
:blowfish: An Android & JVM key-value storage powered by Protobuf and Coroutines

PufferDB PufferDB is a ⚡ key-value storage powered by Protocol Buffers (aka Protobuf) and Coroutines. The purpose of this library is to provide an eff

Adriel Café 94 Dec 7, 2022
Beautifully designed Pokémon Database app for Android based on PokéAPI and powered by Kotlin.

PokéFacts PokéFacts is an open-source Pokémon Database app for Android based on PokéAPI and powered by Kotlin. The app allows users to view Pokémons,

Arjun Mehta 9 Oct 22, 2022
Type-safe time calculations in Kotlin, powered by generics.

Time This library is made for you if you have ever written something like this: val duration = 10 * 1000 to represent a duration of 10 seconds(in mill

Kizito Nwose 958 Dec 10, 2022
MangaKu App Powered by Kotlin Multiplatform Mobile, Jetpack Compose, and SwiftUI

MangaKu ?? Introduction MangaKu App Powered by Kotlin Multiplatform Mobile, Jetpack Compose, and SwiftUI Module core: data and domain layer iosApp: io

Uwais Alqadri 132 Jan 8, 2023
On-device wake word detection powered by deep learning.

Porcupine Made in Vancouver, Canada by Picovoice Porcupine is a highly-accurate and lightweight wake word engine. It enables building always-listening

Picovoice 2.8k Dec 30, 2022
MyAndroidTools, but powered by Sui

MyAndroidTools 便捷地管理您的 Android 设备 简介 与另一款 MyAndroidTools 一样,本应用使你能够便捷地管理 Android 设备中的应用和组件。但与之不同的是,本应用通过 Sui 来调用高权限 API,所以不会在使用过程中频繁弹出 root 授权的 Toast

null 7 Sep 17, 2022
A discord bot made in Kotlin powered by JDA and Realms.

A discord bot made in Kotlin powered by JDA and Realms.

null 1 Jun 30, 2022
Android News Reader app. Kotlin Coroutines, Retrofit and Realm

News Reader Android News Reader app Code that follows Packt Publishing Kotlin in Practice Video Course Example of Kotlin Coroutine usage, with Realm a

Marko Devcic 22 Oct 3, 2022
KMM RSS Reader: an open-source, mobile, cross-platform application built with Kotlin Multiplatform Mobile.

KMM RSS Reader This is an open-source, mobile, cross-platform application built with Kotlin Multiplatform Mobile. It's a simple RSS reader, and you ca

Kotlin 1.4k Jan 4, 2023
Android MVVM framework write in kotlin, develop Android has never been so fun.

KBinding 中文版 Android MVVM framework write in kotlin, base on anko, simple but powerful. It depends on my another project AutoAdapter(A library for sim

Benny 413 Dec 5, 2022
Klimatic is an android app built using Kotlin. It try to showcase all the latest technologies used in android.

Klimatic Klimatic is an android app built using Kotlin. It try to showcase all the latest technologies used in android. Built using Android Architectu

Shivam Satija 34 Oct 11, 2022
Oratio Library for Android Studio helps you simplify your Android TTS codes

Oratio Oratio is a library for Android Studio. This library is useful to a number of developers who are currently making apps using android TTS(Text-T

Jacob Lim 1 Oct 28, 2021
This is a demo android app representing implementation of SE principles in android app development

Articles Demo This repository contains a sample Android App that shows most popular articles data from NY Times API. This is a sample app that shows h

Waesem Abbas 2 Jan 20, 2022
Android-Boilerplate - Base project for android development with new technology

Android-Boilerplate Base project for android development with new technology, in

Muhammad Rizky Arifin 1 Aug 15, 2022