# Mathematical Background and Algorithms of a Collection of Android Apps for a Google Play Store Page
## 3 Problem Solving
### Vocal SMS Writing and Reading App for Visually Impaired People  
The methodology of creating the voice SMS app is to first study mathematical aspects such as the spectrogram of the audio signal and then implement all the findings in the mobile phone app. The scientific impact of the vocal SMS application advances the research fields of speech recognition, natural language processing, human-computer interaction, accessibility, cybersecurity, and behavioral linguistics. It also enhances AI-driven communication, fosters digital inclusion, and optimizes data communication. In addition, it helps to advance multilingual technologies. An app is needed for visually impaired people to use SMS functionalities vocally; a solution would be this vocal SMS app. The creation method and the mathematical background will be presented next. This Android application creates text when recording, sends it as an SMS message, and reads the received SMS messages using text-to-speech software. The aim is to accelerate the composition of SMS messages, which is helpful when the user is in a hurry or driving a vehicle, or for visually impaired people. The application loads all contacts into a list, but additionally, a contact can be searched (with a speech command as well). When the user long-presses a contact, recording starts immediately. To end the recording, the user should stop speaking or remove the mobile device from near the mouth. If the result is not satisfactory, the recording can be repeated. The recording result will be better if the default language of the mobile device is set to the spoken language. When the message is OK, it can be sent via an SMS message or copied to the clipboard to send it through other messaging applications. The received SMS message can also be read aloud with text-to-speech software, so the user can hear the message rather than read it. When the user wants to answer a received message, they can simply long-press on the contact name from the received SMS pop-up. The application needs an Internet connection. It needs Internet to run the speech-to-text and text-to-speech engine from Google. The implication is that if the user has no Internet access, the app cannot work. This exception was handled, so the app will not crash, but an error message that says that the app cannot work without an Internet connection will pop up. Algorithm 1 shows the most important steps of the vocal SMS app. Figure 1 shows the flowchart of the vocal SMS app. All SMS messages are saved in the SMS database of the mobile device. The application shows only the current SMS, not all old messages. Older SMS messages can be read from the default SMS application on the mobile device. When the application is installed, the application must become the default SMS application on the mobile device by tapping OK on the initial pop-up message. This can be easily changed by tapping on OK in the default SMS application. Everything is stored on the user's mobile device, so the user should not worry about the data being present in any other third-party servers. The goalof this application is to make SMS writing similar to normal phone talk and to reduce the writing time. The user must make text to speech functional on their mobile device and configure the Google text-to-speech engine in their language of choice. ```
1:procedureConvertSpeechToText(audioInput)
2: audioData \(\leftarrow\) CaptureAudio(audioInput)
3: processedAudio \(\leftarrow\) PreprocessAudio(audioData)
4: textOutput \(\leftarrow\) SpeechRecognition(processedAudio)
5:if textOutput is valid then
6: Return textOutput
7:else
8: Return \"Error: Could not transcribe speech\"
9:endif
10:endprocedure
```  
**Algorithm 1** Speech-to-text conversion in vocal SMS app. The sending of voice messages can be represented with the following functions. \[\text{RecordVoiceMessage}()\]  
This function starts the voice message recording process. Figure 1: Flowchart of the vocal SMS app. PlayVoiceMessage(message)  
This function plays the voice message that was received.