Skip to content

Olive is a minimal floating dictation assistant for macOS that provides seamless voice-to-text transcription with global hotkey support.

Notifications You must be signed in to change notification settings

maddygoround/olive

Repository files navigation

Olive - Voice Dictation Assistant

Olive Icon

Olive is a minimal floating dictation assistant for macOS that provides seamless voice-to-text transcription with global hotkey support.

Features

  • Floating Widget: A minimal, always-on-top floating widget for easy access.
  • Voice-to-Text: High-quality voice transcription.
  • Global Hotkeys: Control recording from anywhere on your system.
  • Model Management: Download and manage transcription models.
  • Light & Dark Mode: Adapts to your system's theme.

Tech Stack

  • Frontend: React, TypeScript, Vite, Tailwind CSS
  • Backend: Rust, Tauri
  • Audio: CPAL for audio input
  • Package Manager: npm

Prerequisites

Before you begin, ensure you have the following installed:

Installation and Running

  1. Clone the repository:

    git clone https://github.com/your-username/olive.git
    cd olive
  2. Install frontend dependencies:

    npm install
  3. Run the application in development mode: This will start the Vite development server and the Tauri application.

    npm run tauri:dev

Building for Production

To create a production build of the application, run the following command:

npm run tauri:build

This will generate a .app bundle in the src-tauri/target/release/bundle/macos directory.

To create a .dmg installer, run:

npm run package:dmg

The DMG will be located in src-tauri/target/universal-apple-darwin/release/bundle/dmg/.

Project Structure

.
├── src/                  # Frontend source code (React + TypeScript)
│   ├── components/       # React components
│   ├── hooks/            # Custom React hooks
│   ├── services/         # Application services
│   └── main.tsx          # Main entry point for the frontend
├── src-tauri/            # Backend source code (Rust + Tauri)
│   ├── src/              # Rust source code
│   │   ├── audio/        # Audio handling logic
│   │   ├── models/       # Transcription model management
│   │   ├── system/       # System-level operations (permissions, shortcuts)
│   │   └── main.rs       # Main entry point for the backend
│   └── tauri.conf.json   # Tauri configuration
├── public/               # Static assets
└── package.json          # Project dependencies and scripts

Contributing

Contributions are welcome! Please feel free to submit a pull request.

License

This project is licensed under the MIT License.

About

Olive is a minimal floating dictation assistant for macOS that provides seamless voice-to-text transcription with global hotkey support.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published