A voice-activated AI assistant that emulates the iconic Star Trek Enterprise computer, complete with fact-checking capabilities and the distinctive computer voice style from the original series.
"Computer. Status report."
- π― Wake Word Activation: Say "Computer" to activate (just like in Star Trek!)
- π§ Enterprise AI Personality: Responds in the clipped, precise style of the ship's computer
- π£οΈ Voice Confirmation: Echoes back your request before processing
- π Fact-Checking Integration: Searches Bing and verifies information against trusted sources
- π Authentic TTS: Computer-like voice synthesis optimized for Star Trek responses
- π€ RAG Learning System: Remembers conversations and adapts to user preferences
- πΎ Memory & Context: Builds knowledge base and maintains conversation context
- π± Jetson Nano Optimized: Designed for ARM64 systems with resource optimization
- π Auto-Start on Boot: Runs as a system service from startup
You: "Computer, what is the distance from Earth to Mars?"
Computer: "You have requested: what is the distance from Earth to Mars?"
Computer: "Processing..."
Computer: "Distance from Earth to Mars ranges from 54.6 million to 401 million kilometers, depending on orbital positions. Average distance is 225 million kilometers."
You: "Computer, what about Mars again?"
Computer: "You have requested: what about Mars again?"
Computer: "Processing..."
Computer: "Referencing previous discussion: Mars distance varies from 54.6 to 401 million kilometers based on orbital positions. Current approximate distance: 225 million kilometers."
curl -sSL https://raw.githubusercontent.com/oakeley/StarTrekComputer/main/scripts/install.sh | bash-
Clone Repository
git clone https://github.com/oakeley/StarTrekComputer.git cd StarTrekComputer -
Run Installation Script
chmod +x install.sh ./install.sh
-
Deploy as System Service
sudo ./deploy.sh
- Hardware: Jetson Nano 16GB (or compatible ARM64 system)
- OS: Ubuntu 20.04 LTS or newer
- RAM: 8GB+ recommended
- Storage: 32GB+ SD card/SSD
- Audio: USB microphone + speakers/headphones
- Network: Internet connection for setup and fact-checking
βββββββββββββββββββ ββββββββββββββββ βββββββββββββββββββ
β Microphone βββββΆβ Wake Word βββββΆβ Speech-to-Text β
β β β Detection β β (Whisper) β
βββββββββββββββββββ ββββββββββββββββ βββββββββββββββββββ
β
βββββββββββββββββββ ββββββββββββββββ βββββββββββββββββββ
β Speakers ββββββ Text-to-Speechββββββ Main Control β
β β β (Piper) β β (Rust App) β
βββββββββββββββββββ ββββββββββββββββ βββββββββββββββββββ
β
βββββββββββββββββββ
β LLM + Search β
β (Ollama+Bing) β
βββββββββββββββββββ
- Main Application: Rust-based voice assistant controller
- Wake Word Detection: Custom "Computer" detection using Whisper STT
- Speech Recognition: Whisper.cpp for accurate offline STT
- Language Model: Ollama with Qwen3:4b for Star Trek personality
- Text-to-Speech: Piper TTS with optimized computer voice
- Fact-Checking: Python-based web scraping with Bing search
- System Service: Systemd integration for auto-startup
The system uses a TOML configuration file located at /var/lib/startrek-computer/config.toml:
[audio]
sample_rate = 16000
channels = 1
buffer_size = 1024
[wake_word]
wake_word = "computer"
sensitivity = 0.5
[llm]
model = "qwen3:4b"
temperature = 0.3 # Lower for more factual responses
[search]
enabled = true
max_results = 3configs/jetson-nano.toml- Optimized for Jetson Nanoconfigs/development.toml- Development/testing setupconfigs/high-performance.toml- High-resource systems
# Service Management
sudo systemctl start startrek-computer # Start service
sudo systemctl stop startrek-computer # Stop service
sudo systemctl status startrek-computer # Check status
# View Logs
sudo journalctl -u startrek-computer -f # Follow logs
sudo /opt/startrek/startrek/logs.sh # Log viewer script
# Health Check
sudo /opt/startrek/startrek/healthcheck.sh # System diagnostics
# RAG Memory Management
/opt/startrek/startrek/voice-assistant/target/release/rag-manager stats # View learning stats
/opt/startrek/startrek/voice-assistant/target/release/rag-manager search "query" # Search memory
/opt/startrek/startrek/voice-assistant/target/release/rag-manager cleanup --days 30 # Cleanup old data- Say "Computer" (wait for acknowledgment beep)
- State your question or command
- System responds with confirmation and processes
- Hear the response in Enterprise computer voice
"Computer, what is the current time?"
"Computer, search for information about black holes"
"Computer, what is two plus two?"
"Computer, tell me about the weather"
# Automated health check
/opt/startrek/startrek/healthcheck.sh
# Component testing
curl http://localhost:11434/api/tags # Test LLM
arecord -d 3 test.wav && aplay test.wav # Test audio
python3 /opt/startrek/startrek/search_tool.py "test" # Test search# Update system
/opt/startrek/startrek/update.sh
# Manual rebuild
cd /opt/startrek/startrek/voice-assistant
cargo build --release
sudo systemctl restart startrek-computerService won't start:
sudo systemctl status startrek-computer
sudo journalctl -u startrek-computer -lWake word not detected:
# Test microphone
arecord -d 5 test.wav && aplay test.wav
# Check audio settings in config.tomlLLM not responding:
# Check Ollama
curl http://localhost:11434/api/tags
sudo systemctl restart ollamaNo audio output:
# Test TTS
echo "Test" | /opt/startrek/startrek/piper/piper/piper \
--model /opt/startrek/startrek/piper/voices/en_US-lessac-medium.onnx \
--output_file - | aplayFor detailed troubleshooting, see TROUBLESHOOTING.md.
- INSTALL.md - Comprehensive installation guide
- DEPENDENCIES.md - Complete dependency documentation
- TROUBLESHOOTING.md - Problem solving guide
- RAG_SYSTEM.md - Learning and memory system documentation
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Build voice assistant
cd voice-assistant
cargo build --release
# Install dependencies (see DEPENDENCIES.md)
# Run development version
RUST_LOG=debug cargo runstartrek-computer/
βββ voice-assistant/ # Main Rust application
β βββ src/
β β βββ main.rs # Main orchestrator
β β βββ wake_word.rs # Wake word detection
β β βββ stt.rs # Speech-to-text
β β βββ llm.rs # Language model interface
β β βββ tts.rs # Text-to-speech
β β βββ search.rs # Web search integration
β β βββ config.rs # Configuration management
β βββ Cargo.toml
βββ search_tool.py # Python search/fact-check script
βββ install.sh # Automated installer
βββ deploy.sh # Service deployment script
βββ systemd/ # Systemd service files
βββ configs/ # Configuration templates
βββ docs/ # Documentation
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
Edward J. Oakeley - GitHub
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by the Star Trek universe and the Enterprise computer
- Built with modern AI technologies for an authentic retro-futuristic experience
- Optimized for edge computing on ARM64 devices
- Special thanks to the open-source communities behind Whisper, Ollama, and Piper
Live long and prosper! π
"The computer is working perfectly, Captain."