add sabagen

This commit is contained in:
Seiji Nakamura
2025-05-12 15:46:04 +09:00
parent ccf21dac76
commit 33284ef5ac
186 changed files with 17145 additions and 0 deletions

213
sbagen-1.4.5/scripts/p-drop Executable file
View File

@@ -0,0 +1,213 @@
#!/usr/bin/perl
sub usage {
print <<EOT;
Usage: p-drop <digit><digit>[.<digit>...]<a-l>[s|k][+][/<amp>] [<sbagen-options>]
The first argument gives the 'level' and 'type' of the programme to
run. The digits 00 to 99 select the level, based on carrier
frequencies from 200Hz (00) down to 2Hz (99). The idea is to work
from level 00 to 99, waiting for each to become 'boring' before moving
on. (In theory, the whole set could take several years to work
through.) Later levels require headphones that can reproduce really
deep bass frequencies, ideally down to 10Hz or lower. I'm currently
using Sony MDR-EX70LP earphones which in theory go down to 6Hz, and
which I am very happy to recommend. (Note that the following model,
the MDR-EX71SL, gives very poor quality sound by comparison.) Also,
you might wish to jump right in at the 20-30 range; this is where
Centerpointe start their programme. If you want to fine-tune the
level, you can include a decimal point (e.g. 20.5a for halfway between
20a and 21a).
The letter a-l (or A-L if you prefer) selects the beat frequencies.
Beat frequencies always start at 10Hz, and then drop exponentially to
a target, which is as follows for letters A-L: 4.4, 3.7, 3.1, 2.5,
2.0, 1.5, 1.2, 0.9, 0.7, 0.5, 0.4, 0.3. Using A, you never get down
to delta frequencies. Deeper beats (i.e. later letters) are supposed
to be better, so long as you really are entraining to them. Like the
carriers, this is something to build up over time.
The optional letter 's' following indicates that frequencies should
slide rather than being stepped. Sliding gives a more general
experience, without giving the brain the opportunity to sync precisely
with any one frequency for any significant period of time. In my
experience, this can feel smoother and more natural. I'm still
experimenting with this, though. Stepped frequencies (the default)
can sometimes give separate 3-minute dream scenes as different
frequencies are stimulated, which you won't get with sliding tones.
Since they hold you at a particular frequency, you can potentially go
deeper into it.
The optional letter 'k' indicates a super-stepped change -- using
changes at 1 minute intervals instead of 3 minute intervals. This is
experimental; it may give a more intense session than the default
settings.
The optional '+' indicates a 60-minute programme rather than a
30-minute one. The extra 30 minutes keeps you at the final beat
frequency for the whole time, although carrier changes are spread over
the whole 60 minutes.
The optional '/<amp>' lets you increase the amplitude of the waves if
necessary. For example, you may need to boost it to compensate for
the poor low-frequency response of your headphone or amp or whatever,
especially for the very low carrier frequencies in later levels.
Note that the Centrepointe entry-level CD corresponds very roughly to
29d+, and the demo on their site to 58a (i.e. an advanced level, but
not going too deep). They appear to use stepped beat frequencies.
Please consider joining the sbagen-users mailing list if you want to
discuss using this script. See http://uazu.net/sbagen/ for the link.
BIG LEGAL NOTE and DISCLAIMER: If you use this script, you do so AT
YOUR OWN RISK. Whilst this script generates binaural beats that I
hope are roughly similar in effect to those used by Centerpointe (by
dropping the carrier frequency in stages, for instance), I have not
made any attempt to reproduce their binaural frequencies exactly.
Also, there is a lot more to the Centerpointe programme CDs than just
the binaural beats. The soundtracks contain rain and water sounds and
also resonating bell sounds that I'm sure have significant additional
effects, and there are also unexplained low frequency tones at places
on these CDs. In addition Centerpointe provides a strong support
system that keeps people motivated and helps them through any
difficulties they may have using the programme. Their CDs have been
fully tested by thousands of people over years, whilst this script is
relatively untested at present. So, really, this is intended only for
experimenters who use it at their own risk. People who require a
fully tested, supported and packaged solution should go and give
Centerpointe some money: http://www.centerpointe.com/links.cfm?ad=27103
END OF BIG LEGAL NOTE
EOT
exit 1;
}
# Features when stepping:
# Using all beat target codes from D-L, 77 different beat frequencies
# are stimulated between 0.3 and 8.5Hz, along with 10Hz which is used
# on every one. This gives a fair chance that any interesting
# frequencies in that range might be stimulated during the sessions.
usage() unless (@ARGV);
usage() unless ($ARGV[0] =~ /^(\d\d(\.\d+)?)([a-zA-Z])([sk]?)(\+?)(\/([\d.]+))?$/);
shift;
$carr= 200 - 2 * ($1);
$bcod= lc($3);
$slide= $4 eq 's';
$n_step= ($4 eq 'k') ? 30 : 10;
$long= $5 eq '+';
$amp= ($7 eq '') ? 0.5 : $7;
$stepslide= $n_step > 20 ? 5 : 10; # Seconds slide between steps
# Carriers
$len= $long ? 3600 : 1800;
$c0= $carr + 5;
$c1= $long ? $carr + 2.5 : $carr;
$c2= $carr;
sub exp_range {
my ($cnt, $b0, $b1)= @_;
my $logb0= log($b0);
my $logb1= log($b1);
my @rv= ();
for (0..($cnt-1)) {
push @rv, exp($logb0 + ($logb1-$logb0) * $_/($cnt-1));
}
return @rv;
}
# Beats; steps or slides over the frequencies in @beat (however many
# there are) over the first 30 minutes, and then holds on the final
# frequency for the following 30 minutes, if $long.
@beat= ();
if ($bcod =~ /[a-l]/) {
@target= qw(4.4 3.7 3.1 2.5 2.0 1.5 1.2 0.9 0.7 0.5 0.4 0.3);
@beat= exp_range($n_step, 10, $target[ord($bcod) - ord('a')]);
} else {
usage();
}
$steps= @beat;
if ($slide) {
printf STDERR "Carrier slides from ${c0}Hz to ${c2}Hz\n";
printf STDERR "Beat frequency slides from $beat[0]Hz to $beat[$steps-1]Hz\n";
printf STDERR "\n";
} else {
printf STDERR "Carrier steps from ${c0}Hz to ${c2}Hz\n";
printf STDERR "Beat frequency steps from $beat[0]Hz to $beat[$steps-1]Hz:\n";
print STDERR " " . join(" ", map { sprintf("%.2f", $_) } @beat) . "\n";
printf STDERR "\n";
}
sub fmt {
my $sec= shift;
my $min= int($sec / 60); $sec %= 60;
my $hour= int($min / 60); $min %= 60;
return sprintf("%d:%02d:%02d", $hour, $min, $sec);
}
@out1= ();
@out2= ();
push @out1, "off: -";
push @out2, "23:59:55 == off ->";
if ($slide) {
# Slide version
for (0..($steps-1)) {
my $tim= int($_ * 1800 / ($steps-1));
push @out1, sprintf("ts%02d: %g+%g/%s", $_,
$c0 + ($c1-$c0) * $tim / 1800.0,
$beat[$_], $amp);
push @out2, sprintf("%s == ts%02d ->", fmt($tim), $_);
}
if ($long) {
push @out1, "tsend: $c2+$beat[$steps-1]/$amp";
push @out2, "1:00 == tsend ->";
push @out2, "1:00:10 == off";
} else {
push @out2, "0:30:10 == off";
}
} else {
# Step version
for (0..($steps-1)) {
my $tim0= int($_ * 1800 / $steps); # Period start time
my $tim1= int(($_+1) * 1800 / $steps); # Period end time
push @out1, sprintf("ts%02d: %g+%g/%s", $_,
$c0 + ($c2-$c0) * $tim1/$len,
$beat[$_], $amp);
push @out2, sprintf("%s == ts%02d ->", fmt($tim0), $_);
push @out2, sprintf("%s == ts%02d ->", fmt($tim1 - $stepslide), $_);
}
if ($long) {
for ($steps .. (2*$steps-1)) {
my $tim0= int($_ * 1800 / $steps); # Period start time
my $tim1= int(($_+1) * 1800 / $steps); # Period end time
push @out1, sprintf("ts%02d: %g+%g/%s", $_,
$c0 + ($c2-$c0) * $tim1/$len,
$beat[$steps-1], $amp);
push @out2, sprintf("%s == ts%02d ->", fmt($tim0), $_);
push @out2, sprintf("%s == ts%02d ->", fmt($tim1 - $stepslide), $_);
}
push @out2, sprintf("%s == off", fmt($len));
} else {
push @out2, sprintf("%s == off", fmt($len));
}
}
die unless open OUT, ">tmp-prog";
print OUT <<END;
#
# This file was AUTOMATICALLY GENERATED
#
END
print OUT join("\n", @out1, '', @out2);
die unless close OUT;
exec "./sbagen -SE " . join(" ", @ARGV) . " tmp-prog";
die;

View File

@@ -0,0 +1,71 @@
#!/usr/bin/perl
# Enter wake-up hour as hh or hh:mm as first argument, if required
$tar= 7; # 7am
if (@ARGV && ($ARGV[0] =~ /^(\d+):(\d+)$/)) {
shift;
$tar= $1 + $2 / 60;
} elsif (@ARGV && ($ARGV[0] =~ /^(\d+)$/)) {
shift;
$tar= $1;
}
printf "Generating tones from 21:00 -> %02d:%02d\n", int($tar), int(60 * ($tar - int($tar)));
my @ts= (); # Tone-sets
my @tl= (); # Time-lines
# Binaural range
my $r0= 0.2;
my $r1= 1.0;
my $lr0= log $r0;
my $lr1= log $r1;
# Carrier range
my $cr0= 60;
my $cr1= 120;
my $lcr0= log $cr0;
my $lcr1= log $cr1;
my $cnt= 0;
while (1) {
$hh= -3 + int($cnt / 6);
$mm= 10 * ($cnt % 6);
last if ($hh + $mm/60 >= $tar);
$hh += 24 if ($hh < 0);
$bb= exp($lr0 + ($lr1 - $lr0) * rand);
$cc= exp($lcr0 + ($lcr1 - $lcr0) * rand);
$dmy= rand;
push @ts, sprintf "t%02d: %.2f+%5.3f/40 %.2f+4.2/10\n", $cnt, $cc, $bb, $cc * 2;
push @tl, sprintf "%02d:%02d t%02d\n", $hh, $mm, $cnt;
push @tl, sprintf "%02d:%02d off\n", $hh, $mm+5;
$cnt++;
}
die unless open OUT, ">tmp-prog";
print OUT <<END;
#
# The idea of this sequence is to play random tones in the sub
# 1.0Hz band all night, accompanied by a 4.2Hz tone to somehow
# provide a kind of link up to consciousness.
#
# This file was AUTOMATICALLY GENERATED
#
END
print OUT @ts;
print OUT <<END;
off: -
wakeup: 100+0.92/20 200+4.2/20 400+7/40
END
print OUT @tl;
printf OUT "%02d:%02d wakeup\n", int($tar), int(60 * ($tar - int($tar)));
printf OUT "%02d:%02d off\n", 1 + int($tar), int(60 * ($tar - int($tar)));
die unless close OUT;
exec "sbagen tmp-prog";
die;

View File

@@ -0,0 +1,79 @@
#!/usr/bin/perl
# This version holds the tones for longer than the normal version --
# 25 minutes on and 5 minutes off, compared to 5:5 for the normal
# version.
# Enter wake-up hour as hh or hh:mm as first argument, if required
$tar= 7; # 7am
if (@ARGV && ($ARGV[0] =~ /^(\d+):(\d+)$/)) {
shift;
$tar= $1 + $2 / 60;
} elsif (@ARGV && ($ARGV[0] =~ /^(\d+)$/)) {
shift;
$tar= $1;
}
printf "Generating tones from 21:00 -> %02d:%02d\n", int($tar), int(60 * ($tar - int($tar)));
my @ts= (); # Tone-sets
my @tl= (); # Time-lines
# Binaural range
my $r0= 0.2;
my $r1= 1.0;
my $lr0= log $r0;
my $lr1= log $r1;
# Carrier range
my $cr0= 60;
my $cr1= 120;
my $lcr0= log $cr0;
my $lcr1= log $cr1;
my $cnt= 0;
while (1) {
$hh= -3 + int($cnt / 6);
$mm= 10 * ($cnt % 6);
last if ($hh + $mm/60 >= $tar);
$hh += 24 if ($hh < 0);
$bb= exp($lr0 + ($lr1 - $lr0) * rand);
$cc= exp($lcr0 + ($lcr1 - $lcr0) * rand);
$dmy= rand;
push @ts, sprintf "t%02d: %.2f+%5.3f/40 %.2f+4.2/10\n", $cnt, $cc, $bb, $cc * 2;
push @tl, sprintf "%02d:%02d t%02d\n", $hh, $mm, $cnt;
push @tl, sprintf "%02d:%02d off\n", $hh, $mm+25;
$cnt+=3;
# Alternative version for 15 minutes on, 5 minutes off:
# push @tl, sprintf "%02d:%02d off\n", $hh, $mm+15;
# $cnt+=2;
}
die unless open OUT, ">tmp-prog";
print OUT <<END;
#
# The idea of this sequence is to play random tones in the sub
# 1.0Hz band all night, accompanied by a 4.2Hz tone to somehow
# provide a kind of link up to consciousness.
#
# This file was AUTOMATICALLY GENERATED
#
END
print OUT @ts;
print OUT <<END;
off: -
wakeup: 100+0.92/20 200+4.2/20 400+7/40
END
print OUT @tl;
printf OUT "%02d:%02d wakeup\n", int($tar), int(60 * ($tar - int($tar)));
printf OUT "%02d:%02d off\n", 1 + int($tar), int(60 * ($tar - int($tar)));
die unless close OUT;
exec "sbagen tmp-prog";
die;

