Skip to content

As part of my studies, I completed a final project - a voice assistant application that enables sending and reading of messages, the program is based on artificial intelligence technologies that enable this integrative solution.

Notifications You must be signed in to change notification settings

AlexanderBord/Voice-Translate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 

Repository files navigation

Voice Translate(AI based)

Android application that allows you to send and read messages using voice commands.

Built With

  • Text to speech : react-native-tts

  • Speech to text : react-native-voice

Installation

The program has a server side and a client side so we will need to perform separate installations.

Back End

Open first console in the main path VoiceTranslate \ server and install node modules with the command

  • npm install
  • then, enter the command node index.js to run the server.

Front End

Open a second console in the main path VoiceTranslate \ finalProject and install node modules with the command

  • npm install
  • then, enter the command npx react-native start to run the metro.

Open a third console in the main path VoiceTranslate \ finalProject and enter the command

  • npx react-native run-android to run the program.

Communication between back end and front end

To connect to a socket for communication between the server side and the client, enter an IPV4 address of the device, in line 15, in the following file - VoiceTranslate \ finalProject \ src \ screens \ AuthenticationScreen.js

In the next command

  • const socket = io ("http: // HERE: 3000");

Folder structure

Front End (FinalProject)

  • src
    • asyncStorage
    • components
      • AssistButton.js: main component, responsible for managing the main activity.
      • FloatingButton.js: component inside the home screen, used to display the settings and a logout button.
      • LoadingSpinner.js: cComponent responsible for the rotating spinner to display a user indication to the TTS output.
      • SoundWave.js: Wave animation component, will turn on when every time the TTS will stop (indication use).
    • dataBase:
      • FireBase.js: component responsible for the fireBase database.
    • images
    • router
      • RouterInitializer.js: responsible for booting the router using props and asynchronous storage.
      • Router.js: receive props as a parameter from the routeInitializer screen and route the user accordingly.
    • screens
      • AuthenticationScreen.js: responsible for linking the user to the messaging app.
      • HomeScreen.js: holds the following components - AssistButton and FloatingButton.
      • ReadManual.js: responsible for displaying the application manual in case of reading a message.
      • WriteManual.js: responsible for displaying the application manual in case of sending a message.
      • SettingsScreen.js: holds the features and the manual of the application.
      • SignIn.js: responsible for the user entering the application, works in front of the database.
      • SignUp.js: responsible for registering the user for the application using the database.
    • styles
    • utilities
      • assistButtonUtilities.js: contains Voice Assistant vocabulary, regular expressions, and user input comparison commands.

Back End (server)

  • dist: folder that holds the app site design.
  • index.js:responsible for the messaging app and the app website.

Link To Video

ezgif com-gif-maker

About

As part of my studies, I completed a final project - a voice assistant application that enables sending and reading of messages, the program is based on artificial intelligence technologies that enable this integrative solution.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published