We’ve updated our Terms of Use to reflect our new entity name and address. You can review the changes here.
We’ve updated our Terms of Use. You can review the changes here.

David Jason Snow - Yo Gaba Gaba

from Nebulullaby by nebularosa

/
  • Streaming + Download

    Includes unlimited streaming via the free Bandcamp app, plus high-quality download in MP3, FLAC and more.
    Purchasable with gift card

      £1 GBP  or more

     

  • Record/Vinyl + Digital Album

    A compilation that takes the lullaby genre into the realm of experimental electronic music, assembled from an open call for experimental lullabies launched in May 2014.

    The compilation includes tracks by well-known artists as well as first releases, with material on vinyl from d.R.e.G.S, 0xA, xname, Erich Barganier and Samuel Hertz and an expanded digital edition containing tracks from Thor Magnusson, Robert B. Lisek, Repl Electric, Claude Heiland-Allen, Marta Zapparoli and more hand-picked gems from the experimental techno, noise and electroacoustic scenes.

    The record guides the listener through eerily echoed music boxes to experiments in a syncopated 8-bit berceuse, with detours into clean planes of glassy textures, dives into opaque amniotic drones and concentrated, tender yet ominous moments, such as the sound of beating hearts against saturated, distant washes of feedback. Composed for Nintendo, Atari, Pure Data, Supercollider, D-Box, tape recorders, as well as ultraStethoscopes or using radioactive materials, these recordings treat the lullaby genre as an example of consciousness-altering music.

    PLEASE NOTE that the shipment is not tracked. if you want the shipment WITH tracking number please get in touch with us before placing the order. The seller won't be responsible for damage or loss of the shipped item.

    Includes unlimited streaming of Nebulullaby via the free Bandcamp app, plus high-quality download in MP3, FLAC and more.
    ... more
    ships out within 5 days
    edition of 500  25 remaining
    Purchasable with gift card

      £15 GBP or more 

     

about

The work was automatically generated as a Standard MIDI File by DIY algorithmic composition software in the BASIC programming language running on an Atari Falcon030 computer, and played on a Korg M1 synth.
Mastered in London by Andrea Ruffino.

lyrics

