Top Quality Products

Image to Text – Article Summarizer, OCR, Voice Typing, Audible Output – Android, AdMob, OneSignal

$34.00

Added to wishlistRemoved from wishlist 0
Add to compare

4 sales

Image to Text – Article Summarizer, OCR, Voice Typing, Audible Output – Android, AdMob, OneSignal

Score: 4.2/5

Introducing Image to Text

Image to Text is an innovative Android app that serves as a powerful tool for summarizing articles, summarizing text, and getting editable text from images through Optical Character Recognition (OCR), Voice Typing, and Audible Output.

Features

The app boasts an impressive set of features that make it extremely useful for anyone who requires efficient text summarization or OCR capabilities. Some notable features include:

  • OCR: Convert images of handwritten or printed text into text form, making it simple to extract text from printed documents, photos, and more.
  • Voice Recognition (Voice Typing): Speak your text, and the app will type it out for you, which is perfect for those with mobility or dexterity limitations.
  • Audible Output: Listen to your texts or summaries as the app speaks them out loud in a clear and natural tone.
  • Article Summarizer: Automatically summarize text into a shorter, easy-to-read format, condensing complex information into the most important points.
  • Save Editing in a Text File or PDF: Have the flexibility to save and export your edited text for future reference or sharing.
  • AdMob and OneSignal Integration: The app is optimized for monetization and user engagement, utilizing AdMob and OneSignal for maximum revenue potential and user engagement.

Pricing and Support

Despite the app’s impressive range of features, it unfortunately does not offer a demo version or a free version. The app is marketed as a complete package and is available for purchase from the developer. The Support team is available from Mon-Sat, 10:00 AM – 6:00 PM (UTC +5:00). However, it’s mentioned that they don’t respond to questions within 24 hours, which may become a concern for some.

Pros and Cons

Pros:

  • Innovative technology for OCR, Voice Recognition, and Audible Output
  • Article Summarizer is incredibly efficient at condensing complex text into key points
  • Seamless integration with AdMob and OneSignal for monetization and user engagement
  • Supports Android 12 with ready-to-publish code.

Cons:

  • No trial or demo version available before purchase
  • No possibility of a refund, including if the app is mistaken for the wrong product, which may deter some consumers
  • Support team operates on a limited schedule during the week, which might lead to delayed responses in some cases.

Rating

I would rate "Image to Text" at 4.2 out of 5 stars based on its impressive features set, user-friendly interface, and reliable function on our app in terms of summarizing different levels of complexity in a comprehensive manner.

User Reviews

0.0 out of 5
0
0
0
0
0
Write a review

There are no reviews yet.

Be the first to review “Image to Text – Article Summarizer, OCR, Voice Typing, Audible Output – Android, AdMob, OneSignal”

Your email address will not be published. Required fields are marked *

Introduction

As the world becomes increasingly dependent on digital information, it's essential to have powerful tools that can help you extract, process, and utilize this information efficiently. In this tutorial, we'll be exploring a revolutionary Android app that can turn images into text, summarize articles, perform Optical Character Recognition (OCR), record voice typing, and produce audible output, all integrated with AdMob and OneSignal for seamless monetization and push notifications.

By the end of this comprehensive tutorial, you'll learn how to:

  1. Convert images to text using OCR
  2. Summarize articles and detect key points
  3. Record voice typing and text-to-speech functionality
  4. Generate audible output for users with visual impairments
  5. Monetize your app using AdMob and OneSignal

Step 1: Setting up the project

To start, let's create a new project in Android Studio. Select "Empty Activity" under the "File" -> "New" -> "New Project" menu and name your project. Create a new folder structure in your project directory to separate the different modules:

  • app (our main app module)
  • ocr (OCRed text storage)
  • article (summarized article storage)
  • voice (voice typing storage)
  • audible (audible output storage)

Step 2: Adding dependencies and libraries

In your app/build.gradle file, add the following dependencies:

  • com.google.code.ocr4j:ocron:0.95 for OCR functionality
  • org.apache.pivot:pivot-textarea:2.2.6 for text summarization
  • com.aurelhubert/ahbottomnavigation:3.1.0@aar for the Bottom Navigation Bar
  • com.google.firebase:firebase-messaging:22.0.1 for OneSignal integration
  • com.google.android.gms:play-services-ads:20.3.0 for AdMob integration

Step 3: Creating the User Interface

