Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
135 changes: 109 additions & 26 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,30 +1,113 @@
__pycache__/
*.pyc
*.pyo
*.egg-info/
*.egg
# Dependencies
**/node_modules
.pnpm-store/

# Build outputs
dist/
build/
.venv/
*.dist

# Environment variables
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# IDE and editor files
.vscode/
.idea/
*.swp
*.swo
*~

# OS generated files
.DS_Store
.pytest_cache/
.mypy_cache/
.ruff_cache/
*.so
/.cache*
/exp*/
/.tmp/
/results/
/data/
/download
/local/
/run*
example.py
results/
examples/data*
examples/download*
examples/exp*
.claude/
*.wav
*.jsonl
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Coverage directory used by tools like istanbul
coverage/
*.lcov

# nyc test coverage
.nyc_output

# Dependency directories
jspm_packages/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next

# Nuxt.js build / generate output
.nuxt

# Gatsby files
.cache/

# Storybook build outputs
.out
.storybook-out

# Temporary folders
tmp/
temp/

# Database
*.db
*.sqlite
*.sqlite3

# Webdev artifacts (checkpoint zips, migrations, etc.)
.webdev/

# Manus version file (auto-generated, not part of source)
client/public/__manus__/version.json
.project-config.json
5 changes: 5 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
dist
node_modules
.git
*.min.js
*.min.css
15 changes: 15 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"semi": true,
"trailingComma": "es5",
"singleQuote": false,
"printWidth": 80,
"tabWidth": 2,
"useTabs": false,
"bracketSpacing": true,
"bracketSameLine": false,
"arrowParens": "avoid",
"endOfLine": "lf",
"quoteProps": "as-needed",
"jsxSingleQuote": false,
"proseWrap": "preserve"
}
162 changes: 162 additions & 0 deletions LAUNCH_INSTRUCTIONS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
# Hebrew Transcription App - Launch Instructions

Welcome to the Hebrew Transcription App! This guide will help you set up and launch the application with sample Hebrew audio and transcription files.

## Project Structure

The project is organized as follows:

```
hebrew-transcription-app/
├── Materials/ # Folder containing sample files
│ ├── sample_recording.wav # Hebrew audio sample
│ └── sample_transcription.txt # Hebrew transcription sample
├── launch.sh # Launch script for Linux/macOS
├── launch.bat # Launch script for Windows
├── client/ # React frontend source code
├── server/ # Backend server (placeholder)
├── package.json # Project dependencies
└── LAUNCH_INSTRUCTIONS.md # This file
```

## Prerequisites

Before launching the application, ensure you have the following installed:

- **Node.js** (version 18 or higher)
- **pnpm** (package manager)
- **Web Browser** (Chrome, Firefox, Safari, or Edge)

## Setup Instructions

### Step 1: Install Dependencies

Navigate to the project directory and install all required dependencies:

```bash
cd hebrew-transcription-app
pnpm install
```

### Step 2: Start the Development Server

Run the development server:

```bash
pnpm dev
```

The server will start on `http://localhost:3000/`. You should see output similar to:

```
VITE v7.1.9 ready in 497 ms
➜ Local: http://localhost:3000/
➜ Network: http://169.254.0.21:3000/
```

Keep this terminal window open while using the application.

## Launching with Sample Files

Once the development server is running, use one of the following launch scripts to automatically load the sample Hebrew audio and transcription.

### For Linux/macOS Users

Run the launch script:

```bash
./launch.sh
```

This script will:
1. Locate the sample audio file (`Materials/sample_recording.wav`)
2. Locate the sample transcription file (`Materials/sample_transcription.txt`)
3. Open your default web browser with the application
4. Automatically load both files into the interface

### For Windows Users

Double-click the batch file:

```
launch.bat
```

Alternatively, run it from Command Prompt:

```cmd
launch.bat
```

This script will:
1. Locate the sample audio file (`Materials\sample_recording.wav`)
2. Locate the sample transcription file (`Materials\sample_transcription.txt`)
3. Open your default web browser with the application
4. Automatically load both files into the interface

## Using Your Own Files

To use your own Hebrew audio and transcription files:

1. Replace the sample files in the `Materials/` folder with your own files:
- `sample_recording.wav` → Replace with your audio file (`.wav`, `.mp3`, etc.)
- `sample_transcription.txt` → Replace with your transcription file (`.txt`)

2. Run the appropriate launch script for your operating system.

Alternatively, you can manually pass file paths as URL parameters:

```
http://localhost:3000/?audio=file:///path/to/your/audio.wav&transcription=file:///path/to/your/transcription.txt
```

## Application Features

The Hebrew Transcription App provides the following features:

- **Audio Playback**: Play Hebrew audio recordings with standard browser controls (play, pause, volume, progress bar)
- **Transcription Display**: View the Hebrew transcription alongside the audio player
- **Automatic Loading**: Automatically load audio and transcription files via URL parameters
- **Responsive Design**: Works seamlessly on desktop and mobile devices

## Troubleshooting

### Issue: Browser doesn't open automatically

**Solution**: Manually navigate to `http://localhost:3000/` in your web browser.

### Issue: Audio file doesn't load

**Solution**: Ensure the file path is correct and the file format is supported by your browser (`.wav`, `.mp3`, `.ogg`, `.flac`).

### Issue: Transcription text doesn't appear