View File

@@ -0,0 +1,186 @@
#!/usr/bin/perl
#
# This script generates a sequence for the night and starts
# playing it. All through the night tone-sets are played, five
# minutes on, then five minutes off. The gaps are designed to
# allow the brain some freedom to wander before being pulled
# back by another tone-set. This feels more comfortable to me
# than 100% saturation tone-sets. Also, others have noted that
# the brain responds better to changes.
#
# The tone-sets consist of the following frequencies:
#
# - A random sub-delta frequency in the range 0.2 to 1.0 Hz,
# designed to stimulate interesting things way down there in the
# region beyond true delta (in my opinion something signficant
# changes around 0.9Hz)
#
# - A mid-range frequency in the range 3.5 to 5Hz, which cycles up
# and down slowly throughout the night, ending at 5Hz, hopefully
# modelling the natural sleep cycle. I'm using a cycle of about
# 90 minutes.
#
# - An optional random high beta frequency in the range 32 to 40
# Hz (switched on/off using command-line options). I can't
# remember exactly what this was for - something someone
# mentioned in an E-mail. I always use it now.
#
# In addition, at a few random points during the night, other
# predefined tone-sets are played for 15 minutes. These are
# designed to break the pattern and cause disturbance and
# hopefully unexpected changes in consciousness.
#
# All-in-all, this is the sequence I use now when I fancy a
# `binaural' night. I've found it helps me bring waking
# consciousness and sleeping consciousness closer - no longer
# sleeping "the sleep of oblivion" as Merilyn Tunneshende puts
# it. It also helps me sleep more efficiently - I seem to get
# better value from my night. It also gives a different quality
# to the night, which is why I don't use it all the time.
#
# I particularly like the deep slow waves, which is why I was
# drawn to sub-delta to start with, and this is based around
# these, now with a lot of extra trimmings based on ideas from
# all over.
#
# For Windows users without Perl, I've put an example sequence
# generate by this script in the file `prog-NSDWS-example'.
#
sub usage {
print STDERR <<END;
Usage: xxxx -b|-n [wake_up_time]
-b Add beta frequencies
-n No beta frequencies
END
exit 1;
}
shift if ($opt_b= (@ARGV && $ARGV[0] eq '-b'));
shift if ($opt_n= (@ARGV && $ARGV[0] eq '-n'));
usage() unless $opt_b || $opt_n;
$tar= 7; # 7am
if (@ARGV && ($ARGV[0] =~ /^(\d+):(\d+)$/)) {
shift;
$tar= $1 + $2 / 60;
} elsif (@ARGV && ($ARGV[0] =~ /^(\d+)$/)) {
shift;
$tar= $1;
}
usage() if (@ARGV);
printf "Generating tones from 21:00 -> %02d:%02d\n", int($tar), int(60 * ($tar - int($tar)));
my $beta= $opt_b ? " %.2f+%.2f/3.5" : '';
my @ts= (); # Tone-sets
my @tl= (); # Time-lines
# Base binaural range
my $r0= 0.2;
my $r1= 1.0;
my $lr0= log $r0;
my $lr1= log $r1;
# Binaural range for beta
my $br0= 32;
my $br1= 40;
my $lbr0= log $br0;
my $lbr1= log $br1;
# Carrier range
my $cr0= 60;
my $cr1= 120;
my $lcr0= log $cr0;
my $lcr1= log $cr1;
# Upper tone range
my $ur0= 3.5;
my $ur1= 5; # It will end on this frequency just before wake-up time
my $lur0= log $ur0;
my $lur1= log $ur1;
my $ulen= 1.531; # Cycle length for upper tone
my $cnt= 0;
while (1) {
$hh= -3 + int($cnt / 6);
$mm= 10 * ($cnt % 6);
last if ($hh + $mm/60 >= $tar);
$hh += 24 if ($hh < 0);
if (rand() < 0.05) {
$nn= int(10 * rand);
push @tl, sprintf "%02d:%02d sp%di ->\n", $hh, $mm, $nn;
push @tl, sprintf "+0:0:20 sp%d ->\n", $nn;
push @tl, sprintf "+0:14:40 sp%d ->\n", $nn;
push @tl, sprintf "+0:15 off\n";
$cnt += 2; # We're taking two 10min slots
} else {
$bb= exp($lr0 + ($lr1 - $lr0) * rand);
$cc= exp($lcr0 + ($lcr1 - $lcr0) * rand);
$dd= exp($lbr0 + ($lbr1 - $lbr0) * rand);
$uu= exp($lur0 + 0.5 * ($lur1 - $lur0) *
(1 + cos(($tar - ($hh + $mm/60)) / $ulen * 2 * 3.14159)));
push @ts, sprintf ("t%02d: %.2f+%5.3f/40 %.2f+%.2f/10$beta\n",
$cnt, $cc, $bb, $cc * 2, $uu, $cc * 5, $dd);
push @tl, sprintf "%02d:%02d t%02d\n", $hh, $mm, $cnt;
push @tl, sprintf "%02d:%02d off\n", $hh, $mm+5;
$cnt++;
}
}
die unless open OUT, ">tmp-prog";
print OUT <<END;
#
# The idea of this sequence is to play random tones in the sub
# 1.0Hz band all night, accompanied by a 4.2Hz tone to somehow
# provide a kind of link up to consciousness.
#
# I'm also now adding in some `surprise' tone-sets through the night
#
# This file was AUTOMATICALLY GENERATED
#
sp0: 100+1.5/10 200+4.0/10 250+4.0/10 300+4.0/10
sp1: 50+0.25/10 100+1.5/10 200+4.0/7 250+4.0/7 300+4.0/7 400+10.0/5 500+10.1/5 600+4.8/5
sp2: 100+1.5/10 200+4.0/10 250+4.0/7 300+4.0/7 500+7.05/5 630+7.1/5 750+7.0/4
sp3: 200+4.0/10 250+5.4/8 300+5.4/8 600+16.2/7 750+16.2/6 900+16.2/5
sp4: 200+4.0/10 250+4.0/10 300+4.0/8 600+16.2/7 750+15.9/6 900+16.2/5
sp5: 400+3.9/10 503+4.0/9 600+4.0/8 750+3.9/7 900+4.0/6
sp6: 50+0.75/10 200+1.5/10 400+3.9/8 503+4.0/8 600+4.0/7 750+4.0/6 900+4.0/5
sp7: 503+4.0/10 600+4.0/8 750+4.0/7 900+4.0/6
sp8: 400+3.9/10 503+4.2/8 600+4.0/7 750+4.0/6 900+4.0/5
sp9: 50+0.80/10 400+4.0/10 503+4.2/8 600+4.0/7 750+4.0/6 900+4.0/5
sp0i: 100+1.5/0 200+4.0/0 250+4.03/0 300+4.07/0
sp1i: 50+0.25/0 100+1.5/0 200+4.0/0 250+4.03/0 300+4.07/0 400+10.0/0 500+10.1/0 600+4.8/0
sp2i: 100+1.5/0 200+4.0/0 250+4.03/0 300+4.07/0 500+7.05/0 630+7.1/0 750+7.0/0
sp3i: 200+4.0/0 250+5.4/0 300+5.45/0 600+16.2/0 750+16.23/0 900+16.27/0
sp4i: 200+4.0/0 250+4.03/0 300+4.07/0 600+16.2/0 750+15.9/0 900+16.25/0
sp5i: 400+3.9/0 503+4.0/0 600+4.03/0 750+3.95/0 900+4.07/0
sp6i: 50+0.75/0 200+1.5/0 400+3.9/0 503+4.0/0 600+4.03/0 750+4.05/0 900+4.08/0
sp7i: 503+4.0/0 600+4.03/0 750+4.05/0 900+4.08/0
sp8i: 400+3.9/0 503+4.2/0 600+4.0/0 750+4.03/0 900+4.07/0
sp9i: 50+0.80/0 400+4.0/0 503+4.2/0 600+4.03/0 750+4.05/0 900+4.08/0
END
print OUT @ts;
print OUT <<END;
off: -
wakeup: 100+0.92/20 200+4.2/20 400+13/40
END
print OUT @tl;
printf OUT "%02d:%02d wakeup\n", $hh, $mm;
printf OUT "%02d:%02d off\n", 1 + int($tar), int(60 * ($tar - int($tar)));
die unless close OUT;
exec "sbagen tmp-prog";
die;

