Expand graph vocal modeling DSL

This commit is contained in:
Meta Vens 2026-05-28 20:26:58 +01:00
commit 12e5669ebc
11 changed files with 498 additions and 74 deletions

View file

@ -0,0 +1,28 @@
patch gain=0.36 soft_clip=true
param path=/alien/core/pressure default=.74 min=0 max=1.5 step=.001 rate=audio
param path=/alien/side/pressure default=.52 min=0 max=1.5 step=.001 rate=audio
param path=/alien/core/opening default=.24 min=0 max=1 step=.001 rate=audio
param path=/alien/side/opening default=.30 min=0 max=1 step=.001 rate=audio
param path=/alien/aperture default=.85 min=0 max=2 step=.001
param path=/alien/branch/opening default=.46 min=0 max=1 step=.001
curve name=core_breath path=/alien/core/pressure points=0:.08,.10:.76,.50:.82,.90:.22 mode=blend depth=.9 rate=audio
curve name=side_breath path=/alien/side/pressure points=0:.02,.18:.54,.38:.22,.62:.70,.90:.12 mode=blend depth=.9 rate=audio
curve name=mouth_shape path=/alien/aperture points=0:.42,.22:1.1,.55:.62,.90:.9 mode=blend depth=.8
gesture name=braided_call curves=core_breath,side_breath,mouth_shape depth=1
area_curve name=core_tube length_cm=20 diameters=.48,.72,1.05,.92,.68,.44
area_curve name=side_resonator length_cm=9 diameters=.20,.36,.54,.44,.18
path name=core area_curve=core_tube loss=.996 loss_model=birkholz_2024 constriction_index=3.4 constriction_diameter=@/alien/aperture lip=@/alien/aperture
path name=side area_curve=side_resonator loss=.994 loss_model=wall
source_port name=core_valve path=core kind=synthetic model=tissue_valve law=body_cover position=0 pressure=@/alien/core/pressure tension=.44 opening=@/alien/core/opening noise=.05 upper_mass=.18 lower_mass=.30 coupling_stiffness=.12 collision_stiffness=.45 collision_damping=.12 vertical_phase=.42 reservoir_pressure=1 downstream_pressure=.03 load_coupling=.38 rest_opening=.03 drive=1.10
source_port name=side_valve path=side kind=labial law=one_mass position=0 pressure=@/alien/side/pressure tension=.34 opening=@/alien/side/opening noise=.04 mass=.22 damping=.15 stiffness=.026 reservoir_pressure=1 downstream_pressure=.02 load_coupling=.34 rest_opening=.04 drive=.95
branch name=side_coupler from_path=core from_position=.58 to_path=side to_position=1 kind=resonator opening=@/alien/branch/opening coupling=.62 passive=true
radiation_port name=aperture path=core kind=vent model=wall position=1 opening=@/alien/aperture reflection=-.58 loss=.96
wave_clock name=alien_clock strategy=linear max_delay=4096 smoothing_ms=4
acoustic_network name=alien_multivalve path=core wave_clock=alien_clock sources=core_valve,side_valve branches=side_coupler radiation=aperture
acoustic network=alien_multivalve freq=190 gain=.20 sustain=.9 decay=.12

View file

@ -0,0 +1,37 @@
patch gain=0.40 soft_clip=true
param path=/bird/left/pressure default=.84 min=0 max=1.5 step=.001 rate=audio
param path=/bird/right/pressure default=.72 min=0 max=1.5 step=.001 rate=audio
param path=/bird/left/opening default=.20 min=0 max=1 step=.001 rate=audio
param path=/bird/right/opening default=.18 min=0 max=1 step=.001 rate=audio
param path=/bird/left/tension default=.46 min=0 max=1 step=.001 rate=audio
param path=/bird/right/tension default=.52 min=0 max=1 step=.001 rate=audio
param path=/bird/beak/opening default=.92 min=0 max=1.5 step=.001
curve name=left_air path=/bird/left/pressure points=0:.04,.025:.92,.22:.78,.54:.88,.82:.18 mode=blend depth=.95 rate=audio
curve name=right_air path=/bird/right/pressure points=0:.02,.035:.75,.18:.82,.48:.62,.82:.12 mode=blend depth=.95 rate=audio
curve name=left_labium_gate path=/bird/left/opening points=0:.01,.03:.21,.62:.18,.82:.02 mode=blend depth=.9 rate=audio
curve name=right_labium_gate path=/bird/right/opening points=0:.01,.035:.18,.54:.15,.82:.02 mode=blend depth=.9 rate=audio
curve name=beak_gate path=/bird/beak/opening points=0:.22,.04:.92,.44:1.08,.82:.35 mode=blend depth=.75
gesture name=two_sided_song curves=left_air,right_air,left_labium_gate,right_labium_gate,beak_gate depth=1
area_curve name=left_bronchus_curve length_cm=3.6 diameters=.18,.24,.31,.38
area_curve name=right_bronchus_curve length_cm=3.4 diameters=.17,.23,.30,.36
area_curve name=trachea_curve length_cm=8.2 diameters=.36,.46,.54,.48,.38
path name=left_bronchus area_curve=left_bronchus_curve loss=.996 loss_model=wall
path name=right_bronchus area_curve=right_bronchus_curve loss=.996 loss_model=wall
path name=trachea area_curve=trachea_curve loss=.997 loss_model=viscous
source_port name=left_labium path=left_bronchus kind=syrinx law=one_mass position=0 pressure=@/bird/left/pressure tension=@/bird/left/tension opening=@/bird/left/opening noise=.018 mass=.24 damping=.11 stiffness=.032 saturation=.82 reservoir_pressure=1 downstream_pressure=.02 load_coupling=.46 rest_opening=.018 drive=1.22
source_port name=right_labium path=right_bronchus kind=syrinx law=one_mass position=0 pressure=@/bird/right/pressure tension=@/bird/right/tension opening=@/bird/right/opening noise=.016 balance=.94 mass=.25 damping=.12 stiffness=.036 saturation=.84 reservoir_pressure=1 downstream_pressure=.02 load_coupling=.46 rest_opening=.018 drive=1.18
terminal name=left_merge path=left_bronchus position=1 kind=junction area_scale=1
terminal name=right_merge path=right_bronchus position=1 kind=junction area_scale=1
terminal name=trachea_base path=trachea position=0 kind=junction area_scale=1
connect name=syrinx_merge terminals=left_merge,right_merge,trachea_base law=area_scatter coupling=1
radiation_port name=beak path=trachea kind=beak model=beak position=1 opening=@/bird/beak/opening reflection=-.72 loss=.98
wave_clock name=bird_clock strategy=linear max_delay=2048 smoothing_ms=2
acoustic_network name=bird_syrinx_graph path=trachea wave_clock=bird_clock sources=left_labium,right_labium radiation=beak terminals=left_merge,right_merge,trachea_base connections=syrinx_merge
acoustic network=bird_syrinx_graph freq=980 gain=.24 sustain=.82 decay=.06

View file

@ -0,0 +1,32 @@
patch gain=0.34 soft_clip=true
param path=/human/subglottal default=.78 min=0 max=1.5 step=.001 rate=audio
param path=/human/fold/opening default=.16 min=0 max=1 step=.001 rate=audio
param path=/human/fold/tension default=.58 min=0 max=1 step=.001 rate=audio
param path=/human/tongue/index default=3.3 min=0 max=6 step=.001
param path=/human/tongue/diameter default=1.25 min=.05 max=3 step=.001
param path=/human/constriction/index default=4.8 min=0 max=6 step=.001
param path=/human/constriction/diameter default=.95 min=.02 max=3 step=.001
param path=/human/lip/opening default=1.2 min=0 max=2 step=.001
curve name=breath_phrase path=/human/subglottal points=0:.05,.08:.80,.72:.76,1.1:.18 mode=blend depth=.9 rate=audio
curve name=fold_onset path=/human/fold/opening points=0:.02,.06:.18,.88:.14,1.1:.03 mode=blend depth=.8 rate=audio
curve name=lip_vowel path=/human/lip/opening points=0:.8,.35:1.25,.75:.72,1.1:1.05 mode=blend depth=.65
gesture name=modal_vowel curves=breath_phrase,fold_onset,lip_vowel depth=1
area_curve name=tracheal_tube length_cm=12 diameters=.32,.46,.58,.66,.70
area_curve name=oral_vowel length_cm=17 diameters=.55,.72,1.05,1.45,1.58,1.30,.82
path name=trachea area_curve=tracheal_tube loss=.998 loss_model=viscous
path name=oral area_curve=oral_vowel loss=.997 loss_model=birkholz_2024 tongue_index=@/human/tongue/index tongue_diameter=@/human/tongue/diameter constriction_index=@/human/constriction/index constriction_diameter=@/human/constriction/diameter lip=@/human/lip/opening
source_port name=folds path=trachea kind=glottal law=two_mass position=1 pressure=@/human/subglottal tension=@/human/fold/tension opening=@/human/fold/opening noise=.035 upper_mass=.22 lower_mass=.36 upper_stiffness=.04 lower_stiffness=.06 coupling_stiffness=.09 collision_stiffness=.62 collision_damping=.18 vertical_phase=.24 reservoir_pressure=1 downstream_pressure=.05 load_coupling=.42 rest_opening=.012 drive=1.05
terminal name=trachea_top path=trachea position=1 kind=junction
terminal name=oral_back path=oral position=0 kind=junction
connect name=larynx_to_tract terminals=folds,trachea_top,oral_back law=area_scatter coupling=.92
radiation_port name=mouth path=oral kind=lip model=lip_piston position=1 opening=@/human/lip/opening reflection=-.82 loss=.98
wave_clock name=continuous strategy=linear max_delay=4096 smoothing_ms=3
acoustic_network name=human_larynx path=oral wave_clock=continuous sources=folds radiation=mouth terminals=trachea_top,oral_back connections=larynx_to_tract
acoustic network=human_larynx freq=145 gain=.18 sustain=1.1 decay=.08