ListenLenseWeb is a web application designed to facilitate the importing, reading, and audio playback of text files with synchronized sentence and paragraph highlighting. The application tracks user progress and provides features such as auto-scroll and dark mode for enhanced usability.
- Workspace Management: Create and manage multiple workspaces to organize your text files.
- Text-to-Speech Integration: Convert text files into audio using Amazon Polly.
- Synchronized Highlighting: Sentences and paragraphs are highlighted as the audio plays.
- Progress Tracking: Automatically tracks playback progress and last accessed time for each file.
- Customizable Player:
- Skip backward/forward controls.
- Adjustable playback speed.
- Auto-scroll and dark mode toggles.
- .NET 8.0 SDK
- AWS Account with Polly enabled.
- A supported browser for running the application.
-
Clone the Repository:
git clone https://github.com/your-username/ListenLenseWeb.git cd ListenLenseWeb -
Install Dependencies: Restore NuGet packages:
dotnet restore
-
Configure AWS Credentials: Create an
appsettings.jsonfile or use environment variables to configure AWS credentials:{ "AWS": { "AccessKey": "<your-access-key>", "SecretKey": "<your-secret-key>", "Region": "<your-region>" } } -
Run the Application:
dotnet run
-
Access the Application: Open your browser and navigate to
http://localhost:5066.
.
├── App_Data # Contains workspace and progress files (excluded from Git)
├── Controllers # MVC controllers
├── Models # Data models for workspace and file tracking
├── Services # AWS Polly and workspace services
├── Views # Razor views for rendering HTML
├── wwwroot # Static files (CSS, JS, etc.)
├── appsettings.json # Configuration file (excluded from Git)
└── Program.cs # Entry point of the application
- Navigate to the home page.
- Click "Create Workspace" and enter a name.
- Click on an existing workspace.
- Use the file upload form to import a
.txtfile. - The file will be converted to audio and a JSON file will be generated for highlighting.
- In a workspace, click "Read/Listen" next to a file.
- The player will load with synchronized text highlighting and playback.
- Use the controls to adjust playback speed, skip, toggle auto-scroll, or enable dark mode.
Contributions are welcome! To get started:
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature-name
- Commit your changes:
git commit -m "Description of changes" - Push to your fork and submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
- Amazon Polly for text-to-speech services.
- Bootstrap for frontend styling.
Happy listening and reading!