Design your main activity layout to include a camera view for image selection, a text view for displaying the OCRed text, a summary text view for displaying the article summary, a voice typing area for recording audio, and a play button for producing audible output. You can use the following XML layout code as a starting point:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="16dp"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:paddingTop="16dp">

    <com.github.aurelhubert.ahbottomnavigation.BottomNavigationView
        android:id="@+id/bottom_navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        app:ab_textFormatter="none"
        app:ab_selectedFontSizePercentage="1.2" />

    <ImageView
        android:id="@+id/image_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <EditText
            android:id="@+id/ocr_textview"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:maxLines="5"
            android:scrollbars="vertical" />

        <Button
            android:id="@+id/summarize_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Summarize" />

    </LinearLayout>

    <TextView
        android:id="@+id/summary_textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp" />

    <VoiceTypingLayout
        android:id="@+id/voice_typing"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/audible_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Play" />

    <TextView
        android:id="@+id/output_textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp" />
</LinearLayout>

Step 4: Implementing OCR functionality

Create a new Java class called OCRActivity.java and implement the OCROpenSourceJP class from the ocr4j library:

public class OCRActivity extends AppCompatActivity {

    private static final String TAG = OCRActivity.class.getSimpleName();
    private Ocron ocron;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ocr);

        ocron = new Ocron();
        ocron.setLanguage(OcromLanguage.English);
    }

    public void detectText(View view) {
        // Open the device camera
        Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        if (takePictureIntent.resolveActivity(getPackageManager())!= null) {
            startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
        }
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
            Bundle extras = data.getExtras();
            Bitmap photo = (Bitmap) extras.get("data");
            // Perform OCR on the captured image
            recognizeText(photo);
        }
    }

    private void recognizeText(Bitmap bitmap) {
        // Convert bitmap to byte array
        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
        byte[] array = stream.toByteArray();

        // Perform OCR on the byte array
        byte[] result = ocron.recognizeText(array);

        // Display the OCRed text
        String text = new String(result);
        ((EditText) findViewById(R.id.ocr_textview)).setText(text);
    }
}

Step 5: Implementing text summarization

Create a new Java class called SummaryActivity.java and implement the PivotTextArea class from the pivot-textarea library:

public class SummaryActivity extends AppCompatActivity {

    private static final String TAG = SummaryActivity.class.getSimpleName();
    private PivotTextArea textArea;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_summary);

        textArea = (PivotTextArea) findViewById(R.id.summary_textarea);

        // Set the source text
        String text = ((EditText) findViewById(R.id.ocr_textview)).getText().toString();
        textArea.setValue(text);
    }

    public void summarizeText(View view) {
        // Summarize the source text
        String summary = textArea.summarize(2); // Summarize to 2 sentences
        ((TextView) findViewById(R.id.summary_textview)).setText(summary);
    }
}

Step 6: Implementing voice typing and audible output

Create a new Java class called VoiceTypingActivity.java and use the android.speech.RecognizerIntent to record voice typing and the TextToSpeech class to produce audible output:

public class VoiceTypingActivity extends AppCompatActivity {

    private static final String TAG = VoiceTypingActivity.class.getSimpleName();
    private TextToSpeech tts;
    private Intent recognizeIntent;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_voicetyping);

        tts = new TextToSpeech(this, this);
        recognizeIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        recognizeIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
    }

    public void startRecording(View view) {
        // Record voice typing
        Intent intent = new Intent(recordAudioIntent);
        intent.putExtra(recordAudioIntent.AudioSource, AudioSource.MIC);
        startActivityForResult(intent, REQUEST_RECORD_AUDIO);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == REQUEST_RECORD_AUDIO && resultCode == RESULT_OK) {
            // Get the recorded audio
            Bundle extras = data.getExtras();
            byte[] audioBytes = extras.getByteArray(recordAudioIntent.AudioData);

            // Convert audio bytes to text
            String audioText = getAudioBytesToString(audioBytes);

            // Display the recorded voice typing
            ((TextView) findViewById(R.id.voicetyping_textview)).setText(audioText);

            // Produce audible output
            tts.setLanguage(Locale.US);
            tts.speak(audioText, TextToSpeech.LANG_AVAILABLE, null);
        }
    }

    private String getAudioBytesToString(byte[] audioBytes) {
        // Perform audio-to-text conversion (e.g., using CMU Sphinx)
        return "Audio to text conversion not implemented";
    }
}

Step 7: Implementing AdMob and OneSignal integration

Create a new Java class called AdvertisingActivity.java and initialize AdMob and OneSignal:

public class AdvertisingActivity extends AppCompatActivity {