109
sbagen-1.4.5/scripts/t-focus-1.sh Executable file
View File

@@ -0,0 +1,109 @@
#!/bin/sh
cat <<EOF
Usage: t-focus-1 <additional-sbagen-options-if-required>
Please note: These tone-sets are based on data from a document that
appeared on USENET, from someone who appears to have measured the
frequencies used on some of the Monroe Institute tapes. Although the
frequencies were measured, the relative amplitudes of the tones were
not, so the results may not be identical to that of the Monroe
Institute tapes. Also I believe that the Monroe Institute uses a
guiding voice that leads the subject through the experience.
Despite that, these tone-sets (or Focus levels) may be useful for
experimenters to base their own tone-sets on. No attempt has been
made to sequence these tones - use ^C to abort any tone-set and move
onto the next. Amplitudes of the tones have all been set equal, and
the user can edit these if required.
- Jim Peters <http://uazu.net/>
EOF
echo -n "Press return to continue: "
read xx
#trap 'echo -e "\n**ABORT**\n"' 2
trap ':' 2
pre="$*";
pink=''
# Uncomment the following line if you'd like pink noise as a background
#pink='pink/30'
function play {
cmd="sbagen $pre -Q -i $* $pink"
echo $cmd
$cmd
}
cat <<EOF |
-----------------------------------------------------------------------
Focus Levels/Frequencies
F3 59[1.2]-110[1.3], 288[3.7]
+++ 59+1.2/10 110+1.3/10 288+3.7/10
F10 100[1.5], 200[4.0], 250[4.0], 300[4.0]
+++ 100+1.5/10 200+4.0/10 250+4.0/10 300+4.0/10
F12 100[1.5], 200[4.0], 250[4.0], 300[4.0], 400[10.0], 500[10.1], 600[4.8]
+++ 100+1.5/10 200+4.0/10 250+4.0/10 300+4.0/10 400+10.0/10 500+10.1/10 600+4.8/10
F15 100[1.5], 200[4.0], 250[4.0], 300[4.0], 500[7.05], 630[7.1], 750[7.0]
+++ 100+1.5/10 200+4.0/10 250+4.0/10 300+4.0/10 500+7.05/10 630+7.1/10 750+7.0/10
F21 200[4.0], 250[4.0], 300[4.0], 600[16.2], 750[15.9], 900[16.2]
+++ 200+4.0/10 250+4.0/10 300+4.0/10 600+16.2/10 750+15.9/10 900+16.2/10
F22 Same as F21
F23 400[3.9], 503[4.0], 600[4.0], 750[3.9], 900[4.0]
+++ 400+3.9/10 503+4.0/10 600+4.0/10 750+3.9/10 900+4.0/10
F24 50[0.75], 400[3.9], 503[4.0], 600[4.0], 750[4.0], 900[4.0]
+++ 50+0.75/10 400+3.9/10 503+4.0/10 600+4.0/10 750+4.0/10 900+4.0/10
F25 503[4.0], 600[4.0], 750[4.0], 900[4.0]
+++ 503+4.0/10 600+4.0/10 750+4.0/10 900+4.0/10
F26 400[3.9], 503[4.2], 600[4.0], 750[4.0], 900[4.0]
+++ 400+3.9/10 503+4.2/10 600+4.0/10 750+4.0/10 900+4.0/10
F27 Same as F26
Example: The notation 503[4.2] should be understood to
represent a beat frequency of 4.2 Hz between two carriers
equally separated from 503 Hz (i.e., 500.9 and 505.1 Hz).
Amplitudes are generally maintained about 20 dB above
background 1/f (pink) noise and/or surf.
-----------------------------------------------------------------------
EOF
(
trap 'echo -en "\a"' 2
while read xx
do
case "$xx" in
+++*)
play ${xx#+++}
;;
*)
echo "$xx"
;;
esac
done
)
echo "DONE"