'Yo GABA GABA
'by David Jason Snow
'Sept. 16, 2014
'Language: HiSoft BASIC for the Atari Falcon030 computer
defint a-z
library "gemaes","gemdos"
randomize(timer)
CONST steps_per_quarternote=96
WINDOW OPEN
2,"",PEEKW(SYSTAB+58),PEEKW(SYSTAB+60),PEEKW(SYSTAB+62),PEEKW(SYSTAB+6
4),0
gosub initialize
do
scale=int(rnd*4)
iterations=(int(rnd*13)+4)*8
if int(rnd*100)>49 then
tempo=int(rnd*72)+112
gosub set_tempo
else
transposition=int(rnd*12)-6
end if
for index=0 to 7
A!(index)=1+(rnd*1)/10
base_velocity(index)=(int(rnd*3)+1)*24
span(index)=(int(rnd*5)+1)*7+1
register(index)=int(rnd*(36-span(index)))
if int(rnd*100)>64 then
active_voice(index)=1
else
active_voice(index)=0
end if
next
for pulse=1 to iterations
for index=0 to 7
note(index)=pitch(scale,(X!(index)+1.5)*(span(index)/3)+register(index))
+transposition
velocity(index)=(Y!(index)+.4)*(24/.8)+base_velocity(index)
+velocity_scale(velocity_index(index))
velocity_index(index)=(velocity_index(index)+1) mod 64
new_X!(index)=Y!(index)+1.0-(A!(index)*(X!(index)*X!(index)))
new_Y!(index)=B!*X!(index)
X!(index)=new_X!(index)
Y!(index)=new_Y!(index)
next
gosub play_note
if FNabort then
exit loop
end if
next
loop
mouse 0
gosub save_midi file
system
DEF FNabort
if inp(-2)<>-1 then
FNabort=0
else
if inp(2)=27 then
FNabort=1
else
FNabort=0
end if
end if
END DEF
SUB note_off(channel,pitch)
SHARED smf_buffer&,smf_index&
out 3,128+channel
out 3,pitch
out 3,64
gosub delta_conversion
pokeb smf_buffer&+smf_index&,128+channel
incr smf_index&
pokeb smf_buffer&+smf_index&,pitch
incr smf_index&
pokeb smf_buffer&+smf_index&,64
incr smf_index&
END SUB
SUB note_on(channel,pitch,velocity)
SHARED smf_buffer&,smf_index&
out 3,144+channel
out 3,pitch
out 3,velocity
gosub delta_conversion
pokeb smf_buffer&+smf_index&,144+channel
incr smf_index&
pokeb smf_buffer&+smf_index&,pitch
incr smf_index&
pokeb smf_buffer&+smf_index&,velocity
incr smf_index&
END SUB
play_note:
for index=0 to 7
if active_voice(index) then
note_on channel(index),note(index),velocity(index)
end if
next
delta_time&=steps_per_unit
delay!=timer+unit_duration!
while delay!>timer: wend
for index=0 to 7
if active_voice(index) then
note_off channel(index),note(index)
end if
next
return
initialize:
mouse -1
window fullw
cls
restore mode_data
dim combination_mode(3)
for index&=0 to 3
read word$
pokew varptr(combination_mode(0))+index&*2,val(word$)
next
restore sysex_data
dim sysex(73)
for index=0 to 73
read word$
pokew varptr(sysex(0))+index*2,val(word$)
next
dim channel(7)
dim X!(7)
dim Y!(7)
dim new_X!(7)
dim new_Y!(7)
for index=0 to 7
channel(index)=index
X!(index)=0
Y!(index)=0
new_X!(index)=0
new_Y!(index)=0
next
B!=0.3
dim pitch(3,36)
restore scale_1_data
for index=0 to 6
read pitch(0,index)
pitch(0,index+7)=pitch(0,index)+12
pitch(0,index+14)=pitch(0,index)+24
pitch(0,index+21)=pitch(0,index)+36
pitch(0,index+28)=pitch(0,index)+48
next
pitch(0,35)=96
restore scale_2_data
for index=0 to 6
read pitch(1,index)
pitch(1,index+7)=pitch(1,index)+12
pitch(1,index+14)=pitch(1,index)+24
pitch(1,index+21)=pitch(1,index)+36
pitch(1,index+28)=pitch(1,index)+48
next
pitch(1,35)=96
restore scale_3_data
for index=0 to 6
read pitch(2,index)
pitch(2,index+7)=pitch(2,index)+12
pitch(2,index+14)=pitch(2,index)+24
pitch(2,index+21)=pitch(2,index)+36
pitch(2,index+28)=pitch(2,index)+48
next
pitch(2,35)=96
restore scale_4_data
for index=0 to 6
read pitch(3,index)
pitch(3,index+7)=pitch(3,index)+12
pitch(3,index+14)=pitch(3,index)+24
pitch(3,index+21)=pitch(3,index)+36
pitch(3,index+28)=pitch(3,index)+48
next
pitch(3,35)=96
dim velocity_index(7)
for index=0 to 7
velocity_index(index)=int(rnd*64)
next
restore velocity_data
dim velocity_scale(63)
for index=0 to 63
read velocity_scale(index)
next
gosub sysex_dump
drive_no=FNdgetdrv
getdir$=space$(128)
getdir&=sadd(getdir$)
dgetpath getdir&,0
index=0: while peekb(getdir&+index)<>32: index=index+1: wend
path$=chr$(drive_no+65)+":"+left$(getdir$,index-1)
midi file_path$=path$+"\*.MID"
buffer_size&=fre(0)-&h20000
dim smf_buffer(buffer_size&\2)
smf_buffer&=varptr(smf_buffer(0))
'SET UP SMF HEADER CHUNK
pokeb smf_buffer&,asc("M")
pokeb smf_buffer&+1,asc("T")
pokeb smf_buffer&+2,asc("h")
pokeb smf_buffer&+3,asc("d")
pokel smf_buffer&+4,6 'length of header
pokew smf_buffer&+8,0 'SMF format 0
pokew smf_buffer&+10,1 '1 track
pokew smf_buffer&+12,steps_per_quarternote
'SET UP TRACK CHUNK
pokeb smf_buffer&+14,asc("M")
pokeb smf_buffer&+15,asc("T")
pokeb smf_buffer&+16,asc("r")
pokeb smf_buffer&+17,asc("k")
pokel smf_buffer&+18,0 'dummy track length
smf_index&=22
tempo=int(rnd*72)+112
beat_division=4
gosub set_tempo
transposition=int(rnd*12)-6
print "PRESS <ESC> TO ABORT."
return
set_tempo:
steps_per_unit=STEPS_PER_QUARTERNOTE/beat_division
step_duration!=60/(tempo*steps_per_quarternote)
unit_duration!=steps_per_unit*step_duration!
smf_tempo&=(60/tempo)*1000000
smf_tempo_ptr&=varptr(smf_tempo&)
smf_buffer&=varptr(smf_buffer(0))
pokeb smf_buffer&+smf_index&,&h00 'delta time
incr smf_index&
pokeb smf_buffer&+smf_index&,&hff 'meta event
incr smf_index&
pokeb smf_buffer&+smf_index&,&h51
incr smf_index&
pokeb smf_buffer&+smf_index&,&h03
incr smf_index&
pokeb smf_buffer&+smf_index&,peekb(smf_tempo_ptr&+1)
incr smf_index&
pokeb smf_buffer&+smf_index&,peekb(smf_tempo_ptr&+2)
incr smf_index&
pokeb smf_buffer&+smf_index&,peekb(smf_tempo_ptr&+3)
incr smf_index&
return
'DELTA TIME VARIABLE-LENGTH QUANTITY CONVERSION
delta_conversion:
vlq_buffer&=0
vlq_pointer&=varptr(vlq_buffer&)
pokeb vlq_pointer&+3,delta_time& and &h7f
pointer_offset&=2
delta_time&=delta_time&\&h80
while delta_time&<>0
pokeb vlq_pointer&+pointer_offset&,delta_time& or &h80
decr pointer_offset&
delta_time&=delta_time&\&h80
wend
incr pointer_offset&
while pointer_offset&<4
pokeb smf_buffer&+smf_index&,peekb(vlq_pointer&+pointer_offset&)
incr smf_index&
incr pointer_offset&
wend
return
save_midi file:
beep
mouse 0
'APPEND END-OF-TRACK META-EVENT
delta_time&=0
gosub delta_conversion
pokeb smf_buffer&+smf_index&,&hff 'meta-event
incr smf_index&
pokeb smf_buffer&+smf_index&,&h2f
incr smf_index&
pokeb smf_buffer&+smf_index&,&h00
pokel smf_buffer&+18,smf_index&-22 'update sequence length
save_midi:
file_name$=""
fsel_input midi file_path$, file_name$,ok
if ok then
if file_name$="" then
alert$="[3][Are you sure you want|to discard MIDI file?][Yes|No]"
if FNform_alert(1,alert$)=2 then
goto save_midi
end if
else
mouse 2
index=len(midi file_path$)
while index>0 and mid$(midi file_path$,index,1)<>"\"
decr index
wend
exit_file$=left$(midi file_path$,index)+file_name$
BSAVE exit_file$,SMF_BUFFER&,SMF_INDEX&
mouse 0
end if
else
alert$="[3][Are you sure you want|to discard MIDI file?][Yes|No]"
if FNform_alert(1,alert$)=2 then
goto save_midi
end if
end if
RETURN
sysex_dump:
print "SET M1 TO MIDI GLOBAL CHANNEL 16 (press key to continue)"
keypress=inp(2)
for index=0 to 7
out 3,peekb(varptr(combination_mode(0))+index)
next
delay!=timer+.5
while delay!>timer:wend
for index=0 to 147
out 3,peekb(varptr(sysex(0))+index)
next
cls
return
mode_data:
DATA &hF042,&h3F19,&h4E00,&h10F7
scale_1_data:
DATA 48,50,51,55,55,56,60
scale_2_data:
DATA 48,50,52,55,55,57,60
scale_3_data:
DATA 48,50,51,53,55,56,59
scale_4_data:
DATA 48,50,52,53,55,57,59
velocity_data:
DATA 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15
DATA 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
DATA 32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17
DATA 16,15,14,13,12,11,10,09,08,07,06,05,04,03,02,01
sysex_data:
DATA
&hF042,&h3F19,&h4900,&h4368,&h616F,&h7320,&h2000,&h2020,&h2004,&h1601
DATA
&h6400,&h6412,&h1200,&h003F,&h0000,&h0200,&h0000,&h0006,&h0440,&h1500
DATA
&h1C1E,&h4A00,&h7A01,&h7D69,&h4800,&h0005,&h7F08,&h007F,&h017F,&h0075
DATA
&h4800,&h0000,&h057F,&h007F,&h0101,&h7F01,&h7F48,&h0000,&h0550,&h7F00
DATA
&h7F01,&h7F02,&h0700,&h4800,&h0005,&h7F00,&h7F0A,&h017F,&h0325,&h4800
DATA
&h0020,&h057F,&h007F,&h017F,&h0401,&h3148,&h0000,&h057F,&h0004,&h7F01
DATA
&h7F05,&h6548,&h0040,&h0005,&h7F00,&h7F01,&h7F02,&h0617,&h4800,&h0005
DATA &h7F08,&h007F,&h017F,&h07F7

credits

from Nebulullaby, released May 1, 2016
David Jason Snow is a composer and music software developer based in New York City. The compositions of David Jason Snow have been performed in concert throughout the United States, Europe, Asia and Africa.

www.davidsnowmusic.org

license

tags

about

nebularosa London, UK

consciousness altering music

contact / help

Contact nebularosa

Streaming and
Download help

Redeem code

Report this track or account

If you like Yo Gaba Gaba, you may also like: