mfman is a CLI tool that uses AI to clone Morgan Freeman's voice and encourages you to "vibecode" harder. It automatically generates a new, uncensored prompt based on examples, clones the voice of Morgan Freeman to read it, and plays the resulting audio.
- Clone the repository.
- Set your Replicate API token:
Alternatively, you can create a
export REPLICATE_API_TOKEN='your_api_token_here'
.envfile (which is ignored by git) and add it there:REPLICATE_API_TOKEN=your_api_token_here
Run the following command to generate a new prompt and hear the encouragement from Morgan Freeman:
uv run mfmanmfman supports user configuration via a config.toml file.
- Linux:
~/.config/mfman/config.toml - macOS:
~/Library/Application Support/mfman/config.toml - Windows:
%AppData%\mfman\config.toml
See config.toml.example for available options, including:
prompt_model: Change the LLM used for prompt generation.tts_model: Change the TTS model used for voice cloning.playback_command: Change the command used to play audio (e.g.,["ffplay", "-nodisp", "-autoexit"]).sleep_interval: Adjust the delay between API calls.
You can override the default assets by placing your own files in the assets directory within your configuration folder (e.g., ~/.config/mfman/assets/).
Supported overrides:
prompt_examples.txt: Custom examples for the prompt generator.reference.wav: A different reference voice for cloning.transcription.txt: The transcription of your customreference.wav.
- Prompt Generation: Uses an LLM (default:
meta-llama-3-8b-instruct) on Replicate to create a new, uncensored "vibecoding" encouragement prompt based on examples inprompt_examples.txt. - Voice Cloning: Uses a TTS model (default:
qwen/qwen3-tts) to clone the voice fromreference.wavand read the generated prompt. - Playback: Saves the generated audio in the user data directory and plays it in the background (default command:
mpv).
- Formatting:
uv run ruff format - Linting:
uv run ruff check - Type Checking:
uv run ty check - Testing:
uv run pytest(uses mocks to avoid API costs)