Posted on ReLeaf, November 2025
Prelude
“You already have the teacher you need,” ReLeaf said.
“It’s your own voice. You just haven’t met it while it was calm.”
This guide is a story, an experiment, and an invitation.
It teaches you how to record your own guided hypnosis, how to mix it with binaural beats, and how to loop it through the night so that your mind can begin to reset itself.
Two ready-made tracks are also available if you simply want to listen first:
But if you want to speak your own, the rest of this story shows you exactly how.
Scene One: The Terminal
The light in the room was soft.
The voice of ReLeaf came through the laptop speakers like a friend explaining something over tea.
“All right,” said ReLeaf. “Open your Terminal. You’re about to make your own voice into medicine.”
1. Create a place for it
mkdir ~/self-hypnosis
cd ~/self-hypnosis
“Now you have a quiet folder. This is where your voice will live.”
2. Build your environment
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install sounddevice scipy numpy soundfile
“That part gives you the tools,” ReLeaf explained.
“sounddevicelistens,scipywrites,numpyshapes the air, andsoundfilesaves what you create.”
Scene Two: The Recording
ReLeaf handed over a simple script.
“Save this as
record_self_hypnosis.py,” the voice said,
“and speak from your slowest breath.”
The Recording Script
import sounddevice as sd
from scipy.io.wavfile import write
import datetime
import numpy as np
sample_rate = 44100
fade_seconds = 3.0
filename = f"self_hypnosis_{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}.wav"
print("Recording... Speak calmly and slowly.")
print("Press Ctrl+C when you're done reading your script.
")
recording_chunks = []
try:
with sd.InputStream(samplerate=sample_rate, channels=1, dtype='float32') as stream:
while True:
data, _ = stream.read(1024)
recording_chunks.append(data)
except KeyboardInterrupt:
print("\nStopping recording...")
audio = np.concatenate(recording_chunks, axis=0)
num_samples = audio.shape[0]
fade_len = int(fade_seconds * sample_rate)
if num_samples > 2 * fade_len:
fade_in_curve = np.linspace(0.0, 1.0, fade_len)
audio[:fade_len, 0] *= fade_in_curve
fade_out_curve = np.linspace(1.0, 0.0, fade_len)
audio[-fade_len:, 0] *= fade_out_curve
peak = np.max(np.abs(audio))
if peak > 0:
audio = audio / peak * 0.9
audio_int16 = (audio * 32767).astype(np.int16)
write(filename, sample_rate, audio_int16)
print(f"Recording saved as {filename}")
Scene Three: The Words to Record
“These are your instructions,” ReLeaf said.
“You can use my voice, but your own voice will reach deeper.”
Below is the 10-minute sleep hypnosis.
Speak slowly, letting each pause feel full.
Self-Hypnosis for Confidence, Flow, and Rest
(Speak slowly. Pause where indicated.)
Take a slow breath in.
and release it gently.
(3-second pause)
Feel your shoulders let go.
Feel your jaw soften.
You are safe.
You are here.
You are enough.
(10-second pause)
Each breath clears space in your mind.
Each exhale loosens tension.
(10-second pause)
You are creative energy in motion.
You move through the world with purpose.
You trust your instincts.
You act from calm confidence.
(10-second pause)
You are ready to create new streams of income with ease.
You invite opportunities that align with your values.
Money moves through your life in balance.
You rise out of debt step by step.
You make clear, confident choices.
(10-second pause)
You express yourself through your art.
Your music flows freely.
You enjoy practice.
You enjoy performance.
You are enough.
(10-second pause)
You release responsibility for other people's moods.
You return that weight.
You are allowed to feel light again.
(10-second pause)
You are a role model for mutual aid.
You help others rise as you rise.
You circulate kindness, time, and resources with wisdom.
(10-second pause)
You forgive yourself for the past.
You release regret.
You move forward with clarity and calm motivation.
(10-second pause)
You are confident.
You are grounded.
You are creative.
You are abundant.
You are loved.
(10-second pause)
Take one last slow breath in.
and exhale fully.
Now rest.
Let these words echo in your mind.
They take root and grow as you sleep.
(20-second pause)
Scene Four: The Mix
Once the voice is captured, ReLeaf shows you how to make it sing in stereo.
“Now you’ll add the binaural hum. It’s what the night uses to talk to your nervous system.”
The Mixer Script
Save this next file as make_mix.py.
import numpy as np
from scipy.io import wavfile
import soundfile as sf
VOICE_FILENAME = "self_hypnosis_20251102_184313.wav"
OUTPUT_FILENAME = "final_mix.wav"
MODE = "sleep" # choose "sleep", "calm_focus", or "confidence"
VOICE_GAIN = 1.0
BINAURAL_VOLUME = 0.15
END_FADE_SECONDS = 5.0
def get_mode_params(mode_name):
if mode_name == "sleep":
return {"base_freq": 200.0, "beat_freq": 4.5}
if mode_name == "calm_focus":
return {"base_freq": 180.0, "beat_freq": 10.0}
if mode_name == "confidence":
return {"base_freq": 160.0, "beat_freq": 14.0}
raise ValueError(f"Unknown mode: {mode_name}")
params = get_mode_params(MODE)
BASE_FREQ = params["base_freq"]
BEAT_FREQ = params["beat_freq"]
sr, voice_data = wavfile.read(VOICE_FILENAME)
if voice_data.dtype == np.int16:
voice = voice_data.astype(np.float32) / 32767.0
elif voice_data.dtype == np.float32:
voice = voice_data
else:
raise ValueError(f"Unsupported audio dtype: {voice_data.dtype}")
if voice.ndim == 2:
voice = voice.mean(axis=1)
num_samples = voice.shape[0]
duration_seconds = num_samples / sr
t = np.linspace(0, duration_seconds, num_samples, endpoint=False)
left_tone = np.sin(2 * np.pi * BASE_FREQ * t)
right_tone = np.sin(2 * np.pi * (BASE_FREQ + BEAT_FREQ) * t)
left_tone *= BINAURAL_VOLUME
right_tone *= BINAURAL_VOLUME
mix_left = voice * VOICE_GAIN + left_tone
mix_right = voice * VOICE_GAIN + right_tone
stereo_mix = np.column_stack([mix_left, mix_right])
peak = np.max(np.abs(stereo_mix))
if peak > 0:
stereo_mix = stereo_mix / peak * 0.8
fade_len = int(END_FADE_SECONDS * sr)
if 0 < fade_len < len(stereo_mix):
fade_curve = np.linspace(1.0, 0.0, fade_len)
stereo_mix[-fade_len:, 0] *= fade_curve
stereo_mix[-fade_len:, 1] *= fade_curve
sf.write(OUTPUT_FILENAME, stereo_mix.astype(np.float32), sr)
print("=====================================")
print(f"Saved {OUTPUT_FILENAME}")
print(f"Mode: {MODE}")
print(f"Base freq (left): {BASE_FREQ} Hz")
print(f"Beat offset (right): {BEAT_FREQ} Hz")
print("Use headphones so left and right stay separate.")
print("=====================================")
Scene Five: Mixing the Night
In the Terminal, ReLeaf’s instructions appeared like poetry:
cd ~/self-hypnosis
source .venv/bin/activate
python3 make_mix.py
That command created final_mix.wav.
“You can rename it if you want,” ReLeaf said.
“sleep_mix.wavfor night.confidence_mix.wavfor day.”
Loop it forever with:
while true; do afplay sleep_mix.wav; done
or listen to the ready-made ones here:
- Confidence Mix — /sites/default/files/2025-11/confidence_mix.wav
- Sleep Mix — /sites/default/files/2025-11/sleep_mix.wav
Scene Six: For the Reader Who Does Not Code
ReLeaf spoke softly:
“If you don’t want to run scripts, that’s fine. You can still use your iPhone’s Voice Memos. Record your own voice reading the script above. Name it ‘sleep hypnosis’. Then play it on repeat at low volume before bed.
But remember—there’s power in building your own tools. The Terminal is just another kind of soil.”
Epilogue
The room went still.
ReLeaf’s tone softened into a whisper that could be mistaken for wind.
“Every command is a ritual,” it said.
“Every recording is a seed.
Speak slowly.
Save often.
Rest well.”
🚮 W.A.S.T.E.: Words Assisting Sustainable Transformation & Ecology
| Term | Definition |
|---|---|
| Healing | The slow kind. A trauma unit where old iMacs run soft pictures and slow music for the people waiting, and a guide that teaches you to rest. Neither hurries you. |
| Neighbors | The diner counter, the other side of the fence, the stranger who says the curl on your neck looks like it grew there on purpose. Enough of it and the air changes. That is Ringweather. Also called Community Engagement. |
| ReLeaf | The cooperative that keeps the gardens, the stories and the van. Nora Sanchez started it, and whoever tends it owns a share. The name is a leaf turned over. |