SyncSpeak is a React Native app designed for playing audio alongside an interactive transcript. The app highlights phrases in real-time as the audio progresses and offers user-friendly playback controls.
- Interactive Transcripts: Displays phrases with speaker names, highlighting each in sync with the audio playback.
- Playback Controls:
- Play/Pause: Start: or pause the audio at any point.
- Next Phrase: Skip: to the beginning of the next phrase.
- Previous Phrase: Return to the beginning of the current phrase, or the previous one if already at the start.
- Volume Control Slider: Adjust the playback volume.
- Audio Progress Bar: Displays current playback progress and supports manual sliding to different positions.
- Phrase Jump: Click on a phrase to jump directly to that part of the audio.
You can access the deployed web version of the app here: Deployed Web Version
Note: For the best experience, use a desktop browser with responsive mode enabled.
Follow these steps to set up the project locally:
Ensure you have the following installed:
- Node.js (v18 or later)
- npm or yarn: Comes with Node.js, or install separately.
- Java Development Kit (JDK): Required for Android development. Install JDK
- Android Studio: For Android emulator and tools. Install Android Studio
- Xcode (macOS only): Required for iOS development on macOS. Install Xcode
- CocoaPods (macOS only): Required for managing iOS native dependencies. Install it with:
sudo gem install cocoapods
- React Native CLI: Install globally:
npm install -g react-native-cli
git clone https://github.com/ebokhyan/react-native-sync-speak.git SyncSpeak
cd SyncSpeak
Run the following command to install all necessary dependencies:
npm install
iOS-Specific Step: Install CocoaPods Dependencies:
cd ios
pod install
Return to the root project directory after installation:
cd ..
For Android:
- Start the Metro bundler:
npm start
- Run the app on an Android device or emulator:
npm run android
For iOS:
- Start the Metro bundler:
npm start
- Run the app on an iOS device or simulator:
npm run ios