Commit Graph
51 Commits
Author SHA1 Message Date
Jamie Pine 9ca0f43afb Update README.md 2026-01-25 19:34:36 -08:00
Jamie Pine c14fb937ef Revamp README.md for improved clarity and presentation
- Updated the README to feature a new layout with centered headings and images for better visual appeal.
- Enhanced the introduction to clearly define Voicebox as an open-source voice synthesis studio.
- Added sections for API usage, tech stack, and roadmap to provide comprehensive information about the project.
- Removed outdated content and streamlined the structure for easier navigation and understanding.
2026-01-25 19:32:30 -08:00
Jamie Pine 7d43938b49 Update application assets and modify screenshot references
- Replaced the old AppScreenshot.webp with a new VoiceBoxAppScreenshot.webp.
- Removed the obsolete AppScreenshot.webp file.
- Updated the landing page to reference the new VoiceBoxAppScreenshot.webp.
- Commented out the ReactQueryDevtools import in main.tsx for cleaner code.
2026-01-25 19:30:11 -08:00
Jamie Pine a7463968e4 Add creator attribution to settings tab in App component 2026-01-25 19:15:33 -08:00
Jamie Pine d9de8f04f2 Refactor components and implement generation state management
- Updated import order in App component for consistency.
- Enhanced Sidebar component with loading indicator for audio generation state.
- Integrated generation state management using Zustand in GenerationForm and Sidebar.
- Improved ProfileList component formatting for better readability.
- Added new generationStore for managing audio generation state across components.
2026-01-25 19:13:23 -08:00
Jamie Pine 1f075c1c15 Enhance App component with loading messages and UI improvements
- Added a loading message feature that cycles through various messages while the server is starting in Tauri.
- Improved the loading screen UI with a new layout and animations for the voicebox logo and loading text.
- Refactored the App component to include necessary imports and state management for loading messages.
- Updated styles for better visual appeal and user experience during the loading phase.
2026-01-25 19:07:21 -08:00
Jamie Pine 9125a4abe0 Add profile export and import functionality
- Implemented API endpoints for exporting and importing voice profiles as ZIP archives.
- Enhanced the frontend with new hooks and components for profile export and import, including file handling and user dialogs.
- Integrated Tauri plugins for file system access and dialog interactions to facilitate seamless user experience.
- Updated ProfileCard and ProfileList components to support new export and import features, improving overall functionality.
- Added necessary error handling and validation for file operations to ensure robustness.
2026-01-25 19:00:16 -08:00
Jamie Pine c62f615162 Implement sample audio retrieval and update playback functionality
- Added a new API endpoint to serve profile sample audio files.
- Introduced a method in the apiClient to generate sample audio URLs.
- Refactored the SampleList component to utilize the new API for audio playback, enhancing the user experience.
- Cleaned up unused imports and optimized the handlePlay function for better performance.
2026-01-25 18:44:25 -08:00
Jamie Pine 6acad47335 Enhance GenerationForm to autoplay generated audio
- Integrated audio playback functionality by utilizing the apiClient to fetch audio URLs.
- Updated the GenerationForm to set audio state with the generated audio details after successful generation.
- Improved user experience by automatically playing the generated audio upon completion.
2026-01-25 18:33:41 -08:00
Jamie Pine 75520e0c29 Refactor landing page layout and update assets
- Replaced the Hero component with a new section layout for improved structure and responsiveness.
- Updated download buttons for macOS, Windows, and Linux with enhanced styling.
- Added a new application screenshot in WebP format and removed the old App.webp asset.
- Adjusted Header component to capitalize the application name for consistency.
- Minor formatting improvements in HistoryTable for better readability.
2026-01-25 18:14:36 -08:00
Jamie Pine e6a05f7208 Update DownloadSection to link to macArm download for improved compatibility 2026-01-25 17:54:00 -08:00
Jamie Pine 57880fc2c7 Update Tauri configuration for autoupdater with new signing key
- Replaced the existing public key in the updater configuration with a new key for enhanced security.
- Maintained the endpoint for fetching update information from the GitHub releases.
2026-01-25 17:47:18 -08:00
Jamie Pine dc44a128de Enhance App UI with logo and animations
- Added a voicebox logo to the loading screen in the App component for improved branding.
- Introduced fade-in animations for the logo and loading text to enhance user experience.
- Updated Sidebar component styles for better visual consistency.
- Refactored HistoryTable to implement a new fixed-height row layout, improving readability and interaction.
- Removed unused Badge component from GenerationForm for cleaner code.
2026-01-25 17:46:39 -08:00
Jamie PineandGitHub 2617936d39 Merge pull request #1 from jamiepine/improvements
Improvements
2026-01-25 17:20:52 -08:00
Jamie Pine a0302c095e Add framer-motion dependency and update HistoryTable and ProfileCard components
- Added framer-motion version 12.29.0 to enhance animation capabilities.
- Updated HistoryTable component headers for improved clarity and consistency.
- Enhanced ProfileCard component styling for better visual integration.
2026-01-25 17:19:46 -08:00
Jamie Pine a1b0f268c9 Refactor HistoryTable and ProfileList components for improved UI and functionality
- Introduced a DropdownMenu for action buttons in HistoryTable, enhancing user interaction.
- Adjusted column widths in HistoryTable for better layout and readability.
- Updated ProfileList to replace icons and improve layout consistency.
- Added new DropdownMenu component for reusable dropdown functionality across the application.
- Enhanced Slider component with slight position adjustment for better visual alignment.
2026-01-25 17:12:08 -08:00
Jamie Pine 586b19f40f Update UI components and styles for improved functionality and aesthetics
- Changed accent color variables in index.css for better visual consistency.
- Added a new voicebox logo to the Sidebar component for branding enhancement.
- Refactored AudioPlayer to utilize CSS variables for wave and progress colors, improving theme adaptability.
- Adjusted HistoryTable column widths for better layout and readability.
- Enhanced ProfileCard layout with improved button positioning and styling.
- Updated button styles to use accent colors for better visual coherence.
- Improved CircleButton styling for consistent appearance across the application.
2026-01-25 17:06:14 -08:00
Jamie Pine e7e3a0a440 Update dependencies and enhance UI components for better functionality
- Added new Tauri plugins: @tauri-apps/plugin-process and @tauri-apps/plugin-updater to improve application capabilities.
- Introduced UpdateStatus component to display update information in the UI.
- Enhanced GenerationForm to include an optional instruct field for additional input.
- Refactored various components for improved styling and responsiveness, including Sidebar, AudioPlayer, and ProfileCard.
- Updated API models and schemas to accommodate new instruct parameter in generation requests and responses.
- Improved documentation for autoupdater setup and usage.
2026-01-25 16:38:25 -08:00
Jamie Pine 45c4c2f488 Update icon assets and improve icon management script
- Replaced the main Voicebox icon with a new microphone-themed design.
- Removed outdated appearance variants from the icon assets.
- Updated the icon management script to generate a landing page logo and streamline icon compilation.
- Adjusted icon.json to reflect the new icon structure and positioning.
2026-01-25 16:01:44 -08:00
Jamie Pine 041ca15a09 Refactor HistoryTable component for improved styling and structure
- Reintroduced the cn utility for class name management in HistoryTable.
- Adjusted the maximum height of the table container for better layout.
- Reformatted the table structure for clearer readability and consistency.
- Enhanced the styling of table cells and buttons for improved user interaction.
2026-01-25 15:38:37 -08:00
Jamie Pine 7d1ee4c1b9 Implement autoupdater functionality and enhance icon management
- Added a new UpdateNotification component to inform users about available updates and facilitate installation.
- Integrated useAutoUpdater hook for managing update checks and installations.
- Updated package.json with new build and generate scripts for release preparation and key generation.
- Enhanced tauri configuration to support autoupdater with signing keys and endpoints.
- Created scripts for preparing signed releases and updating icons, ensuring a streamlined workflow for asset management.
- Added detailed documentation for autoupdater setup and icon update workflow.
2026-01-25 15:38:31 -08:00
Jamie Pine 0e38d47855 Enhance UI components and styles for improved user experience
- Added global styles to hide scrollbars across all browsers for a cleaner interface.
- Refactored HistoryTable component to highlight currently playing audio with conditional styling.
- Implemented a confirmation dialog for deleting voice profiles in ProfileCard, enhancing user feedback and preventing accidental deletions.
- Updated ProfileList to rename the section from 'Voice Profiles' to 'Voicebox' for better branding and clarity.
2026-01-25 14:44:47 -08:00
Jamie Pine 98cfe2dc5a Refactor App layout and enhance UI components for better usability
- Changed the default active tab in the App component from 'profiles' to 'main'.
- Improved the layout of the main content area to better accommodate different views, including profiles, generation forms, and history.
- Updated Sidebar component to reflect the new tab structure with a 'main' tab.
- Enhanced the GenerationForm to utilize the selected profile from the UI store, improving user feedback when no profile is selected.
- Added a new CircleButton component for better icon button interactions.
- Adjusted styles in various components for improved responsiveness and visual consistency.
2026-01-25 14:44:42 -08:00
Jamie Pine 05036dfef6 Enhance UI components and styles for improved user experience
- Updated global styles in globals.css for better dark mode support and background effects.
- Enhanced DownloadSection and FeatureCard components with hover effects and improved layout.
- Refined Header component with better backdrop blur and tracking for text.
- Improved button styles for consistency and added shadow effects for better visibility.
- Adjusted Card and Section components for better spacing and visual hierarchy.
2026-01-25 13:48:13 -08:00
Jamie Pine d3ca3a9deb Add landing page for voicebox.sh
- Created a new landing page using Next.js 16, featuring a modern design with Tailwind CSS.
- Implemented essential components including Header, Footer, and DownloadSection for user navigation and download options.
- Configured Tailwind CSS and PostCSS for styling, and set up TypeScript for type safety.
- Added a README with setup instructions, project structure, and deployment guidelines.
- Integrated GitHub links for easy access to the repository and releases.
- Established a consistent UI with reusable components and responsive design.
2026-01-25 13:40:18 -08:00
Jamie Pine 05adc4e013 Remove additional CUDA and torch compiler module exclusions from PyInstaller build to streamline the process 2026-01-25 13:19:22 -08:00
Jamie Pine b479178e91 Exclude CUDA libraries and torch compiler modules to reduce bundle size 2026-01-25 13:13:24 -08:00
Jamie Pine f80f870e93 Implement audio player component and integrate with history and sample lists
- Added a new AudioPlayer component for audio playback functionality, utilizing WaveSurfer for waveform visualization.
- Integrated audio playback controls into the HistoryTable and SampleList components, allowing users to play audio directly from their history and samples.
- Updated player state management to handle audio URL, ID, title, and playback state.
- Introduced a custom Slider component for volume control and seek functionality.
- Enhanced UI to ensure the AudioPlayer is always visible except in settings, improving user experience.
2026-01-25 13:12:50 -08:00
Jamie Pine 6fa2966371 Add audio recording feature to SampleUpload component
- Introduced functionality to record audio directly from the microphone, allowing users to switch between uploading files and recording.
- Implemented state management for recording status and duration, with user feedback through toast notifications.
- Updated Info.plist to include microphone usage description for better user transparency.
- Enhanced the UI with tabs for selecting between upload and record modes, improving user experience.
2026-01-25 12:47:07 -08:00
Jamie Pine a57e7dbc54 Exclude sklearn, pandas, and torchaudio to reduce bundle size 2026-01-25 12:40:51 -08:00
Jamie Pine c876fabcd4 Enhance SampleUpload component with transcription functionality
- Integrated transcription feature using the useTranscription hook.
- Added a button to trigger audio transcription, displaying status during the process.
- Updated form handling to reset on dialog close and improved user feedback with toast notifications.
- Enhanced form description to clarify supported audio formats and transcription capabilities.
2026-01-25 12:39:56 -08:00
Jamie Pine e5bfa4cbbe fix icons 2026-01-25 12:31:17 -08:00
Jamie Pine e20795de7d Update macOS icon configuration and add new assets
- Changed icon source reference in build script from AppIcon.icon to voicebox.icon.
- Updated tauri.conf.json to specify new resource paths for generated icon and plist files.
- Added voicebox.icns and updated partial.plist to include voicebox as the application icon.
- Introduced new icon.json and Voicebox.png files for the voicebox icon assets.
2026-01-25 12:28:52 -08:00
Jamie Pine 530ee407ee Enhance PyInstaller build by excluding additional unnecessary modules
- Added exclusions for 'torch.utils.tensorboard', 'scipy', 'PIL', 'tkinter', 'unittest', and 'test' to reduce bundle size and improve build efficiency.
2026-01-25 12:17:24 -08:00
Jamie Pine edbdf0ce3f Update development scripts and add macOS icon assets
- Renamed backend development script from `dev:backend` to `dev:server` for clarity.
- Added new macOS icon assets and configuration files for the application.
- Enhanced App component to improve server management during production and development modes.
- Updated ConnectionForm to reset state after successful submission and conditionally render the update button.
- Implemented database initialization on application startup in the backend.
2026-01-25 12:15:47 -08:00
Jamie Pine 7b1e2295ef Implement server management enhancements with window close handling
- Introduced a checkbox in the ConnectionForm to allow users to keep the server running when the app closes.
- Added a setupWindowCloseHandler function to manage server shutdown based on user preference.
- Updated App component to integrate the new window close handling logic.
- Created a reusable Checkbox component for better UI consistency.
- Modified serverStore to include state management for the new setting.
2026-01-25 12:13:35 -08:00
Jamie PineandClaude Sonnet 4.5 bc21b4c422 Pin LLVM to version 20 for llvmlite compatibility
llvmlite only supports LLVM up to version 20, but brew install llvm
installs version 21. Update macOS runners to install llvm@20 specifically.

Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
2026-01-25 11:44:34 -08:00
Jamie Pine 9b7ee21e6c Add LLVM installation and exclude unnecessary modules from PyInstaller build
- Install llvm-dev on Ubuntu for llvmlite compilation
- Install LLVM via Homebrew on macOS and configure PATH
- Exclude matplotlib, IPython, notebook, pytest, tensorboard from bundle to reduce size
- Keep --onefile mode with module exclusions to avoid 4GB limit
2026-01-25 11:35:07 -08:00
Jamie Pine 0f1aba7162 Use macos-15-intel runner for x86_64 builds to match PyInstaller architecture 2026-01-25 11:20:30 -08:00
Jamie Pine eb9b5cf9bb api 2026-01-25 04:57:55 -08:00
Jamie Pine db5ca1f2ee Add generated API client files to git for CI builds 2026-01-25 04:57:06 -08:00
Jamie Pine 5d8672bb9c Remove tsc from build scripts to fix CI build 2026-01-25 04:47:33 -08:00
Jamie Pine b08c525e55 Add vite/client types to app tsconfig 2026-01-25 04:39:46 -08:00
Jamie Pine c2d5da3d54 bruh 2026-01-25 04:32:21 -08:00
Jamie Pine 180be2ff9b Update qwen-tts dependency version in requirements.txt from 0.1.0 to 0.0.5 for compatibility improvements. 2026-01-25 04:29:49 -08:00
Jamie Pine 53491c8064 Add GitHub Actions workflow for automated release process. Includes support for multiple platforms (macOS, Ubuntu, Windows) and installation of dependencies. Updated build script to check for local editable qwen_tts installation and added it to PyInstaller paths. Enhanced requirements.txt to include qwen-tts dependency. 2026-01-25 04:26:55 -08:00
Jamie Pine d14aca2267 Add Tauri integration and server management features. Introduced auto-start functionality for the bundled server in Tauri environment, added configuration management for data directories, and refactored backend components to utilize the new config module. Updated dependencies and improved project structure for better organization. 2026-01-25 04:25:45 -08:00
Jamie Pine 6164877f7f Add model size selection to GenerationForm and enhance model management features 2026-01-25 03:19:27 -08:00
Jamie Pine 6429cb6673 Implement sidebar navigation and model management features. Refactor App component to utilize a Sidebar for tab navigation, integrating ProfileList, GenerationForm, HistoryTable, and ServerStatus components. Introduce ModelManagement and ModelProgress components for handling AI model downloads and status updates. Enhance CSS for sidebar styling and add progress tracking functionality in the backend for model downloads. 2026-01-25 03:10:16 -08:00
Jamie Pine ca3409ebef Update dependencies and enhance project structure. Upgraded Tailwind CSS to version 4.1.0, removed obsolete configuration files, and added a comprehensive CURRENT_STATE.md file detailing project features, architecture, and future plans. Improved history management in the backend with new response models and optimized API endpoints for better data handling. 2026-01-25 02:54:31 -08:00