View File

@@ -0,0 +1,81 @@
#!/bin/sh
cat <<EOF
Usage: t-focus-2 <additional-sbagen-options-if-required>
Please note: These tone-sets are based on data from a document
received from an anonymous source. The data is almost identical to
the USENET-released data that appears in t-focus-1. It is included
here because in a few tone-sets, extra tones are included, which may
be interesting or useful to certain experimenters.
No attempt has been made to sequence these tones - use ^C to abort any
tone-set and move onto the next. Amplitudes of the tones have all
been set equal, and the user can edit these if required.
- Jim Peters <http://uazu.net/>
EOF
echo -n "Press return to continue: "
read xx
#trap 'echo -e "\n**ABORT**\n"' 2
trap ':' 2
pre="$*";
pink=''
# Uncomment the following line if you'd like pink noise as a background
#pink='pink/30'
function play {
cmd="sbagen $pre -Q -i $* $pink"
echo $cmd
$cmd
}
cat <<EOF |
-----------------------------------------------------------------------
F03 50[1.2] 100[1.3] 288[3.6]
+++ 50+1.2/10 100+1.3/10 288+3.6/10
F10 100[1.5] 200[4.0] 250[4.0] 300[4.0]
+++ 100+1.5/10 200+4.0/10 250+4.0/10 300+4.0/10
F12 50[0.25] 100[1.5] 200[4.0] 250[4.0] 300[4.0] 400[10.0] 500[10.1] 600[4.8]
+++ 50+0.25/10 100+1.5/10 200+4.0/10 250+4.0/10 300+4.0/10 400+10.0/10 500+10.1/10 600+4.8/10
F15 100[1.5] 200[4.0] 250[4.0] 300[4.0] 500[7.05] 630[7.0] 750[7.0]
+++ 100+1.5/10 200+4.0/10 250+4.0/10 300+4.0/10 500+7.05/10 630+7.0/10 750+7.0/10
F21 200[4.0] 250[4.0] 300[4.0] 600[16.2] 750[16.2] 900[16.2]
+++ 200+4.0/10 250+4.0/10 300+4.0/10 600+16.2/10 750+16.2/10 900+16.2/10
F22 200[4.0] 250[4.0] 300[4.0] 600[16.2] 750[16.2] 900[16.2] (same as F21)
+++ 200+4.0/10 250+4.0/10 300+4.0/10 600+16.2/10 750+16.2/10 900+16.2/10
F23 400[3.9] 503[4.0] 600[4.0] 750[3.9] 900[4.0]
+++ 400+3.9/10 503+4.0/10 600+4.0/10 750+3.9/10 900+4.0/10
F24 50[0.75] 200[1.5] 400[3.9] 503[4.0] 600[4.0] 750[4.0] 900[4.0]
+++ 50+0.75/10 200+1.5/10 400+3.9/10 503+4.0/10 600+4.0/10 750+4.0/10 900+4.0/10
F26 400[3.9] 503[4.2] 600[4.0] 750[4.0] 900[4.0]
+++ 400+3.9/10 503+4.2/10 600+4.0/10 750+4.0/10 900+4.0/10
F27 50[0.80] 400[4.0] 503[4.2] 600[4.0] 750[4.0] 900[4.0]
+++ 50+0.80/10 400+4.0/10 503+4.2/10 600+4.0/10 750+4.0/10 900+4.0/10
Sometimes F21 is as follows:
F21 200[4.0] 250[5.4] 300[5.4] 600[16.2] 750[16.2] 900[16.2]
+++ 200+4.0/10 250+5.4/10 300+5.4/10 600+16.2/10 750+16.2/10 900+16.2/10
-----------------------------------------------------------------------
EOF
(
trap 'echo -en "\a"' 2
while read xx
do
case "$xx" in
+++*)
play ${xx#+++}
;;
*)
echo "$xx"
;;
esac
done
)
echo "DONE"

57
sbagen-1.4.5/scripts/t-focus.sh Executable file
View File

@@ -0,0 +1,57 @@
#!/bin/sh
lev="$1";
shift;
pre="$*";
case "$lev" in
3) set 50+1.2/40 100+1.3/20 288+3.6/7;;
10) set 100+1.5/20 200+4.0/10 250+4.0/8 300+4.0/7;;
12) set 50+0.25/40 100+1.5/20 200+4.0/10 250+4.0/8 300+4.0/7 400+10.0/5 500+10.1/4 600+4.8/3;;
15) set 100+1.5/20 200+4.0/10 250+4.0/8 300+4.0/7 500+7.05/4 630+7.0/3 750+7.0/3;;
21a) set 200+4.0/10 250+4.0/8 300+4.0/7 600+16.2/3 750+16.2/3 900+16.2/2;;
21b) set 200+4.0/10 250+5.4/8 300+5.4/7 600+16.2/3 750+16.2/3 900+16.2/2;;
22) set 200+4.0/10 250+4.0/8 300+4.0/7 600+16.2/3 750+16.2/3 900+16.2/2;;
23) set 400+3.9/5 503+4.0/4 600+4.0/3 750+3.9/3 900+4.0/2;;
24) set 50+0.75/40 200+1.5/10 400+3.9/5 503+4.0/4 600+4.0/3 750+4.0/3 900+4.0/2;;
26) set 400+3.9/5 503+4.2/4 600+4.0/3 750+4.0/3 900+4.0/2;;
27) set 50+0.80/40 400+4.0/5 503+4.2/4 600+4.0/3 750+4.0/3 900+4.0/2;;
*)
cat <<END
Usage: t-focus <focus-level> <additional-sbagen-options-if-required>
Focus levels available, with meaning from Ken E-F, if he mentioned it:
3
10 Brain awake, body asleep
12 Expanded consciousness - in the mood to head out and explore
15 No time - 3 hours seems like 2 minutes
21a } Alternate energy systems, bridge into worlds with
21b } non-human entities.
22 Place where people with loose, chaotic thoughts go after death.
23
24 Belief system territories - place where dogmatically inclined people
go after death.
26
27 The park - a way-station, a place of high creativity, a stepping stone
into areas beyond
Note that the focus level tone frequencies and beat-frequencies were
measured, but the relative amplitudes of the tones were not measured,
and may not be correct. The original tone-sets almost certainly had
some tones stronger than others, but with this script, all have been
given approximately equal audible presence. This means that these
tone-sets might not work at all like the original ones. But still,
for experimentation, this is a lot better than nothing, considering
the cost of obtaining Monroe Institute courses !
END
exit 1;
esac
echo "Focus $lev:"
echo ""
echo sbagen $pre -i $*
echo ""
sbagen $pre -i $*