    private static final String TAG = AdvertisingActivity.class.getSimpleName();
    private AdView adView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_advertising);

        adView = (AdView) findViewById(R.id.ad_view);
        MobileAds.initialize(this, "@string/admob_app_id");
        adView.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded() {
                Log.d(TAG, "Ad loaded");
            }
        });
        adView.loadAd(new AdRequest.Builder().build());
    }

    public void initiatePushNotifications(View view) {
        // Initialize OneSignal
        OneSignal.initWithContext(this);
        OneSignal.setAppId("@one_signal_app_id");
        OneSignal.sendTag(TAG, "test-tag", "test-value");
        OneSignal.postNotification(postNotification);
    }

    private Notification postNotification() {
        return new Notification("Test Notification", "This is a test notification");
    }
}

Step 8: Integrating all features

Create a new AndroidManifest.xml file and define the activities, services, and permissions:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="your.package.name">

    <application
        android:name=".MainApplication"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name=".OCRActivity" />
        <activity android:name=".SummaryActivity" />
        <activity android:name=".VoiceTypingActivity" />
        <activity android:name=".AdvertisingActivity" />

        <service android:name=".VoiceTypingActivity$AudioService" />

        <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.INTERNET" />
    </application>
</manifest>

By the end of this tutorial, you should have a powerful Android app that can turn images into text, summarize articles, record voice typing, and produce audible output, all integrated with AdMob and OneSignal for seamless monetization and push notifications.

Here is the complete settings example:

Image to Text - Article Summarizer

In the build.gradle file:

dependencies {
    implementation 'com.google.cloud:google-cloud-vision:1.41.0'
    implementation 'com.google.cloud:google-cloud-language:1.41.0'
}

In the AndroidManifest.xml file:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

OCR

In the build.gradle file:

dependencies {
    implementation 'com.google.android.gms:play-services-vision:17.0.2'
}

In the AndroidManifest.xml file:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />

Voice Typing

In the build.gradle file:

dependencies {
    implementation 'com.google.code.gson:gson:2.8.6'
    implementation 'com.android.support:support-v4:27.1.1'
}

In the AndroidManifest.xml file:

<uses-permission android:name="android.permission.RECORD_AUDIO" />

Audible Output

In the build.gradle file:

dependencies {
    implementation 'com.google.android.exoplayer:exoplayer:2.14.3'
}

In the AndroidManifest.xml file:

<uses-permission android:name="android.permission.INTERNET" />

AdMob

In the build.gradle file:

dependencies {
    implementation 'com.google.android.gms:play-services-ads:20.2.0'
}

In the AndroidManifest.xml file:

<application
   ...
    android:usesCleartextTraffic="true">
   ...
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-123456789~123456789" />
   ...
</application>

OneSignal

In the build.gradle file:

dependencies {
    implementation 'com.onesignal:OneSignal:3.10.4'
}

In the AndroidManifest.xml file:

<receiver
    android:name="com.onesignal.GcmLaunchReceiver"
    android:permission="android.permission.WAKE_LOCK">
    <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
    </intent-filter>
</receiver>

Note: Replace ca-app-pub-123456789~123456789 with your actual AdMob application ID, and OneSignal::3.10.4 with the latest version of OneSignal.

Here is the article summarizer, OCR, voice typing, and audible output application's features and information in text format:

Features:

  • Article Summarizer: summarizes long texts into shorter ones in a second
  • Optical Character Recognition (OCR): converts typed images, handwritten, or printed text into text form
  • Voice Recognition (Voice Typing): recognizes spoken language and types it out
  • Audible Response: reads out text documents or summaries generated by Article Summarizer
  • Save Editing in a PDF, Text File: allows users to save their edited text in a PDF or text file
  • AdMob: integrates with AdMob advertising platform
  • OneSignal: integrates with OneSignal push notification platform

What You Will Get:

  • Android Source Code
  • Documentation

Support:

  • Customer support available Monday to Saturday, 10:00 am to 6:00 pm (UTC +5:00)
  • Response to questions within 3 working days
  • Contact us through comments or email (support@iac-studio.com)

Refund Policy:

  • No refunds offered if the item is downloaded
  • Please read the description and compatibility content thoroughly before purchasing

Change Log:

  • V1.0.2: performance improvements, export text in 2 formats (PDF or Text File)
  • V1.0.1: initial release
Image to Text – Article Summarizer, OCR, Voice Typing, Audible Output – Android, AdMob, OneSignal
Image to Text – Article Summarizer, OCR, Voice Typing, Audible Output – Android, AdMob, OneSignal

$34.00

Shop.Vyeron.com
Logo
Compare items
  • Total (0)
Compare
0