**Solution**: Verify that the transcription file exists and is in `.txt` format with proper encoding (UTF-8 recommended for Hebrew text).

### Issue: Development server won't start

**Solution**:
1. Ensure Node.js and pnpm are installed: `node --version` and `pnpm --version`
2. Delete `node_modules` and `pnpm-lock.yaml`, then run `pnpm install` again
3. Try a different port: `pnpm dev -- --port 3001`

## Sample Files

The project includes sample Hebrew files for testing:

- **sample_recording.wav**: A Hebrew audio recording with the text "שלום, זה קובץ תמלול לדוגמה בעברית..."
- **sample_transcription.txt**: The corresponding Hebrew transcription

These files are automatically loaded when you run the launch scripts.

## Development

For more information about the project structure and development workflow, refer to the main `README.md` file in the project root.

## Support

If you encounter any issues or have questions, please refer to the troubleshooting section above or consult the project documentation.

---

**Happy transcribing!** 🎙️
Binary file added Materials/sample_recording.wav
Binary file not shown.
1 change: 1 addition & 0 deletions Materials/sample_transcription.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
בעתיד אני הולך להעלות את מחירי הקריינות שלי. ואתם יודעים למה? כשהעולם הופך יותר ויותר, פחות אותנטי ומלאכותי, זה בדיוק הזמן שלי לבנות. להדגיש שאני לא מכונה. אני לא מכונה, אלא קריין עם רגשות. אין לי שום כוונה להתחרות עם המודלים שהולכים ומשתפרים. באמת. וכן, אולי תהיה גרסה ממודלת משל עצמי. מי יודע? אני רק יודע דבר אחד, אני אהיה מה שהיא אף פעם לא תהיה, וזה להיות עם רגש אנושי. כקריין, בעל מלאכה, כשהשוק ילך ויתמלא בקולות מלאכותיים, הערך שלי רק ילך ויעלה. ולקוחות שבאמת מבינים את העניין, כשהמותג שלהם חשוב להם, ולא מחפשים את הזום מביניהם, הם ילכו על הדבר האמיתי. וזו בדיוק הסיבה למה. רוצים לשמוע את קובץ התחנה הבאה אצל כל הלקוחות שלי בתחבורה הציבורית? תגידו לי מה הכי אהבתם. באם זה נשמע טומא? התחנה הבאה התחנה הבאה התחנה הבאה התחנה הבאה התחנה הבאה התחנה הבאה התחנה הבאה התחנה הבאה התחנה הבאה סליחה, אזעקה, אין מקום לטילים מאיראן, מחזבאללה ומהחותים במדינה זו. התחנה הבאה המרחב המוגן, המערכת זיהתה, נוסע בשם ניסים. הנוסע זיהה את הטיל. הטיל לא זיהה את הנוסע. כולם הגיעו ליעדם. קרן קיימת לישראל, יחד למען המדינה. אם יש משהו שאני נורא אוהב לעשות, זה לספר סיפור. קבלו את קקר. הסיפור של הארץ הזאת לא נכתב רק בהיסטוריה, אלא בכל יום מחדש, מלפני הצריחה ועד אחרי השקיעה. בגשם ובחום, בכל יום ובכל עונה. אנשי קק״ל תמיד כאן, בשבילכם, בשביל הארץ, בשביל המדינה. כבר יותר מ-120 שנה, יום אחרי יום מטפחים יערות ומנגישים אתרים, משביכים את האדמה, חושבים על העתיד של כולנו, לא עוצרים, לא מתעייפים, ממשיכים באש ובמים. זוכרים לעזור לכולם ולדחוף קדימה בעשייה הציונית הנמשכת תמיד. אנשי קק״ל, תמיד כאן, תמיד איתכם, תמיד למען המדינה. קרן קיימת לישראל יחד למען המדינה. נושאים נכבדים, שימו לב, והדרת פני אנגלי. תחנה הבאה, בית חולים איכילוב
31 changes: 31 additions & 0 deletions QUICK_START.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Hebrew Transcription App - Quick Start Guide

## Setup Instructions

### Step 1: Start the Development Server
1. Open PowerShell or Command Prompt in the `OmniVoice` folder.
2. Run: `pnpm install` (if you haven't already).
3. Run: `pnpm dev`.
4. Keep this terminal open. The server runs on `http://localhost:3000`.

### Step 2: Launch the App
1. Double-click `launch.bat` in the `OmniVoice` folder, or manually visit `http://localhost:3000`.
2. The app will open in your default browser.

### Step 3: Load Your Files (New!)
The app now uses a secure file upload interface to bypass browser security restrictions:

1. **Audio File**: Drag and drop your `.wav`, `.mp3`, `.ogg`, or `.flac` file into the blue "Audio File" box, or click it to browse.
2. **Transcription File**: Drag and drop your `.txt` file into the green "Transcription File" box, or click it to browse.

Sample files are located in the `Materials` folder:
- `Materials/sample_recording.wav`
- `Materials/sample_transcription.txt`

## Why the Change?
Modern browsers block the app from automatically reading files from your hard drive via the URL (CORS security). The new upload interface is the standard, secure way to load local files into a web application.

## Troubleshooting
- **"pnpm not recognized"**: Ensure pnpm is installed, or use `npm run dev`.
- **"Files won't load"**: Make sure you are using supported file types (.wav/.mp3 for audio, .txt for text).
- **"Port 3000 in use"**: The app might be running on a different port (check the terminal output).
Loading