200
sbagen-1.4.5/scripts/t-focus2.sh Executable file
View File

@@ -0,0 +1,200 @@
#!/bin/sh
lev="$1";
shift;
pre="$*";
case "$lev" in
3) set 50+1.2/40 100+1.3/20 288+3.6/7;;
10) set 100+1.5/20 200+4.0/10 250+4.0/8 300+4.0/7;;
12) set 50+0.25/40 100+1.5/20 200+4.0/10 250+4.0/8 300+4.0/7 400+10.0/5 500+10.1/4 600+4.8/3;;
15) set 100+1.5/20 200+4.0/10 250+4.0/8 300+4.0/7 500+7.05/4 630+7.0/3 750+7.0/3;;
21a) set 200+4.0/10 250+4.0/8 300+4.0/7 600+16.2/3 750+16.2/3 900+16.2/2;;
21b) set 200+4.0/10 250+5.4/8 300+5.4/7 600+16.2/3 750+16.2/3 900+16.2/2;;
22) set 200+4.0/10 250+4.0/8 300+4.0/7 600+16.2/3 750+16.2/3 900+16.2/2;;
23) set 400+3.9/5 503+4.0/4 600+4.0/3 750+3.9/3 900+4.0/2;;
24) set 50+0.75/40 200+1.5/10 400+3.9/5 503+4.0/4 600+4.0/3 750+4.0/3 900+4.0/2;;
26) set 400+3.9/5 503+4.2/4 600+4.0/3 750+4.0/3 900+4.0/2;;
27) set 50+0.80/40 400+4.0/5 503+4.2/4 600+4.0/3 750+4.0/3 900+4.0/2;;
*)
cat <<END
Usage: t-focus <focus-level> <additional-sbagen-options-if-required>
Focus levels available, with meaning from Ken E-F, if he mentioned it:
3
10 Brain awake, body asleep
12 Expanded consciousness - in the mood to head out and explore
15 No time - 3 hours seems like 2 minutes
21a } Alternate energy systems, bridge into worlds with
21b } non-human entities.
22 Place where people with loose, chaotic thoughts go after death.
23
24 Belief system territories - place where dogmatically inclined people
go after death.
26
27 The park - a way-station, a place of high creativity, a stepping stone
into areas beyond
Note that the focus level tone frequencies and beat-frequencies were
measured, but the relative amplitudes of the tones were not measured,
and may not be correct. The original tone-sets almost certainly had
some tones stronger than others, but with this script, all have been
given approximately equal audible presence. This means that these
tone-sets might not work at all like the original ones. But still,
for experimentation, this is a lot better than nothing, considering
the cost of obtaining Monroe Institute courses !
END
exit 1;
esac
echo "Focus $lev:"
echo ""
echo sbagen $pre -i $*
echo ""
sbagen $pre -i $*
############
-----------------------------------------------------------------------
Wave I - Discovery
-----------------------------------------------------------------------
Tape 1 - Orientation (Focus 3)
Hemisync, Energy Conversion Box, Gateway Affirmation, Resonant Tuning
l/r 300/304 plus 100 Hz and 500 Hz carriers without recognizeable Delta
### 100+0/ 302+4/ 500+0/
-----------------------------------------------------------------------
Tape 2 - Intro Focus 10
Focus 10, Ten Point Relaxation
### 100+4.0/ 300+4.0/ 500+4.0/
-----------------------------------------------------------------------
Tape 3 - Advanced Focus 10
Recall
-----------------------------------------------------------------------
Tape 4 - Release and Recharge (Focus 10)
Process of Energy Conversion - Daily Exercise!
### 102+4/ 412-4/ 502-4/
-----------------------------------------------------------------------
Tape 5 - Exploration Sleep (Focus 10)
Remembering who and what you are, Rolling out, Floating upwards
### 102+4 302+4 498+4
-----------------------------------------------------------------------
Tape 6 - Focus 10 Free Flow for your own purpose
l/r 100/104, 300/304, 500/504
C1: 308/322, 500/515
### 102+4 302+4 502+4
### 315+14 507.5+15
-----------------------------------------------------------------------
Wave II - Threshold
-----------------------------------------------------------------------
Tape 1 - Intro Focus 12
l/r 51/51.75, 98.75/101; Delta-Frq: 0.75 + 2.25 Hz
### 51.375+0.75 99.875+2.25
Tape 2 - Problem Solving (Focus 12)
l/r 99.5/101, 202.7/204.2
### 100.25+1.5 203.45+1.5
-----------------------------------------------------------------------
Focus Levels/Frequencies
F3 59[1.2]-110[1.3], 288[3.7]
F10 100[1.5], 200[4.0], 250[4.0], 300[4.0]
F12 100[1.5], 200[4.0], 250[4.0], 300[4.0], 400[10.0], 500[10.1], 600[4.8]
F15 100[1.5], 200[4.0], 250[4.0], 300[4.0], 500[7.05], 630[7.1], 750[7.0]
F21 200[4.0], 250[4.0], 300[4.0], 600[16.2], 750[15.9], 900[16.2]
F22 Same as F21
F23 400[3.9], 503[4.0], 600[4.0], 750[3.9], 900[4.0]
F24 50[0.75], 400[3.9], 503[4.0], 600[4.0], 750[4.0], 900[4.0]
F25 503[4.0], 600[4.0], 750[4.0], 900[4.0]
F26 400[3.9], 503[4.2], 600[4.0], 750[4.0], 900[4.0]
F27 Same as F26
Example: The notation 503[4.2] should be understood to
represent a beat frequency of 4.2 Hz between two carriers
equally separated from 503 Hz (i.e., 500.9 and 505.1 Hz).
Amplitudes are generally maintained about 20 dB above
background 1/f (pink) noise and/or surf.
-----------------------------------------------------------------------
L 58.4, 109.35, 286.15
F3
R 59.6, 110.65, 289.85
L 99.25, 198, 248, 298
F10
R 100.75, 202, 252, 302
L 99.25, 198, 248, 298, 395, 494.95, 597.6
F12
R 100.75, 202, 252, 302, 405, 505.05, 602.4
L 99.25, 198, 248, 298, 496.475, 626.45, 746.5
F15
R 100.75, 202, 252, 302, 503.525, 633.55, 753.5
L 198, 248, 298, 591.9, 742.05, 891.9
F21-F22
R 202, 252, 302, 608.1, 757.95, 908.1
L 398.05, 501, 598, 748.05, 898
F23
R 401.95, 505, 602, 751.95, 902
L 49.625, 398.05, 501, 598, 748, 898
F24
R 50.375, 401.95, 505, 602, 752, 902
L 501, 598, 748, 898
F25
R 505, 602, 752, 902
L 398.05, 500.9, 598, 748, 898
F26-F27
R 401.95, 505.1, 602, 752, 902

151
sbagen-1.4.5/scripts/t-seqall.sh Executable file
View File

@@ -0,0 +1,151 @@
#!/bin/sh
cat <<EOF
Usage: t-seqall <additional-sbagen-options-if-required>
Please note: These tone-sets are based on data from a document that
appeared on USENET, from someone who appears to have measured the
frequencies used on some of the Monroe Institute tapes. Although the
frequencies were measured, the relative amplitudes of the tones were
not, so the results may not be identical to that of the Monroe
Institute tapes. Also I believe that the Monroe Institute uses a
guiding voice that leads the subject through the experience.
Despite that, these tone-sets (or Focus levels) may be useful for
experimenters to base their own tone-sets on. This experimental
sequence lasts 1 hour 40 minutes, and takes the subject through the
listed tone-sets in order. The possibilities associated with some of
the focus-levels are from a book by Ken Eagle-Feather, but these are
certainly not the last word on the effects of the focus levels.
EOF
echo -n "Press return to continue: "
read xx
cat <<'EOF'
Don't get disappointed if you don't zip off to another world on the
first attempt ! I think that the tones are intended to point the
direction - to nudge your awareness to the place where these things
are possible. If you're too inflexible, or if you don't have enough
awareness or energy to see what there is to see when you get there (my
case a lot of the time), you're going to think nothing's happening.
You also don't have the support of the Monroe Institute belief system
when you're experimenting alone like this, and, as I say, we don't
know for certain that these tone-sets accurately reproduce the Monroe
Institute tapes. But this is certainly fertile raw material to work
with - if you're ready to play, then there's nothing to stop you !
10 - Brain awake, body asleep
12 - Expanded awareness, in the mood to head out and explore
15 - No time, 3 hours seems like 2 minutes
21 - Alternate energy systems, bridge into worlds with non-human entities
22 - Place where people with `loose, chaotic thoughts' go after death
23 - Belief system territories, where dogmatic people go when dead
24 -
25 -
26 -
27 - The park, a way-station, a place of high creativity, a stepping
stone to areas beyond.
EOF
echo -n "Press return to continue: "
read xx
pre="$*";
pink=''
#pink="pink/30" # Uncomment this line to add pink noise
cat <<EOF |
# tN is the tone-set I'm using.
# tNa is an alternate tone-set for the same focus level
# tNi is a tone-set I'm using as an introduction, to scramble the phases
#
t0: $pink 100+1.5/10 200+4.0/10 250+4.0/10 300+4.0/10
t0a: $pink 100+1.5/10 200+4.0/10 250+4.0/10 300+4.0/10
t1: $pink 50+0.25/10 100+1.5/10 200+4.0/10 250+4.0/10 300+4.0/10 400+10.0/10 500+10.1/10 600+4.8/10
t1a: $pink 100+1.5/10 200+4.0/10 250+4.0/10 300+4.0/10 400+10.0/10 500+10.1/10 600+4.8/10
t2: $pink 100+1.5/10 200+4.0/10 250+4.0/10 300+4.0/10 500+7.05/10 630+7.1/10 750+7.0/10
t2a: $pink 100+1.5/10 200+4.0/10 250+4.0/10 300+4.0/10 500+7.05/10 630+7.0/10 750+7.0/10
t3: $pink 200+4.0/10 250+5.4/10 300+5.4/10 600+16.2/10 750+16.2/10 900+16.2/10
t3a: $pink 200+4.0/10 250+4.0/10 300+4.0/10 600+16.2/10 750+15.9/10 900+16.2/10
t4: $pink 200+4.0/10 250+4.0/10 300+4.0/10 600+16.2/10 750+15.9/10 900+16.2/10
t4a: $pink 200+4.0/10 250+4.0/10 300+4.0/10 600+16.2/10 750+16.2/10 900+16.2/10
t5: $pink 400+3.9/10 503+4.0/10 600+4.0/10 750+3.9/10 900+4.0/10
t5a: $pink 400+3.9/10 503+4.0/10 600+4.0/10 750+3.9/10 900+4.0/10
t6: $pink 50+0.75/10 200+1.5/10 400+3.9/10 503+4.0/10 600+4.0/10 750+4.0/10 900+4.0/10
t6a: $pink 50+0.75/10 400+3.9/10 503+4.0/10 600+4.0/10 750+4.0/10 900+4.0/10
t7: $pink 503+4.0/10 600+4.0/10 750+4.0/10 900+4.0/10
t7a: $pink 503+4.0/10 600+4.0/10 750+4.0/10 900+4.0/10
t8: $pink 400+3.9/10 503+4.2/10 600+4.0/10 750+4.0/10 900+4.0/10
t8a: $pink 400+3.9/10 503+4.2/10 600+4.0/10 750+4.0/10 900+4.0/10
t9: $pink 50+0.80/10 400+4.0/10 503+4.2/10 600+4.0/10 750+4.0/10 900+4.0/10
t9a: $pink 400+3.9/10 503+4.2/10 600+4.0/10 750+4.0/10 900+4.0/10
t0i: $pink 100+1.5/0 200+4.0/0 250+4.03/0 300+4.07/0
t1i: $pink 50+0.25/0 100+1.5/0 200+4.0/0 250+4.03/0 300+4.07/0 400+10.0/0 500+10.1/0 600+4.8/0
t2i: $pink 100+1.5/0 200+4.0/0 250+4.03/0 300+4.07/0 500+7.05/0 630+7.1/0 750+7.0/0
t3i: $pink 200+4.0/0 250+5.4/0 300+5.45/0 600+16.2/0 750+16.23/0 900+16.27/0
t4i: $pink 200+4.0/0 250+4.03/0 300+4.07/0 600+16.2/0 750+15.9/0 900+16.25/0
t5i: $pink 400+3.9/0 503+4.0/0 600+4.03/0 750+3.95/0 900+4.07/0
t6i: $pink 50+0.75/0 200+1.5/0 400+3.9/0 503+4.0/0 600+4.03/0 750+4.05/0 900+4.08/0
t7i: $pink 503+4.0/0 600+4.03/0 750+4.05/0 900+4.08/0
t8i: $pink 400+3.9/0 503+4.2/0 600+4.0/0 750+4.03/0 900+4.07/0
t9i: $pink 50+0.80/0 400+4.0/0 503+4.2/0 600+4.03/0 750+4.05/0 900+4.08/0
off: -
0:00:00 t0i ->
0:00:20 t0 ->
0:09:50 t0 ->
0:09:59 off
0:10:00 t1i ->
0:10:20 t1 ->
0:19:50 t1 ->
0:19:59 off
0:20:00 t2i ->
0:20:20 t2 ->
0:29:50 t2 ->
0:29:59 off
0:30:00 t3i ->
0:30:20 t3 ->
0:39:50 t3 ->
0:39:59 off
0:40:00 t4i ->
0:40:20 t4 ->
0:49:50 t4 ->
0:49:59 off
0:50:00 t5i ->
0:50:20 t5 ->
0:59:50 t5 ->
0:59:59 off
1:00:00 t6i ->
1:00:20 t6 ->
1:09:50 t6 ->
1:09:59 off
1:10:00 t7i ->
1:10:20 t7 ->
1:19:50 t7 ->
1:19:59 off
1:20:00 t8i ->
1:20:20 t8 ->
1:29:50 t8 ->
1:29:59 off
1:30:00 t9i ->
1:30:20 t9 ->
1:39:50 t9 ->
1:39:59 off
EOF
sbagen $pre -S -E -

113
sbagen-1.4.5/scripts/t-wave-1.sh Executable file
View File

@@ -0,0 +1,113 @@
#!/bin/sh
cat <<EOF
Usage: t-wave-1 <additional-sbagen-options-if-required>
Please note: These tone-sets are based on data from a document that
appeared on USENET, from someone who appears to have measured the
frequencies used on some of the Monroe Institute tapes. Although the
frequencies were measured, the relative amplitudes of the tones were
not, so the results may not be identical to that of the Monroe
Institute tapes. Also I believe that the Monroe Institute uses a
guiding voice that leads the subject through the experience.
Despite that, these tone-sets (or Focus levels) may be useful for
experimenters to base their own tone-sets on. No attempt has been
made to sequence these tones - use ^C to abort any tone-set and move
onto the next. Amplitudes of the tones have all been set equal, and
the user can edit these if required.
- Jim Peters <http://uazu.net/>
EOF
echo -n "Press return to continue: "
read xx
#trap 'echo -e "\n**ABORT**\n"' 2
trap ':' 2
pre="$*";
pink=''
# Uncomment the following line if you'd like pink noise as a background
#pink='pink/30'
function play {
cmd="sbagen $pre -Q -i $* $pink"
echo $cmd
$cmd
}
cat <<EOF |
-----------------------------------------------------------------------
Wave I - Discovery
-----------------------------------------------------------------------
Tape 1 - Orientation (Focus 3)
Hemisync, Energy Conversion Box, Gateway Affirmation, Resonant Tuning
l/r 300/304 plus 100 Hz and 500 Hz carriers without recognizeable Delta
+++ 100+0/10 302+4/10 500+0/10
-----------------------------------------------------------------------
Tape 2 - Intro Focus 10
Focus 10, Ten Point Relaxation
100[4.0], 300[4.0], 500[4.0]
+++ 100+4.0/10 300+4.0/10 500+4.0/10
-----------------------------------------------------------------------
Tape 3 - Advanced Focus 10
Recall
-----------------------------------------------------------------------
Tape 4 - Release and Recharge (Focus 10)
Process of Energy Conversion - Daily Exercise!
l/r 100/104, 414/410, 504/500
+++ 102+4/10 412-4/10 502-4/10
-----------------------------------------------------------------------
Tape 5 - Exploration Sleep (Focus 10)
Remembering who and what you are, Rolling out, Floating upwards
l/r 100/104, 300/304, 496/500
+++ 102+4/10 302+4/10 498+4/10
-----------------------------------------------------------------------
Tape 6 - Focus 10 Free Flow for your own purpose
l/r 100/104, 300/304, 500/504
C1: 308/322, 500/515
+++ 102+4/10 302+4/10 502+4/10
+++ 315+14/10 507.5+15/10
-----------------------------------------------------------------------
EOF
(
trap 'echo -en "\a"' 2
while read xx
do
case "$xx" in
+++*)
play ${xx#+++}
;;
*)
echo "$xx"
;;
esac
done
)
echo "DONE"

View File

@@ -0,0 +1,75 @@
#!/bin/sh
cat <<EOF
Usage: t-wave-2 <additional-sbagen-options-if-required>
Please note: These tone-sets are based on data from a document that
appeared on USENET, from someone who appears to have measured the
frequencies used on some of the Monroe Institute tapes. Although the
frequencies were measured, the relative amplitudes of the tones were
not, so the results may not be identical to that of the Monroe
Institute tapes. Also I believe that the Monroe Institute uses a
guiding voice that leads the subject through the experience.
Despite that, these tone-sets (or Focus levels) may be useful for
experimenters to base their own tone-sets on. No attempt has been
made to sequence these tones - use ^C to abort any tone-set and move
onto the next. Amplitudes of the tones have all been set equal, and
the user can edit these if required.
- Jim Peters <http://uazu.net/>
EOF
echo -n "Press return to continue: "
read xx
#trap 'echo -e "\n**ABORT**\n"' 2
trap ':' 2
pre="$*";
pink=''
# Uncomment the following line if you'd like pink noise as a background
#pink='pink/30'
function play {
cmd="sbagen $pre -Q -i $* $pink"
echo $cmd
$cmd
}
cat <<EOF |
-----------------------------------------------------------------------
Wave II - Threshold
-----------------------------------------------------------------------
Tape 1 - Intro Focus 12
l/r 51/51.75, 98.75/101; Delta-Frq: 0.75 + 2.25 Hz
+++ 51.375+0.75/10 99.875+2.25/10
Tape 2 - Problem Solving (Focus 12)
l/r 99.5/101, 202.7/204.2
+++ 100.25+1.5/10 203.45+1.5/10
-----------------------------------------------------------------------
EOF
(
trap 'echo -en "\a"' 2
while read xx
do
case "$xx" in
+++*)
play ${xx#+++}
;;
*)
echo "$xx"
;;
esac
done
)
echo "DONE"