Beispiel #1
0
 def test_interpolation(self):
     p0 = old.PitchInterpolation(3, mel.SimplePitch(0, 300))
     p1 = old.PitchInterpolation(4, mel.SimplePitch(0, 0))
     p2 = old.PitchInterpolation(0, mel.SimplePitch(0, -300))
     line = interpolations.InterpolationLine((p0, p1, p2))
     interpol = line(1)
     self.assertEqual(interpol, (300, 200, 100, 0, -100, -200, -300))
     self.assertRaises(
         ValueError, lambda: interpolations.InterpolationLine((p0, p0, p1))
     )
Beispiel #2
0
 def test_vibrato_line(self):
     p0 = old.PitchInterpolation(2, mel.SimplePitch(0, 300))
     p1 = old.PitchInterpolation(4, mel.SimplePitch(0, 200))
     p2 = old.PitchInterpolation(0, mel.SimplePitch(0, 600))
     p3 = old.PitchInterpolation(4, mel.SimplePitch(0, -200))
     p4 = old.PitchInterpolation(2, mel.SimplePitch(0, -600))
     p5 = old.PitchInterpolation(0, mel.SimplePitch(0, -900))
     r0 = old.RhythmicInterpolation(6, rhy.Unit(2))
     r1 = old.RhythmicInterpolation(0, rhy.Unit(2))
     line0 = interpolations.InterpolationLine((p0, p1, p2))
     line1 = interpolations.InterpolationLine((p3, p4, p5))
     line2 = interpolations.InterpolationLine((r0, r1))
     vib0 = old.VibratoLine(line0, line1, line2, "up")
     vib1 = old.VibratoLine(line0, line1, line2, "down")
     interpol0 = vib0.interpolate(0.5)
     interpol1 = vib1.interpolate(0.5)
     self.assertNotEqual(interpol0, interpol1)
     self.assertEqual(
         tuple(round(n, 2) for n in interpol0),
         (
             -0.0,
             275.0,
             -0.0,
             -371.43,
             -0.0,
             257.14,
             -0.0,
             -600.0,
             -0.0,
             485.71,
             -0.0,
             -900.0,
         ),
     )
     self.assertEqual(
         tuple(round(n, 2) for n in interpol1),
         (
             0.0,
             -257.14,
             0.0,
             225.0,
             0.0,
             -485.71,
             0.0,
             371.43,
             0.0,
             -750.0,
             0.0,
             600.0,
         ),
     )
Beispiel #3
0
 def test_glissando_line(self):
     p0 = old.PitchInterpolation(3, mel.SimplePitch(0, 300))
     p1 = old.PitchInterpolation(4, mel.SimplePitch(0, 0))
     p2 = old.PitchInterpolation(0, mel.SimplePitch(0, -300))
     line = interpolations.InterpolationLine((p0, p1, p2))
     gliss = old.GlissandoLine(line)
     interpol0 = gliss.interpolate(1)
     self.assertEqual(interpol0, (300, 200, 100, 0, -100, -200, -300))
Beispiel #4
0
def add_glissando(
    nth_event: int,
    scale_degrees: tuple,
    novent_line: lily.NOventLine,
    durations: tuple = tuple([]),
    verse_maker: mus.SegmentMaker = None,
    adapt_by_changed_structure: bool = False,
):
    n_scale_degrees = len(scale_degrees)

    assert verse_maker or durations or n_scale_degrees in (1, 2)

    if not durations:
        if n_scale_degrees == 2:
            durations = (novent_line[nth_event].duration, )
        elif n_scale_degrees > 2:
            durations = tuple(
                fractions.Fraction(nv.delay) for nv in split_by_structure(
                    nth_event,
                    n_scale_degrees - 1,
                    novent_line,
                    verse_maker=verse_maker,
                    change_novent_line=False,
                    adapt_by_changed_structure=adapt_by_changed_structure,
                ))

    assert len(durations) == len(scale_degrees) - 1

    novent = novent_line[nth_event].copy()
    normalized_pitch = novent.pitch[0].normalize()

    instrument = globals_.PITCH2INSTRUMENT[normalized_pitch]
    octave = novent.pitch[0].octave
    pitch_zone = tuple(
        p.register(octave) for p in sorted(
            tuple(
                p.copy() for p in globals_.SCALE_PER_INSTRUMENT[instrument])))
    pitch_zone = functools.reduce(
        operator.add,
        (tuple(p + ji.JIPitch([n - 1]) for p in pitch_zone) for n in range(3)),
    )

    pitch_null_idx = pitch_zone.index(novent.pitch[0])

    durations += (0, )

    interpolation_line = []
    for relative_pitch_class, duration in zip(scale_degrees, durations):
        pc = relative_pitch_class % 7
        octave = relative_pitch_class // 7
        pitch = pitch_zone[pc + pitch_null_idx] + ji.JIPitch(
            [octave]) - novent.pitch[0]
        interpolation_line.append(old.PitchInterpolation(duration, pitch))

    novent_line[nth_event].glissando = old.GlissandoLine(
        interpolations.InterpolationLine(interpolation_line))
Beispiel #5
0
    def mk_envelope(
        voice: old.Melody,
        shadow_time: float,
        duration: float,
        average_volume: float,
        min_volume: float,
        max_volume: float,
        make_envelope: bool,
        anticipation_time: float,
        overlaying_time: float,
    ) -> interpolations.InterpolationLine:

        volume_difference = max_volume - min_volume
        max_volume_of_melody = max(voice.volume)

        def detect_volume(tone_volume: float) -> float:
            percentage = tone_volume / max_volume_of_melody
            return (percentage * volume_difference) + min_volume

        if make_envelope:
            events = tuple(
                (float(tone.delay) + anticipation_time, detect_volume(tone.volume))
                for tone in voice.convert2absolute()
            )
            envelope = interpolations.ShadowInterpolationLine(
                average_volume, shadow_time, events, duration
            )

        else:
            envelope = interpolations.InterpolationLine(
                (
                    interpolations.FloatInterpolationEvent(duration, max_volume),
                    interpolations.FloatInterpolationEvent(0, max_volume),
                )
            )

        return envelope
Beispiel #6
0
         },
         level_per_effect={
             "original": infit.Gaussian(0.1, 0.05),
             "filter": infit.Gaussian(16.2, 3.25),
             "harmonizer": infit.Gaussian(0.5, 0.15),
             "chenlee": infit.Gaussian(0.09, 0.02),
             "lorenz": infit.Gaussian(0.2, 0.02),
             "noise": infit.Gaussian(0.22, 0.04),
         },
         transpo_maker=infit.Uniform(0.24, 0.9),
         filter_freq_maker=infit.Gaussian(110, 50),
         filter_q_maker=infit.Gaussian(25, 5),
         curve=interpolations.InterpolationLine(
             [
                 interpolations.FloatInterpolationEvent(0.25, 0.01),
                 interpolations.FloatInterpolationEvent(0.8, 1),
                 interpolations.FloatInterpolationEvent(0.3, 1),
                 interpolations.FloatInterpolationEvent(0, 0.1),
             ]
         ),
     ),
 },
 "speech2": {
     "start": 1.29,
     "duration": 80,
     "sound_engine": speech.BrokenRadio(
         ("pbIII/samples/speech/sliced/fisher/0/",),
         duration=80,
         volume=0.25,
         activity_lv_per_effect={
             "original": 8,
             "harmonizer": 3,
def make(name: str = "TWO", gender=False, group=0, sub_group0=1):
    return (segments.MelodicCP(
        "{}_0".format(name),
        volume_envelope=interpolations.InterpolationLine([
            interpolations.FloatInterpolationEvent(11, 1),
            interpolations.FloatInterpolationEvent(4, 1),
            interpolations.FloatInterpolationEvent(0, 0.4),
        ]),
        volume_envelope_per_track={
            "voiceP0":
            interpolations.InterpolationLine([
                interpolations.FloatInterpolationEvent(4, 0),
                interpolations.FloatInterpolationEvent(6, 1),
                interpolations.FloatInterpolationEvent(2, 1),
                interpolations.FloatInterpolationEvent(0, 0),
            ]),
            "divaP0":
            interpolations.InterpolationLine([
                interpolations.FloatInterpolationEvent(4, 0),
                interpolations.FloatInterpolationEvent(6, 1),
                interpolations.FloatInterpolationEvent(2, 1),
                interpolations.FloatInterpolationEvent(0, 0),
            ]),
            "voiceP1":
            interpolations.InterpolationLine([
                interpolations.FloatInterpolationEvent(2, 0),
                interpolations.FloatInterpolationEvent(0, 1),
            ]),
            "voiceP2":
            interpolations.InterpolationLine([
                interpolations.FloatInterpolationEvent(3, 0),
                interpolations.FloatInterpolationEvent(0, 1),
            ]),
        },
        ambitus_maker=ambitus.SymmetricalRanges(ji.r(2, 1), ji.r(3, 1),
                                                ji.r(5, 4)),
        random_seed=1000,
        group=(group, sub_group0, 0),
        action_per_voice=(0.94, 0.93),
        sound_per_voice=(0.85, 0.85),
        phrases=(0, ),
        melody_register=1,
        melodic_weight=0,
        weight_range=(0.3, 1),
        harmonicity_range=(0.25, 1),
        gender=gender,
        duration_per_bar=13,
        start=0,
        dynamic_range_of_voices=(0.4, 0.6),
        anticipation_time=2.7,
        overlaying_time=2.2,
        voices_overlaying_time=3.5,
        pteq_engine_per_voice=(
            pteq.mk_super_soft_pte(
                empty_attack_dynamic_maker=infit.Value(0.3),
                fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                preset=None,
                sustain_pedal=1,
            ),
            pteq.mk_dreamy_pte(
                modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                empty_attack_dynamic_maker=infit.Value(0.4),
            ),
            pteq.mk_super_soft_pte(
                modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                empty_attack_dynamic_maker=infit.Value(0.3),
                fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                preset=None,
            ),
        ),
        percussion_engine_per_voice=(
            percussion.Rhythmizer(
                voice_meters2occupy=(0, ),
                chord=infit.Cycle((
                    harmony.find_harmony(name="A", gender=gender),
                    harmony.find_harmony(name="C", gender=gender),
                )),
                sample_maker=infit.Cycle((
                    percussion.ResonanceSample(
                        path=infit.Cycle(globals.SAM_CYMBALS_BIG_AGGRESSIVE),
                        pitch_factor=infit.Uniform(2, 6),
                        resonance_filter_bandwidth=infit.Uniform(0.4, 2),
                        resonance_filter_octave=infit.Cycle(
                            (2, 4, 3, 4, 1, 2)),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.2),
                        glissando_offset=infit.Uniform(0, 0.1),
                        glissando_size=infit.Gaussian(1, 0.2),
                    ),
                    percussion.ResonanceSample(
                        path=infit.Cycle(
                            globals.SAM_CYMBALS_MIDDLE_AGGRESSIVE),
                        pitch_factor=infit.Uniform(2, 5),
                        resonance_filter_bandwidth=infit.Uniform(0.5, 2),
                        resonance_filter_octave=infit.Cycle((2, 3, 4, 1, 2)),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.2),
                        glissando_offset=infit.Uniform(0, 0.1),
                        glissando_size=infit.Gaussian(1, 0.2),
                    ),
                )),
                likelihood_range=(0.75, 0.225),
                volume_range=(0.1, 0.5),
                ignore_beats_occupied_by_voice=False,
            ),
            percussion.Rhythmizer(
                voice_meters2occupy=(1, ),
                chord=infit.Cycle((
                    harmony.find_harmony(name="A", gender=gender),
                    harmony.find_harmony(name="C", gender=gender),
                )),
                sample_maker=infit.Cycle((
                    percussion.ResonanceSample(
                        path=infit.Cycle(globals.SAM_CYMBALS_BIG_CLOSE),
                        pitch_factor=infit.Gaussian(3, 5),
                        resonance_filter_bandwidth=infit.Gaussian(0.8, 0.5),
                        resonance_filter_octave=infit.Cycle((2, )),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.3),
                        glissando_offset=0,
                        glissando_size=infit.Gaussian(1, 0.2),
                    ),
                    percussion.ResonanceSample(
                        path=infit.Cycle(
                            globals.SAM_CYMBALS_MIDDLE_CLOSE_LOUD),
                        pitch_factor=infit.Gaussian(3, 4),
                        resonance_filter_bandwidth=infit.Uniform(0.5, 1),
                        resonance_filter_octave=infit.Cycle((2, )),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.2),
                        glissando_offset=0,
                        glissando_size=infit.Gaussian(1, 0.1),
                    ),
                )),
                likelihood_range=(0.6, 0.1),
                volume_range=(0.1, 0.8),
                ignore_beats_occupied_by_voice=False,
            ),
            percussion.Rhythmizer(
                voice_meters2occupy=(0, 1, 2),
                chord=infit.Cycle((harmony.find_harmony(name="B",
                                                        gender=gender), )),
                sample_maker=infit.Cycle((
                    percussion.Sample(
                        path=infit.Cycle(
                            globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND),
                        frequency=globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND.
                        information["frequency"],
                        pitch_factor=infit.Cycle((2, 4, 8, 4)),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.2),
                        glissando_offset=infit.Uniform(0, 0.1),
                        glissando_size=infit.Gaussian(1, 0.2),
                    ),
                    percussion.Sample(
                        path=infit.Cycle(
                            globals.SAM_KENDANG_LOW_LOW_CLOSE_HAND),
                        frequency=globals.SAM_KENDANG_LOW_LOW_CLOSE_HAND.
                        information["frequency"],
                        pitch_factor=infit.Cycle((16, 8, 4, 8, 2)),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.2),
                        glissando_offset=infit.Uniform(0, 0.1),
                        glissando_size=infit.Gaussian(1, 0.2),
                    ),
                    percussion.Sample(
                        path=infit.Cycle(
                            globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND),
                        frequency=globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND.
                        information["frequency"],
                        pitch_factor=infit.Cycle((8, 4, 2, 4)),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.2),
                        glissando_offset=infit.Uniform(0, 0.1),
                        glissando_size=infit.Gaussian(1, 0.2),
                    ),
                    percussion.Sample(
                        path=infit.Cycle(
                            globals.SAM_KENDANG_HIGH_LOW_CLOSE_HAND),
                        frequency=globals.SAM_KENDANG_HIGH_LOW_CLOSE_HAND.
                        information["frequency"],
                        pitch_factor=infit.Cycle((8, 16, 8, 4, 8, 2)),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.2),
                        glissando_offset=infit.Uniform(0, 0.1),
                        glissando_size=infit.Gaussian(1, 0.2),
                    ),
                )),
                likelihood_range=(0.1, 0.5),
                volume_range=(0.1, 0.5),
                ignore_beats_occupied_by_voice=False,
            ),
        ),
        speech_init_attributes={},
        include_glitter=True,
        include_diva=True,
        include_natural_radio=True,
        include_percussion=True,
        radio_silent_channels=tuple([]),
        tracks2ignore=("speech0", "speech1", "speech2"),
        radio_samples=(
            globals.SAM_RADIO_ITALY[-1],
            globals.SAM_RADIO_BIELEFELD[-1],
        ),
        radio_n_changes=8,
        radio_average_volume=0.45,
        radio_shadow_time=0.08,
        radio_min_volume=0.955,
    ), )
Beispiel #8
0
def make(name: str = "ONE", gender=False, group=0, sub_group0=1):
    return (segments.MelodicCP(
        "{}_0".format(name),
        volume_envelope=interpolations.InterpolationLine([
            interpolations.FloatInterpolationEvent(0.1, 0),
            interpolations.FloatInterpolationEvent(0, 1),
        ]),
        volume_envelope_per_track={
            "voiceN0":
            interpolations.InterpolationLine([
                interpolations.FloatInterpolationEvent(3, 0),
                interpolations.FloatInterpolationEvent(18, 1),
                interpolations.FloatInterpolationEvent(5, 1),
                interpolations.FloatInterpolationEvent(0, 0),
            ])
        },
        ambitus_maker=ambitus.SymmetricalRanges(ji.r(1, 1), ji.r(3, 1),
                                                ji.r(4, 3)),
        random_seed=1000,
        group=(group, sub_group0, 0),
        action_per_voice=(0.74, 0.73),
        sound_per_voice=(0.85, 0.85),
        phrases=(0, 1),
        melody_register=0,
        melodic_weight=0,
        weight_range=(0.5, 1),
        harmonicity_range=(0.25, 1),
        gender=gender,
        duration_per_bar=12,
        start=0,
        dynamic_range_of_voices=(0.5, 0.9),
        anticipation_time=0.7,
        overlaying_time=1.2,
        voices_overlaying_time=3.5,
        pteq_engine_per_voice=(
            pteq.mk_super_soft_pte(
                empty_attack_dynamic_maker=infit.Value(0.2),
                fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                preset=None,
                sustain_pedal=0,
            ),
            pteq.mk_dreamy_pte(
                modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                empty_attack_dynamic_maker=infit.Value(0.2),
            ),
            pteq.mk_super_soft_pte(
                modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                empty_attack_dynamic_maker=infit.Value(0.2),
            ),
        ),
        percussion_engine_per_voice=(
            percussion.Rhythmizer(
                voice_meters2occupy=(1, 2),
                sample_maker=infit.Cycle((
                    percussion.Sample(
                        path=infit.Cycle(globals.SAM_CYMBALS_BIG_CLOSE),
                        pitch_factor=infit.Uniform(0.5, 2),
                    ),
                    percussion.Sample(
                        path=infit.Cycle(
                            globals.SAM_CYMBALS_MIDDLE_CLOSE_LOUD),
                        pitch_factor=infit.Uniform(0.5, 2),
                    ),
                    percussion.Sample(
                        path=infit.Cycle(
                            globals.SAM_CYMBALS_MIDDLE_CLOSE_QUIET),
                        pitch_factor=infit.Uniform(0.5, 2),
                    ),
                )),
                likelihood_range=(0.3, 1),
                volume_range=(0.1, 0.5),
                ignore_beats_occupied_by_voice=False,
            ),
            percussion.Rhythmizer(likelihood_range=(0, 0.1),
                                  volume_range=(0, 0)),
            percussion.Rhythmizer(likelihood_range=(0, 0.1),
                                  volume_range=(0, 0)),
        ),
        speech_init_attributes={},
        include_glitter=True,
        include_diva=True,
        include_natural_radio=True,
        include_percussion=True,
        radio_silent_channels=tuple([]),
        tracks2ignore=("speech0", "speech1", "speech2"),
        radio_samples=(
            globals.SAM_RADIO_ITALY[-1],
            globals.SAM_RADIO_BIELEFELD[-1],
        ),
        radio_n_changes=8,
        radio_average_volume=0.45,
        radio_shadow_time=0.08,
        radio_min_volume=0.955,
    ), )
Beispiel #9
0
def make(name: str = "TWO", gender=False, group=0, sub_group0=1):
    return (
        segments.Chord(
            "{}_Bell0".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(2, 1), ji.r(2, 1),
                                                    ji.r(5, 4)),
            group=(group, sub_group0, 0),
            chord=harmony.find_harmony(name="A", idx=0, gender=gender),
            gender=gender,
            n_bars=1,
            duration_per_bar=5,
            start=-3,
            # start=0,
            dynamic_range_of_voices=(0.6, 0.7),
            voices_entry_delay_per_voice=(0.03, 0.07, 0.01),
            anticipation_time=6,
            overlaying_time=0,
            pteq_engine_per_voice=(
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
            ),
            speech_init_attributes={},
            volume_envelope_per_track={
                "glitterN01":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(4, 0),
                    interpolations.FloatInterpolationEvent(2, 0.5),
                    interpolations.FloatInterpolationEvent(4, 1.1),
                    interpolations.FloatInterpolationEvent(0, 0.1),
                ]),
                "glitterN02":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(4, 0),
                    interpolations.FloatInterpolationEvent(2, 0.5),
                    interpolations.FloatInterpolationEvent(4, 1),
                    interpolations.FloatInterpolationEvent(0, 0.1),
                ]),
                "glitterN12":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(4, 0),
                    interpolations.FloatInterpolationEvent(2, 0.5),
                    interpolations.FloatInterpolationEvent(4, 1),
                    interpolations.FloatInterpolationEvent(0, 0.1),
                ]),
            },
            glitter_type="drone",
            glitter_wave_form_per_voice=("square", "saw", "square"),
            glitter_register_per_voice=(2, 3, 3),
            glitter_volume_per_voice=(3.85, 4.5, 4.5),
            glitter_modulater_per_voice=(None, None, None),
            glitter_release_duration=6,
            glitter_attack_duration=5,
            include_glitter=True,
            include_diva=False,
            include_natural_radio=False,
            include_percussion=False,
        ),
        segments.FreeStyleCP(
            "{}_0".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(2, 1), ji.r(12, 5),
                                                    ji.r(9, 5)),
            volume_envelope_per_track={
                "voiceN0":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(4, 0.2),
                    interpolations.FloatInterpolationEvent(6, 1),
                    interpolations.FloatInterpolationEvent(2, 1),
                    interpolations.FloatInterpolationEvent(0, 0),
                ]),
                "voiceN1":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(2, 0.2),
                    interpolations.FloatInterpolationEvent(0, 1),
                ]),
                "voiceN2":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(3, 0.2),
                    interpolations.FloatInterpolationEvent(0, 1),
                ]),
                "glitterN01":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(2, 0),
                    interpolations.FloatInterpolationEvent(2, 0.5),
                    interpolations.FloatInterpolationEvent(5, 1),
                    interpolations.FloatInterpolationEvent(0, 0.2),
                ]),
                "glitterN02":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(2, 0),
                    interpolations.FloatInterpolationEvent(2, 0.5),
                    interpolations.FloatInterpolationEvent(5, 1),
                    interpolations.FloatInterpolationEvent(0, 0.1),
                ]),
                "glitterN12":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(2, 0),
                    interpolations.FloatInterpolationEvent(2, 0.5),
                    interpolations.FloatInterpolationEvent(5, 1),
                    interpolations.FloatInterpolationEvent(0, 0.2),
                ]),
            },
            diva_engine_per_voice=(
                diva.FlageoletDivaMidiEngine,
                diva.FlageoletDivaMidiEngine,
                diva.FlageoletDivaMidiEngine,
            ),
            group=(group, sub_group0, 0),
            start_harmony=harmony.find_harmony("A",
                                               True,
                                               0,
                                               tuple([]),
                                               gender=gender),
            energy_per_voice=(5, 10, 10),
            silence_decider_per_voice=(
                infit.ActivityLevel(6),
                infit.ActivityLevel(3),
                infit.ActivityLevel(3),
            ),
            weight_range=(6, 10),
            decision_type="activity",
            gender=gender,
            n_bars=2,
            duration_per_bar=14.5,
            start=-5,
            dynamic_range_of_voices=(0.1, 0.24),
            anticipation_time=5.5,
            overlaying_time=1.25,
            cp_add_dissonant_pitches_to_nth_voice=(False, True, True),
            cp_constraints_interpolation=(
                counterpoint.constraints.AP_tremolo(
                    0,
                    add_tremolo_decider=infit.ActivityLevel(10),
                    only_on_non_dissonant_pitches=False,
                    define_tremolo_tones_as_dissonant=False,
                    tremolo_size_generator_per_tone=infit.MetaCycle(
                        (infit.Cycle, (4, 11, 5, 6, 7, 4, 3, 4, 19))),
                ),
                counterpoint.constraints.AP_tremolo(
                    1,
                    add_tremolo_decider=infit.ActivityLevel(7),
                    only_on_non_dissonant_pitches=True,
                    define_tremolo_tones_as_dissonant=False,
                    tremolo_size_generator_per_tone=infit.MetaCycle(
                        (infit.Cycle, ((4, 3, 10, 5, 3, 7, 4, 11, 3, 9,
                                        14), ))),
                ),
                counterpoint.constraints.AP_tremolo(
                    2,
                    add_tremolo_decider=infit.ActivityLevel(6),
                    only_on_non_dissonant_pitches=True,
                    define_tremolo_tones_as_dissonant=False,
                    tremolo_size_generator_per_tone=infit.MetaCycle(
                        (infit.Cycle, ((7, 5, 8, 5, 6, 12, 8, 9, 10, 4), ))),
                ),
            ),
            glitter_include_dissonant_pitches=False,
            voices_overlaying_time=1,
            pteq_engine_per_voice=(
                pteq.mk_super_soft_leading_pte(
                    modulator=(ornamentations.SoftLineGlissandoMaker(
                        activity_lv=7,
                        minima_glissando_duration=0.05,
                        maxima_glissando_duration=0.1,
                        minima_glissando_size=20,
                        maxima_glissando_size=70,
                    ), ),
                    empty_attack_dynamic_maker=infit.Value(0.2),
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    sustain_pedal=0,
                ),
                pteq.mk_dreamy_pte(
                    empty_attack_dynamic_maker=infit.Uniform(0.15, 0.3),
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    convert_dissonant_tones2glissandi=True,
                ),
                pteq.mk_dreamy_pte(
                    empty_attack_dynamic_maker=infit.Uniform(0.15, 0.3),
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    convert_dissonant_tones2glissandi=True,
                ),
            ),
            percussion_engine_per_voice=(
                percussion.Rhythmizer(
                    voice_meters2occupy=(0, ),
                    chord=infit.Cycle((
                        harmony.find_harmony(name="A", gender=gender),
                        harmony.find_harmony(name="C", gender=gender),
                    )),
                    sample_maker=infit.Cycle((
                        percussion.ResonanceSample(
                            path=infit.Cycle(
                                globals.SAM_CYMBALS_BIG_AGGRESSIVE),
                            pitch_factor=infit.Uniform(2, 6),
                            resonance_filter_bandwidth=infit.Uniform(0.4, 2),
                            resonance_filter_octave=infit.Cycle(
                                (2, 4, 3, 4, 1, 2)),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=infit.Uniform(0, 0.1),
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                        percussion.ResonanceSample(
                            path=infit.Cycle(
                                globals.SAM_CYMBALS_MIDDLE_AGGRESSIVE),
                            pitch_factor=infit.Uniform(2, 5),
                            resonance_filter_bandwidth=infit.Uniform(0.5, 2),
                            resonance_filter_octave=infit.Cycle(
                                (2, 3, 4, 1, 2)),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=infit.Uniform(0, 0.1),
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                    )),
                    likelihood_range=(0.3, 0.1),
                    volume_range=(0.1, 0.5),
                    ignore_beats_occupied_by_voice=False,
                ),
                percussion.Rhythmizer(
                    voice_meters2occupy=(1, ),
                    sample_maker=infit.Cycle((
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_LOW_LOW_FAR_MALLET),
                            frequency=globals.SAM_KENDANG_LOW_LOW_FAR_MALLET.
                            information["frequency"],
                            pitch_factor=infit.Cycle((0.5, 1, 0.25, 1, 0.5)),
                            distortion=infit.Uniform(0.7, 1.4),
                        ),
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_HIGH_LOW_FAR_MALLET),
                            frequency=globals.SAM_KENDANG_HIGH_LOW_FAR_MALLET.
                            information["frequency"],
                            pitch_factor=infit.Cycle((1, 0.25, 1)),
                            distortion=infit.Uniform(0.7, 1.3),
                        ),
                    )),
                    likelihood_range=(0.1, 0.325),
                    volume_range=(0.45, 0.64),
                    ignore_beats_occupied_by_voice=False,
                ),
                percussion.Rhythmizer(
                    voice_meters2occupy=(2, ),
                    sample_maker=infit.Cycle((percussion.Sample(
                        path=infit.Cycle(globals.SAM_RADIO_ROEHRENRADIO_KEYS),
                        pitch_factor=infit.Uniform(1.4, 2.75),
                        distortion=infit.Uniform(0.3, 1),
                    ), )),
                    likelihood_range=(0.08, 0.54),
                    volume_range=(0.54, 0.8),
                    ignore_beats_occupied_by_voice=False,
                    seed=39,
                ),
            ),
            speech_init_attributes={},
            glitter_modulater_per_voice=("randomi", "randomh", "randomh"),
            glitter_attack_duration=infit.Gaussian(1.2, 0.3),
            glitter_release_duration=infit.Gaussian(1, 0.2),
            include_glitter=True,
            include_diva=True,
            include_natural_radio=True,
            include_percussion=True,
            # radio_silent_channels=(0, 2, 4),
            radio_samples=(
                globals.SAM_RADIO_ROEHRENRADIO_FAR_KURZWELLE[0],
                globals.SAM_RADIO_ROEHRENRADIO_CLOSE_KURZWELLE[0],
            ),
            radio_n_changes=3,
            radio_average_volume=0.425,
            radio_shadow_time=0.04,
            radio_min_volume=0.725,
            radio_attack_duration=infit.Gaussian(1, 0.1),
            radio_release_duration=infit.Gaussian(5.2, 0.2),
        ),
        segments.Chord(
            "{}_CF_BELL_0".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(7, 1), ji.r(2, 1),
                                                    ji.r(4, 3)),
            group=(group, sub_group0, 1),
            chord=harmony.find_harmony(name="C", gender=gender),
            gender=gender,
            n_bars=1,
            duration_per_bar=8,
            start=-1.35,
            dynamic_range_of_voices=(0.4, 0.5),
            anticipation_time=2.25,
            overlaying_time=3.25,
            pteq_engine_per_voice=(
                pteq.mk_pianoteq_engine(
                    fxp='"pbIII/fxp/Bells_no_stretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_pianoteq_engine(
                    fxp='"pbIII/fxp/Bells_no_stretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_dreamy_pte(
                    fxp='"pbIII/fxp/Bells_no_stretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
            ),
            radio_samples=(
                globals.SAM_RADIO_ITALY[-1],
                globals.SAM_RADIO_BIELEFELD[-1],
            ),
            speech_init_attributes={},
            include_glitter=False,
            include_diva=False,
            include_natural_radio=True,
            include_percussion=False,
        ),
        segments.Chord(
            "{}_Bell1".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(2, 1), ji.r(2, 1),
                                                    ji.r(5, 4)),
            group=(group, sub_group0, 1),
            chord=harmony.find_harmony(name="A", idx=0, gender=gender),
            gender=gender,
            n_bars=1,
            duration_per_bar=5,
            start=-5,
            dynamic_range_of_voices=(0.44, 0.54),
            voices_entry_delay_per_voice=(0.03, 0.07, 0.01),
            anticipation_time=5,
            overlaying_time=0,
            pteq_engine_per_voice=(
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
            ),
            speech_init_attributes={},
            volume_envelope_per_track={
                "glitterN01":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(3, 0),
                    interpolations.FloatInterpolationEvent(2, 0.3),
                    interpolations.FloatInterpolationEvent(4, 1.1),
                    interpolations.FloatInterpolationEvent(0, 0.1),
                ]),
                "glitterN02":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(3, 0),
                    interpolations.FloatInterpolationEvent(2, 0.3),
                    interpolations.FloatInterpolationEvent(4, 1),
                    interpolations.FloatInterpolationEvent(0, 0.1),
                ]),
                "glitterN12":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(3, 0),
                    interpolations.FloatInterpolationEvent(2, 0.3),
                    interpolations.FloatInterpolationEvent(4, 1),
                    interpolations.FloatInterpolationEvent(0, 0.1),
                ]),
            },
            glitter_type="drone",
            glitter_wave_form_per_voice=("square", "saw", "square"),
            glitter_register_per_voice=(3, 3, 4),
            glitter_volume_per_voice=(3.65, 4.4, 4.4),
            glitter_modulater_per_voice=(None, None, None),
            glitter_release_duration=6,
            glitter_attack_duration=5,
            include_glitter=True,
            include_diva=False,
            include_natural_radio=False,
            include_percussion=False,
        ),
        segments.MelodicCP(
            "{}_1".format(name),
            volume_envelope_per_track={
                "voiceN0":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(10, 2.1),
                    interpolations.FloatInterpolationEvent(0, 2.7),
                ]),
            },
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(2, 1), ji.r(3, 1),
                                                    ji.r(5, 4)),
            random_seed=100,
            group=(group, sub_group0, 1),
            action_per_voice=(0.7, 0.73),
            sound_per_voice=(0.82, 0.87),
            phrases=(0, ),
            melody_register=1,
            melodic_weight=0,
            weight_range=(0.3, 1),
            harmonicity_range=(0.25, 1),
            gender=gender,
            duration_per_bar=9.25,
            start=-5,
            dynamic_range_of_voices=(0.2, 0.35),
            anticipation_time=3,
            overlaying_time=2.2,
            voices_overlaying_time=3.5,
            glitter_attack_duration=infit.Gaussian(2.1, 0.15),
            glitter_release_duration=infit.Gaussian(1, 0.15),
            tremolo_maker_per_voice=(
                None,
                None,
                tremolo.TremoloMaker(
                    add_tremolo_decider=infit.ActivityLevel(6),
                    tremolo_size_generator_per_tone=infit.MetaCycle(
                        (infit.Gaussian, (0.2675, 0.11))),
                    tremolo_volume_factor=0.48,
                ),
            ),
            pteq_engine_per_voice=(
                pteq.mk_super_soft_leading_pte(
                    empty_attack_dynamic_maker=infit.Value(0.3),
                    fxp='"pbIII/fxp/VibraphoneV-BHumanizednostretching.fxp"',
                    preset=None,
                    sustain_pedal=1,
                ),
                pteq.mk_dreamy_pte(
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    empty_attack_dynamic_maker=infit.Value(0.4),
                ),
                pteq.mk_super_soft_pte(
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    empty_attack_dynamic_maker=infit.Value(0.3),
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    sustain_pedal=0,
                ),
            ),
            diva_engine_per_voice=(
                diva.FlageoletDivaMidiEngine,
                diva.FlageoletDivaMidiEngine,
                diva.FlageoletDivaMidiEngine,
            ),
            percussion_engine_per_voice=(),
            speech_init_attributes={},
            include_glitter=True,
            include_diva=False,
            include_natural_radio=True,
            include_percussion=False,
            radio_silent_channels=(0, 2, 4),
            radio_samples=(globals.SAM_RADIO_PROCESSED_DEGRADE[0], ),
            radio_n_changes=2,
            radio_average_volume=0.08,
            radio_shadow_time=0.08,
            radio_min_volume=0.755,
        ),
        segments.MelodicCP(
            "{}_2".format(name),
            volume_envelope_per_track={
                "voiceN0":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(13, 2.2),
                    interpolations.FloatInterpolationEvent(5, 2.75),
                    interpolations.FloatInterpolationEvent(0, 1),
                ]),
                "voiceN1":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(16.5, 1),
                    interpolations.FloatInterpolationEvent(5, 0.9),
                    interpolations.FloatInterpolationEvent(0, 0.335),
                ]),
                "voiceN2":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(17, 1),
                    interpolations.FloatInterpolationEvent(4, 0.9),
                    interpolations.FloatInterpolationEvent(0, 0.4),
                ]),
            },
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(3, 1), ji.r(3, 1),
                                                    ji.r(5, 4)),
            random_seed=1,
            group=(group, sub_group0, 2),
            action_per_voice=(0.6, 0.63),
            sound_per_voice=(0.82, 0.87),
            phrases=(0, ),
            melody_register=1,
            melodic_weight=0,
            weight_range=(0.3, 1),
            harmonicity_range=(0.25, 1),
            gender=gender,
            duration_per_bar=8.9,
            start=0.75,
            dynamic_range_of_voices=(0.24, 0.55),
            anticipation_time=2,
            overlaying_time=2.2,
            voices_overlaying_time=3.5,
            glitter_attack_duration=infit.Gaussian(1.9, 0.15),
            glitter_release_duration=infit.Gaussian(1, 0.15),
            tremolo_maker_per_voice=(
                None,
                tremolo.TremoloMaker(
                    add_tremolo_decider=infit.ActivityLevel(6),
                    tremolo_size_generator_per_tone=infit.MetaCycle(
                        (infit.Gaussian, (0.2675, 0.11))),
                    tremolo_volume_factor=0.48,
                ),
                tremolo.TremoloMaker(
                    add_tremolo_decider=infit.ActivityLevel(6),
                    tremolo_size_generator_per_tone=infit.MetaCycle(
                        (infit.Gaussian, (0.2675, 0.11))),
                    tremolo_volume_factor=0.48,
                ),
            ),
            pteq_engine_per_voice=(
                pteq.mk_super_soft_leading_pte(
                    empty_attack_dynamic_maker=infit.Value(0.3),
                    fxp='"pbIII/fxp/VibraphoneV-BHumanizednostretching.fxp"',
                    preset=None,
                    sustain_pedal=1,
                ),
                pteq.mk_dreamy_pte(
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    empty_attack_dynamic_maker=infit.Value(0.4),
                ),
                pteq.mk_super_soft_pte(
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    empty_attack_dynamic_maker=infit.Value(0.3),
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    sustain_pedal=0,
                ),
            ),
            diva_engine_per_voice=(
                diva.FlageoletDivaMidiEngine,
                diva.FlageoletDivaMidiEngine,
                diva.FlageoletDivaMidiEngine,
            ),
            percussion_engine_per_voice=(),
            speech_init_attributes={},
            include_glitter=True,
            include_diva=False,
            include_natural_radio=True,
            include_percussion=False,
            radio_silent_channels=(0, 2, 4),
            radio_samples=(globals.SAM_RADIO_PROCESSED_DEGRADE[0], ),
            radio_n_changes=2,
            radio_average_volume=0.1,
            radio_shadow_time=0.08,
            radio_min_volume=0.955,
        ),
        segments.Chord(
            "{}_Bell2".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(5, 1), ji.r(2, 1),
                                                    ji.r(5, 4)),
            group=(group, sub_group0, 2),
            chord=harmony.find_harmony(name="A", idx=0, gender=gender),
            gender=gender,
            n_bars=1,
            duration_per_bar=8,
            start=1,
            dynamic_range_of_voices=(0.34, 0.42),
            voices_entry_delay_per_voice=(0, 0.09, 0.05),
            anticipation_time=0,
            overlaying_time=0,
            pteq_engine_per_voice=(
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
            ),
            speech_init_attributes={},
            include_glitter=False,
            include_diva=False,
            include_natural_radio=False,
            include_percussion=False,
        ),
    )
Beispiel #10
0
def make(name: str = "ONE", gender=True, group=0, sub_group0=0):
    return (
        segments.MelodicCP(
            "{}_0".format(name),
            volume_envelope=interpolations.InterpolationLine([
                interpolations.FloatInterpolationEvent(11, 1),
                interpolations.FloatInterpolationEvent(4, 1),
                interpolations.FloatInterpolationEvent(0, 0.4),
            ]),
            volume_envelope_per_track={
                "voiceP0":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(4, 0.7),
                    interpolations.FloatInterpolationEvent(6, 1.1),
                    interpolations.FloatInterpolationEvent(2, 1.1),
                    interpolations.FloatInterpolationEvent(0, 0.4),
                ]),
                "divaP0":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(4, 0.4),
                    interpolations.FloatInterpolationEvent(6, 1),
                    interpolations.FloatInterpolationEvent(2, 1),
                    interpolations.FloatInterpolationEvent(0, 0),
                ]),
                "voiceP1":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(2, 0),
                    interpolations.FloatInterpolationEvent(0, 1),
                ]),
                "voiceP2":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(3, 0),
                    interpolations.FloatInterpolationEvent(0, 1),
                ]),
            },
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(2, 1), ji.r(3, 1),
                                                    ji.r(5, 4)),
            random_seed=1000,
            group=(group, sub_group0, 0),
            action_per_voice=(0.94, 0.93),
            sound_per_voice=(0.89, 0.87),
            phrases=(0, ),
            melody_register=1,
            melodic_weight=0,
            weight_range=(0.3, 1),
            harmonicity_range=(0.25, 1),
            gender=gender,
            duration_per_bar=13,
            start=0,
            dynamic_range_of_voices=(0.4, 0.75),
            anticipation_time=3,
            overlaying_time=2.2,
            voices_overlaying_time=3.5,
            glitter_attack_duration=infit.Gaussian(1.9, 0.15),
            glitter_release_duration=infit.Gaussian(1, 0.15),
            tremolo_maker_per_voice=(
                None,
                None,
                tremolo.TremoloMaker(
                    add_tremolo_decider=infit.ActivityLevel(6),
                    tremolo_size_generator_per_tone=infit.MetaCycle(
                        (infit.Gaussian, (0.2675, 0.11))),
                    tremolo_volume_factor=0.48,
                ),
            ),
            pteq_engine_per_voice=(
                pteq.mk_super_soft_leading_pte(
                    empty_attack_dynamic_maker=infit.Value(0.3),
                    fxp='"pbIII/fxp/VibraphoneV-BHumanizednostretching.fxp"',
                    preset=None,
                    sustain_pedal=1,
                ),
                pteq.mk_dreamy_pte(
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    empty_attack_dynamic_maker=infit.Value(0.4),
                ),
                pteq.mk_super_soft_pte(
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    empty_attack_dynamic_maker=infit.Value(0.3),
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    sustain_pedal=0,
                ),
            ),
            diva_engine_per_voice=(
                diva.FlageoletDivaMidiEngine,
                diva.FlageoletDivaMidiEngine,
                diva.FlageoletDivaMidiEngine,
            ),
            percussion_engine_per_voice=(
                percussion.Rhythmizer(
                    voice_meters2occupy=(0, ),
                    chord=infit.Cycle((
                        harmony.find_harmony(name="A", gender=gender),
                        harmony.find_harmony(name="C", gender=gender),
                    )),
                    sample_maker=infit.Cycle((
                        percussion.ResonanceSample(
                            path=infit.Cycle(
                                globals.SAM_CYMBALS_BIG_AGGRESSIVE),
                            pitch_factor=infit.Uniform(2, 6),
                            resonance_filter_bandwidth=infit.Uniform(0.4, 2),
                            resonance_filter_octave=infit.Cycle(
                                (2, 4, 3, 4, 1, 2)),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=infit.Uniform(0, 0.1),
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                        percussion.ResonanceSample(
                            path=infit.Cycle(
                                globals.SAM_CYMBALS_MIDDLE_AGGRESSIVE),
                            pitch_factor=infit.Uniform(2, 5),
                            resonance_filter_bandwidth=infit.Uniform(0.5, 2),
                            resonance_filter_octave=infit.Cycle(
                                (2, 3, 4, 1, 2)),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=infit.Uniform(0, 0.1),
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                    )),
                    likelihood_range=(0.85, 0.285),
                    volume_range=(0.1, 0.5),
                    ignore_beats_occupied_by_voice=False,
                ),
                percussion.Rhythmizer(
                    voice_meters2occupy=(1, ),
                    chord=infit.Cycle((
                        harmony.find_harmony(name="A", gender=gender),
                        harmony.find_harmony(name="C", gender=gender),
                    )),
                    sample_maker=infit.Cycle((
                        percussion.ResonanceSample(
                            path=infit.Cycle(globals.SAM_CYMBALS_BIG_CLOSE),
                            pitch_factor=infit.Gaussian(3, 5),
                            resonance_filter_bandwidth=infit.Gaussian(
                                0.8, 0.5),
                            resonance_filter_octave=infit.Cycle((2, )),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.3),
                            glissando_offset=0,
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                        percussion.ResonanceSample(
                            path=infit.Cycle(
                                globals.SAM_CYMBALS_MIDDLE_CLOSE_LOUD),
                            pitch_factor=infit.Gaussian(3, 4),
                            resonance_filter_bandwidth=infit.Uniform(0.5, 1),
                            resonance_filter_octave=infit.Cycle((2, )),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=0,
                            glissando_size=infit.Gaussian(1, 0.1),
                        ),
                    )),
                    likelihood_range=(0.6, 0.1),
                    volume_range=(0.1, 0.8),
                    ignore_beats_occupied_by_voice=False,
                ),
                percussion.Rhythmizer(
                    voice_meters2occupy=(0, 1, 2),
                    chord=infit.Cycle((harmony.find_harmony(name="B",
                                                            gender=gender), )),
                    sample_maker=infit.Cycle((
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND),
                            frequency=globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND.
                            information["frequency"],
                            pitch_factor=infit.Cycle((2, 4, 8, 4)),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=infit.Uniform(0, 0.1),
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_LOW_LOW_CLOSE_HAND),
                            frequency=globals.SAM_KENDANG_LOW_LOW_CLOSE_HAND.
                            information["frequency"],
                            pitch_factor=infit.Cycle((16, 8, 4, 8, 2)),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=infit.Uniform(0, 0.1),
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND),
                            frequency=globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND.
                            information["frequency"],
                            pitch_factor=infit.Cycle((8, 4, 2, 4)),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=infit.Uniform(0, 0.1),
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_HIGH_LOW_CLOSE_HAND),
                            frequency=globals.SAM_KENDANG_HIGH_LOW_CLOSE_HAND.
                            information["frequency"],
                            pitch_factor=infit.Cycle((8, 16, 8, 4, 8, 2)),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=infit.Uniform(0, 0.1),
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                    )),
                    likelihood_range=(0.1, 0.5),
                    volume_range=(0.1, 0.5),
                    ignore_beats_occupied_by_voice=False,
                ),
            ),
            speech_init_attributes={},
            include_glitter=True,
            include_diva=True,
            include_natural_radio=True,
            include_percussion=True,
            radio_silent_channels=(1, 3, 5),
            tracks2ignore=("speech0", "speech1", "speech2"),
            radio_samples=(
                globals.SAM_RADIO_PROCESSED_DEGRADE[0],
                globals.SAM_RADIO_ITALY[-1],
                globals.SAM_RADIO_BIELEFELD[-1],
            ),
            radio_n_changes=8,
            radio_average_volume=0.45,
            radio_shadow_time=0.08,
            radio_min_volume=0.955,
        ),
        segments.MelodicCP(
            "{}_1".format(name),
            volume_envelope=interpolations.InterpolationLine([
                interpolations.FloatInterpolationEvent(0.1, 0),
                interpolations.FloatInterpolationEvent(0, 1),
            ]),
            volume_envelope_per_track={
                "voiceP0":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(3, 0.5),
                    interpolations.FloatInterpolationEvent(18, 1),
                    interpolations.FloatInterpolationEvent(5, 1),
                    interpolations.FloatInterpolationEvent(0, 0),
                ]),
                "voiceP1":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(21, 1),
                    interpolations.FloatInterpolationEvent(6, 1),
                    interpolations.FloatInterpolationEvent(3, 0.7),
                    interpolations.FloatInterpolationEvent(0, 0.135),
                ])
            },
            diva_engine_per_voice=(
                diva.FlageoletDivaMidiEngine,
                diva.FlageoletDivaMidiEngine,
                diva.FlageoletDivaMidiEngine,
            ),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(3, 2), ji.r(3, 1),
                                                    ji.r(5, 4)),
            random_seed=1000,
            group=(group, sub_group0, 1),
            action_per_voice=(0.94, 0.97),
            sound_per_voice=(0.96, 0.96),
            phrases=(1, 2),
            melody_register=1,
            melodic_weight=0,
            weight_range=(0.5, 1),
            harmonicity_range=(0.25, 1),
            gender=gender,
            duration_per_bar=13,
            start=0.72,
            glitter_attack_duration=infit.Gaussian(1, 0.15),
            glitter_release_duration=infit.Gaussian(1, 0.15),
            dynamic_range_of_voices=(0.55, 0.9),
            anticipation_time=1,
            overlaying_time=1.5,
            voices_overlaying_time=4,
            tremolo_maker_per_voice=(
                None,
                tremolo.TremoloMaker(
                    add_tremolo_decider=infit.ActivityLevel(6),
                    tremolo_size_generator_per_tone=infit.MetaCycle(
                        (infit.Gaussian, (0.23, 0.12))),
                    tremolo_volume_factor=0.39,
                ),
                tremolo.TremoloMaker(
                    add_tremolo_decider=infit.ActivityLevel(6),
                    tremolo_size_generator_per_tone=infit.MetaCycle(
                        (infit.Gaussian, (0.09, 0.03))),
                    tremolo_volume_factor=0.42,
                ),
            ),
            pteq_engine_per_voice=(
                pteq.mk_super_soft_leading_pte(
                    empty_attack_dynamic_maker=infit.Value(0.2),
                    fxp='"pbIII/fxp/VibraphoneV-BHumanizednostretching.fxp"',
                    preset=None,
                    sustain_pedal=1,
                ),
                pteq.mk_dreamy_pte(
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    empty_attack_dynamic_maker=infit.Value(0.2),
                ),
                pteq.mk_super_soft_pte(
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    empty_attack_dynamic_maker=infit.Value(0.2),
                ),
            ),
            percussion_engine_per_voice=(
                percussion.Rhythmizer(
                    voice_meters2occupy=(0, ),
                    chord=infit.Cycle((
                        harmony.find_harmony(name="A", gender=gender),
                        harmony.find_harmony(name="C", gender=gender),
                    )),
                    sample_maker=infit.Cycle((
                        percussion.ResonanceSample(
                            path=infit.Cycle(
                                globals.SAM_CYMBALS_BIG_AGGRESSIVE),
                            pitch_factor=infit.Uniform(2, 6),
                            resonance_filter_bandwidth=infit.Uniform(0.4, 2),
                            resonance_filter_octave=infit.Cycle(
                                (2, 4, 3, 4, 1, 2)),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=infit.Uniform(0, 0.1),
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                        percussion.ResonanceSample(
                            path=infit.Cycle(
                                globals.SAM_CYMBALS_MIDDLE_AGGRESSIVE),
                            pitch_factor=infit.Uniform(2, 5),
                            resonance_filter_bandwidth=infit.Uniform(0.5, 2),
                            resonance_filter_octave=infit.Cycle(
                                (2, 3, 4, 1, 2)),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=infit.Uniform(0, 0.1),
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                    )),
                    likelihood_range=(0.89, 0.5),
                    volume_range=(0.1, 0.5),
                    ignore_beats_occupied_by_voice=False,
                ),
                percussion.Rhythmizer(
                    voice_meters2occupy=(1, ),
                    chord=infit.Cycle((
                        harmony.find_harmony(name="B", gender=gender),
                        harmony.find_harmony(name="C", gender=gender),
                    )),
                    sample_maker=infit.Cycle((
                        percussion.ResonanceSample(
                            path=infit.Cycle(globals.SAM_CYMBALS_BIG_CLOSE),
                            pitch_factor=infit.Gaussian(3, 5),
                            resonance_filter_bandwidth=infit.Gaussian(
                                0.8, 0.5),
                            resonance_filter_octave=infit.Cycle((2, )),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.3),
                            glissando_offset=0,
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                        percussion.ResonanceSample(
                            path=infit.Cycle(
                                globals.SAM_CYMBALS_MIDDLE_CLOSE_LOUD),
                            pitch_factor=infit.Gaussian(3, 4),
                            resonance_filter_bandwidth=infit.Uniform(0.5, 1),
                            resonance_filter_octave=infit.Cycle((2, )),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=0,
                            glissando_size=infit.Gaussian(1, 0.1),
                        ),
                    )),
                    likelihood_range=(0.8, 0.1),
                    volume_range=(0.1, 0.8),
                    ignore_beats_occupied_by_voice=False,
                ),
                percussion.Rhythmizer(
                    voice_meters2occupy=(0, 1, 2),
                    chord=infit.Cycle((harmony.find_harmony(name="B",
                                                            gender=gender), )),
                    sample_maker=infit.Cycle((
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND),
                            frequency=globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND.
                            information["frequency"],
                            pitch_factor=infit.Cycle((2, 4, 8, 4)),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=infit.Uniform(0, 0.1),
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_RADIO_ROEHRENRADIO_KEYS),
                            pitch_factor=infit.Uniform(0.8, 2),
                        ),
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_LOW_LOW_CLOSE_HAND),
                            frequency=globals.SAM_KENDANG_LOW_LOW_CLOSE_HAND.
                            information["frequency"],
                            pitch_factor=infit.Cycle((16, 8, 4, 8, 2)),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=infit.Uniform(0, 0.1),
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND),
                            frequency=globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND.
                            information["frequency"],
                            pitch_factor=infit.Cycle((8, 4, 2, 4)),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=infit.Uniform(0, 0.1),
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_HIGH_LOW_CLOSE_HAND),
                            frequency=globals.SAM_KENDANG_HIGH_LOW_CLOSE_HAND.
                            information["frequency"],
                            pitch_factor=infit.Cycle((8, 16, 8, 4, 8, 2)),
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.001, 0.2),
                            glissando_offset=infit.Uniform(0, 0.1),
                            glissando_size=infit.Gaussian(1, 0.2),
                        ),
                    )),
                    likelihood_range=(0.1, 0.7),
                    volume_range=(0.1, 0.5),
                    ignore_beats_occupied_by_voice=False,
                ),
            ),
            speech_init_attributes={},
            include_glitter=True,
            include_diva=True,
            include_natural_radio=True,
            include_percussion=True,
            radio_silent_channels=(1, 3),
            tracks2ignore=("speech0", "speech1", "speech2"),
            radio_samples=(
                globals.SAM_RADIO_ITALY[-1],
                globals.SAM_RADIO_BIELEFELD[-1],
            ),
            radio_n_changes=8,
            radio_average_volume=0.4,
            radio_shadow_time=0.08,
            radio_min_volume=0.955,
        ),
        segments.Chord(
            "{}_CF_BELL_0".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(7, 1), ji.r(2, 1),
                                                    ji.r(4, 3)),
            group=(group, sub_group0, 2),
            chord=harmony.find_harmony(name="A", gender=gender),
            gender=gender,
            n_bars=1,
            duration_per_bar=8,
            start=-0.75,
            dynamic_range_of_voices=(0.8, 1),
            anticipation_time=0.1,
            overlaying_time=0.25,
            voices_entry_delay_per_voice=(0, 0.05, 0.08),
            pteq_engine_per_voice=(
                pteq.mk_pianoteq_engine(
                    fxp='"pbIII/fxp/Bells_no_stretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_pianoteq_engine(
                    fxp='"pbIII/fxp/Bells_no_stretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_dreamy_pte(
                    fxp='"pbIII/fxp/Bells_no_stretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
            ),
            radio_samples=(
                globals.SAM_RADIO_ITALY[-1],
                globals.SAM_RADIO_BIELEFELD[-1],
            ),
            speech_init_attributes={},
            glitter_type="drone",
            glitter_register_per_voice=(4, 5, 5),
            glitter_volume_per_voice=(0.85, 0.94, 0.95),
            glitter_modulater_per_voice=("lfo", "lfo", "lfo"),
            glitter_release_duration=7,
            glitter_attack_duration=0.2,
            radio_shadow_time=0,
            include_glitter=True,
            include_diva=False,
            include_natural_radio=True,
            include_percussion=False,
        ),
        segments.MelodicCP(
            "{}_2".format(name),
            volume_envelope=interpolations.InterpolationLine([
                interpolations.FloatInterpolationEvent(0.1, 0),
                interpolations.FloatInterpolationEvent(24, 1),
                interpolations.FloatInterpolationEvent(3, 1),
                interpolations.FloatInterpolationEvent(2, 0.9),
                interpolations.FloatInterpolationEvent(0, 0.45),
            ]),
            volume_envelope_per_track={
                "voiceP0":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(2, 0.65),
                    interpolations.FloatInterpolationEvent(30, 0.8),
                    interpolations.FloatInterpolationEvent(5, 0.8),
                    interpolations.FloatInterpolationEvent(0, 0.1),
                ])
            },
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(8, 1), ji.r(3, 1),
                                                    ji.r(2, 1)),
            random_seed=1000,
            group=(group, sub_group0, 2),
            action_per_voice=(0.82, 0.81),
            sound_per_voice=(0.75, 0.74),
            phrases=(3, 3),
            melody_register=1,
            melodic_weight=0,
            weight_range=(0.5, 1),
            harmonicity_range=(0.25, 1),
            gender=gender,
            duration_per_bar=12.75,
            start=-3.5,
            dynamic_range_of_voices=(0.3, 0.5),
            anticipation_time=2,
            overlaying_time=3.2,
            voices_overlaying_time=4.5,
            pteq_engine_per_voice=(
                pteq.mk_super_soft_trippy_pte(
                    modulator=(ornamentations.SoftLineGlissandoMaker(
                        activity_lv=7,
                        minima_glissando_duration=0.05,
                        maxima_glissando_duration=0.1,
                        minima_glissando_size=20,
                        maxima_glissando_size=70,
                    ), ),
                    empty_attack_dynamic_maker=infit.Value(0.2),
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    sustain_pedal=0,
                ),
                pteq.mk_super_soft_pte(
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    empty_attack_dynamic_maker=infit.Value(0.2),
                    fxp='"pbIII/fxp/Marimba_no_stretching.fxp"',
                    preset=None,
                    sustain_pedal=0,
                ),
                pteq.mk_super_soft_pte(
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    empty_attack_dynamic_maker=infit.Value(0.2),
                    fxp='"pbIII/fxp/Marimba_no_stretching.fxp"',
                    preset=None,
                    sustain_pedal=0,
                ),
            ),
            diva_engine_per_voice=(diva.FlageoletDivaMidiEngine, None, None),
            percussion_engine_per_voice=(
                percussion.Rhythmizer(
                    voice_meters2occupy=(0, 1, 2),
                    sample_maker=infit.Cycle((percussion.Sample(
                        path=infit.Cycle(globals.SAM_RADIO_ROEHRENRADIO_KEYS),
                        pitch_factor=infit.Uniform(0.8, 2),
                        distortion=infit.Uniform(0, 1, seed=0),
                    ), )),
                    likelihood_range=(0.1, 0.2),
                    volume_range=(0, 0.001),
                ),
                percussion.Rhythmizer(
                    voice_meters2occupy=(0, 1, 2),
                    sample_maker=infit.Cycle((percussion.Sample(
                        path=infit.Cycle(globals.SAM_RADIO_ROEHRENRADIO_KEYS),
                        pitch_factor=infit.Uniform(0.7, 1.7),
                        distortion=infit.Uniform(0, 2, seed=0),
                    ), )),
                    likelihood_range=(0.08, 0.55),
                    volume_range=(0.54, 0.8),
                    ignore_beats_occupied_by_voice=True,
                    seed=39,
                ),
                percussion.Rhythmizer(
                    voice_meters2occupy=(0, 1, 2),
                    sample_maker=infit.Cycle((percussion.Sample(
                        path=infit.Cycle(globals.SAM_RADIO_ROEHRENRADIO_KEYS),
                        pitch_factor=infit.Uniform(0.4, 1),
                        distortion=infit.Uniform(0.4, 1.8),
                    ), )),
                    likelihood_range=(0.1, 0.2),
                    volume_range=(0, 0.01),
                ),
            ),
            speech_init_attributes={},
            include_glitter=True,
            include_diva=True,
            include_natural_radio=True,
            include_percussion=True,
            radio_silent_channels=tuple([]),
            glitter_modulater_per_voice=("randomh", "randomh", "randomh"),
            glitter_attack_duration=infit.Gaussian(0.75, 0.15),
            glitter_release_duration=infit.Gaussian(1.8, 0.25),
            tracks2ignore=("speech0", "speech1", "speech2"),
            radio_samples=(globals.SAM_RADIO_ITALY[-1],
                           globals.SAM_RADIO_ITALY[-2]),
            radio_n_changes=4,
            radio_average_volume=0.4,
            radio_shadow_time=0.08,
            radio_min_volume=0.855,
        ),
        segments.Silence(name="{}_silence0".format(name), duration=11),
    )
Beispiel #11
0
def make(name: str = "THREE", gender=False, group=0, sub_group0=2):
    return (
        segments.Chord(
            "{}_Bell0".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(4, 1), ji.r(2, 1),
                                                    ji.r(5, 4)),
            group=(group, sub_group0, 0),
            chord=harmony.find_harmony(name="A", idx=0, gender=gender),
            gender=gender,
            n_bars=1,
            duration_per_bar=5,
            start=-2,
            # start=0,
            dynamic_range_of_voices=(0.3, 0.4),
            voices_entry_delay_per_voice=(0.03, 0.07, 0.01),
            anticipation_time=4,
            overlaying_time=0,
            pteq_engine_per_voice=(
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
            ),
            speech_init_attributes={},
            volume_envelope_per_track={
                "glitterN01":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(2, 0),
                    interpolations.FloatInterpolationEvent(1, 0.5),
                    interpolations.FloatInterpolationEvent(4, 1.1),
                    interpolations.FloatInterpolationEvent(0, 0.1),
                ]),
                "glitterN02":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(2, 0),
                    interpolations.FloatInterpolationEvent(1, 0.5),
                    interpolations.FloatInterpolationEvent(4, 1),
                    interpolations.FloatInterpolationEvent(0, 0.1),
                ]),
                "glitterN12":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(2, 0),
                    interpolations.FloatInterpolationEvent(1, 0.5),
                    interpolations.FloatInterpolationEvent(4, 1),
                    interpolations.FloatInterpolationEvent(0, 0.1),
                ]),
            },
            glitter_type="drone",
            glitter_wave_form_per_voice=("square", "sine", "sine"),
            glitter_register_per_voice=(3, 4, 4),
            glitter_volume_per_voice=(3.85, 4.5, 4.5),
            glitter_modulater_per_voice=(None, None, None),
            glitter_release_duration=4,
            glitter_attack_duration=4,
            include_glitter=True,
            include_diva=False,
            include_natural_radio=False,
            include_percussion=False,
        ),
        segments.FreeStyleCP(
            "{}_0".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(2, 1), ji.r(12, 5),
                                                    ji.r(9, 5)),
            diva_engine_per_voice=(
                diva.FlageoletDivaMidiEngine,
                diva.FlageoletDivaMidiEngine,
                diva.FlageoletDivaMidiEngine,
            ),
            group=(group, sub_group0, 0),
            start_harmony=harmony.find_harmony("A",
                                               True,
                                               0,
                                               tuple([]),
                                               gender=gender),
            energy_per_voice=(9, 10, 9),
            silence_decider_per_voice=(
                infit.ActivityLevel(2),
                infit.ActivityLevel(3),
                infit.ActivityLevel(3),
            ),
            weight_range=(5, 10),
            decision_type="activity",
            gender=gender,
            n_bars=3,
            duration_per_bar=12.75,
            start=-5,
            dynamic_range_of_voices=(0.175, 0.55),
            anticipation_time=2,
            overlaying_time=1.25,
            cp_add_dissonant_pitches_to_nth_voice=(False, True, True),
            cp_constraints_interpolation=(
                counterpoint.constraints.AP_tremolo(
                    0,
                    add_tremolo_decider=infit.ActivityLevel(10),
                    only_on_non_dissonant_pitches=False,
                    define_tremolo_tones_as_dissonant=False,
                    tremolo_size_generator_per_tone=infit.MetaCycle(
                        (infit.Cycle, ((7, 12, 8, 15, 10, 8, 10), ))),
                ),
                counterpoint.constraints.AP_tremolo(
                    1,
                    add_tremolo_decider=infit.ActivityLevel(8),
                    only_on_non_dissonant_pitches=True,
                    define_tremolo_tones_as_dissonant=False,
                    tremolo_size_generator_per_tone=infit.MetaCycle(
                        (infit.Cycle, ((7, 12, 8, 15, 10, 8, 10), ))),
                ),
                counterpoint.constraints.AP_tremolo(
                    2,
                    add_tremolo_decider=infit.ActivityLevel(8),
                    only_on_non_dissonant_pitches=True,
                    define_tremolo_tones_as_dissonant=False,
                    tremolo_size_generator_per_tone=infit.MetaCycle(
                        (infit.Cycle, ((6, 9, 8, 12, 10, 8, 10, 13, 6, 4), ))),
                ),
            ),
            volume_envelope_per_track={
                "voiceN0":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(20, 1),
                    interpolations.FloatInterpolationEvent(0, 1),
                ])
            },
            glitter_include_dissonant_pitches=False,
            voices_overlaying_time=2,
            pteq_engine_per_voice=(
                pteq.mk_soft_leading_overdrive_harp_pte(
                    fxp='"pbIII/fxp/Harp_with_overdrive.fxp"',
                    preset=None,
                    sustain_pedal=1,
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                ),
                pteq.mk_super_dreamy_pte(
                    empty_attack_dynamic_maker=infit.Uniform(0.15, 0.3),
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    convert_dissonant_tones2glissandi=True,
                ),
                pteq.mk_super_dreamy_pte(
                    empty_attack_dynamic_maker=infit.Uniform(0.15, 0.3),
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    convert_dissonant_tones2glissandi=True,
                ),
            ),
            percussion_engine_per_voice=(
                percussion.Rhythmizer(
                    voice_meters2occupy=(0, ),
                    sample_maker=infit.Cycle((
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_HIGH_LOW_CLOSE_HAND),
                            frequency=globals.SAM_KENDANG_HIGH_LOW_CLOSE_HAND.
                            information["frequency"],
                            pitch_factor=infit.Cycle((1, 2, 0.25, 1)),
                            glissando_size=infit.Gaussian(0.8, 0.2),
                            glissando_offset=0,
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.1, 0.5),
                        ),
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_LOW_LOW_CLOSE_HAND),
                            frequency=globals.SAM_KENDANG_LOW_LOW_CLOSE_HAND.
                            information["frequency"],
                            pitch_factor=infit.Cycle((0.5, 1, 0.25, 1, 0.5)),
                            glissando_size=infit.Gaussian(0.9, 0.1),
                            glissando_offset=0,
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.2, 0.5),
                        ),
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_LOW_LOW_FAR_HAND),
                            frequency=globals.SAM_KENDANG_LOW_LOW_FAR_HAND.
                            information["frequency"],
                            pitch_factor=infit.Cycle((1, 0.25, 1, 0.5)),
                            glissando_size=infit.Gaussian(1.15, 0.2),
                            glissando_offset=0,
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.3, 0.5),
                        ),
                    )),
                    likelihood_range=(0.1, 0.7),
                    volume_range=(0.3, 0.45),
                    ignore_beats_occupied_by_voice=False,
                ),
                percussion.Rhythmizer(
                    voice_meters2occupy=(1, ),
                    sample_maker=infit.Cycle((
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_LOW_LOW_FAR_MALLET),
                            frequency=globals.SAM_KENDANG_LOW_LOW_FAR_MALLET.
                            information["frequency"],
                            pitch_factor=infit.Cycle((0.5, 1, 0.25, 1, 0.5)),
                            distortion=infit.Uniform(0, 1),
                            glissando_size=infit.Gaussian(1.15, 0.1),
                            glissando_offset=0,
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.25, 0.5),
                        ),
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_HIGH_LOW_FAR_MALLET),
                            frequency=globals.SAM_KENDANG_HIGH_LOW_FAR_MALLET.
                            information["frequency"],
                            pitch_factor=infit.Cycle((1, 2, 0.25, 1)),
                            distortion=infit.Uniform(0, 0.5),
                            glissando_size=infit.Gaussian(0.9, 0.1),
                            glissando_offset=0,
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.25, 0.48),
                        ),
                    )),
                    likelihood_range=(0.1, 0.655),
                    volume_range=(0.45, 0.6),
                    ignore_beats_occupied_by_voice=False,
                ),
                percussion.Rhythmizer(
                    voice_meters2occupy=(2, ),
                    sample_maker=infit.Cycle((percussion.Sample(
                        path=infit.Cycle(globals.SAM_RADIO_ROEHRENRADIO_KEYS),
                        pitch_factor=infit.Uniform(1.4, 2.75),
                        distortion=infit.Uniform(0.3, 1),
                    ), )),
                    likelihood_range=(0.08, 0.26),
                    volume_range=(0.54, 0.8),
                    ignore_beats_occupied_by_voice=False,
                    seed=39,
                ),
            ),
            speech_init_attributes={},
            glitter_modulater_per_voice=(None, None, None),
            glitter_attack_duration=infit.Gaussian(1.9, 0.3),
            glitter_release_duration=infit.Gaussian(2, 0.2),
            include_glitter=True,
            include_diva=True,
            include_natural_radio=True,
            include_percussion=True,
            # radio_silent_channels=(0, 2, 4),
            radio_samples=(
                globals.SAM_RADIO_ROEHRENRADIO_FAR_KURZWELLE[0],
                globals.SAM_RADIO_ROEHRENRADIO_CLOSE_KURZWELLE[0],
            ),
            radio_n_changes=3,
            radio_average_volume=0.34,
            radio_shadow_time=0.02,
            radio_min_volume=0.7,
            radio_attack_duration=infit.Gaussian(2, 0.1),
            radio_release_duration=infit.Gaussian(5.2, 0.2),
        ),
        segments.FreeStyleCP(
            "{}_1".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(7, 4), ji.r(8, 3),
                                                    ji.r(9, 7)),
            diva_engine_per_voice=(
                diva.FlageoletDivaMidiEngine,
                diva.FlageoletDivaMidiEngine,
                diva.FlageoletDivaMidiEngine,
            ),
            group=(group, sub_group0, 1),
            start_harmony=harmony.find_harmony("A",
                                               True,
                                               0,
                                               tuple([]),
                                               gender=gender),
            energy_per_voice=(8.5, 5, 6),
            silence_decider_per_voice=(
                infit.ActivityLevel(1),
                infit.ActivityLevel(1),
                infit.ActivityLevel(1),
            ),
            weight_range=(0.5, 1),
            decision_type="random",
            random_seed=1000,
            gender=gender,
            n_bars=2,
            duration_per_bar=12.5,
            start=0.33,
            dynamic_range_of_voices=(0.185, 0.88),
            anticipation_time=1.5,
            overlaying_time=1.25,
            cp_add_dissonant_pitches_to_nth_voice=(False, True, True),
            cp_constraints_interpolation=(
                counterpoint.constraints.AP_tremolo(
                    0,
                    add_tremolo_decider=infit.ActivityLevel(10),
                    only_on_non_dissonant_pitches=False,
                    define_tremolo_tones_as_dissonant=False,
                    tremolo_size_generator_per_tone=infit.MetaCycle(
                        (infit.Cycle, ((7, 12, 8, 15, 10, 8, 10), ))),
                ),
                counterpoint.constraints.AP_tremolo(
                    1,
                    add_tremolo_decider=infit.ActivityLevel(9),
                    only_on_non_dissonant_pitches=True,
                    define_tremolo_tones_as_dissonant=False,
                    tremolo_size_generator_per_tone=infit.MetaCycle(
                        (infit.Cycle, ((7, 12, 8, 15, 10, 8, 10), ))),
                ),
                counterpoint.constraints.AP_tremolo(
                    2,
                    add_tremolo_decider=infit.ActivityLevel(9),
                    only_on_non_dissonant_pitches=True,
                    define_tremolo_tones_as_dissonant=False,
                    tremolo_size_generator_per_tone=infit.MetaCycle(
                        (infit.Cycle, ((6, 9, 8, 12, 10, 8, 10, 13, 6, 4), ))),
                ),
            ),
            volume_envelope_per_track={
                "voiceN0":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(20, 1),
                    interpolations.FloatInterpolationEvent(0, 1),
                ])
            },
            glitter_include_dissonant_pitches=False,
            voices_overlaying_time=2,
            pteq_engine_per_voice=(
                pteq.mk_soft_leading_overdrive_harp_pte(
                    fxp='"pbIII/fxp/Harp_with_overdrive.fxp"',
                    preset=None,
                    sustain_pedal=1,
                ),
                pteq.mk_dreamy_pte(
                    empty_attack_dynamic_maker=infit.Uniform(0.15, 0.3),
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    convert_dissonant_tones2glissandi=True,
                ),
                pteq.mk_dreamy_pte(
                    empty_attack_dynamic_maker=infit.Uniform(0.15, 0.3),
                    modulator=(ornamentations.SoftLineGlissandoMaker(), ),
                    convert_dissonant_tones2glissandi=True,
                ),
            ),
            percussion_engine_per_voice=(
                percussion.Rhythmizer(
                    voice_meters2occupy=(0, ),
                    sample_maker=infit.Cycle((
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_HIGH_LOW_CLOSE_HAND),
                            frequency=globals.SAM_KENDANG_HIGH_LOW_CLOSE_HAND.
                            information["frequency"],
                            pitch_factor=infit.Cycle((1, 2, 0.25, 1)),
                            glissando_size=infit.Gaussian(0.8, 0.2),
                            glissando_offset=0,
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.1, 0.5),
                        ),
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_LOW_LOW_CLOSE_HAND),
                            frequency=globals.SAM_KENDANG_LOW_LOW_CLOSE_HAND.
                            information["frequency"],
                            pitch_factor=infit.Cycle((0.5, 1, 0.25, 1, 0.5)),
                            glissando_size=infit.Gaussian(0.9, 0.1),
                            glissando_offset=0,
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.2, 0.5),
                        ),
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_LOW_LOW_FAR_HAND),
                            frequency=globals.SAM_KENDANG_LOW_LOW_FAR_HAND.
                            information["frequency"],
                            pitch_factor=infit.Cycle((1, 0.25, 1, 0.5)),
                            glissando_size=infit.Gaussian(1.15, 0.2),
                            glissando_offset=0,
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.3, 0.5),
                        ),
                    )),
                    likelihood_range=(0.15, 0.9),
                    volume_range=(0.3, 0.45),
                    ignore_beats_occupied_by_voice=False,
                ),
                percussion.Rhythmizer(
                    voice_meters2occupy=(1, ),
                    sample_maker=infit.Cycle((
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_LOW_LOW_FAR_MALLET),
                            frequency=globals.SAM_KENDANG_LOW_LOW_FAR_MALLET.
                            information["frequency"],
                            pitch_factor=infit.Cycle((0.5, 1, 0.25, 1, 0.5)),
                            distortion=infit.Uniform(0, 1),
                            glissando_size=infit.Gaussian(1.15, 0.1),
                            glissando_offset=0,
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.25, 0.5),
                        ),
                        percussion.Sample(
                            path=infit.Cycle(
                                globals.SAM_KENDANG_HIGH_LOW_FAR_MALLET),
                            frequency=globals.SAM_KENDANG_HIGH_LOW_FAR_MALLET.
                            information["frequency"],
                            pitch_factor=infit.Cycle((1, 2, 0.25, 1)),
                            distortion=infit.Uniform(0, 0.5),
                            glissando_size=infit.Gaussian(0.9, 0.1),
                            glissando_offset=0,
                            glissando_direction=True,
                            glissando_duration=infit.Uniform(0.25, 0.48),
                        ),
                    )),
                    likelihood_range=(0.15, 0.855),
                    volume_range=(0.45, 0.6),
                    ignore_beats_occupied_by_voice=False,
                ),
                percussion.Rhythmizer(
                    voice_meters2occupy=(2, ),
                    sample_maker=infit.Cycle((percussion.Sample(
                        path=infit.Cycle(globals.SAM_RADIO_ROEHRENRADIO_KEYS),
                        pitch_factor=infit.Uniform(1.4, 2.75),
                        distortion=infit.Uniform(0.3, 1),
                    ), )),
                    likelihood_range=(0.08, 0.26),
                    volume_range=(0.54, 0.8),
                    ignore_beats_occupied_by_voice=False,
                    seed=39,
                ),
            ),
            speech_init_attributes={},
            glitter_modulater_per_voice=(None, None, None),
            glitter_attack_duration=infit.Gaussian(1.9, 0.3),
            glitter_release_duration=infit.Gaussian(2, 0.2),
            include_glitter=True,
            include_diva=True,
            include_natural_radio=True,
            include_percussion=True,
            # radio_silent_channels=(0, 2, 4),
            radio_samples=(
                globals.SAM_RADIO_ROEHRENRADIO_FAR_KURZWELLE[0],
                globals.SAM_RADIO_ROEHRENRADIO_CLOSE_KURZWELLE[0],
            ),
            radio_n_changes=5,
            radio_average_volume=0.4,
            radio_shadow_time=0.02,
            radio_min_volume=0.8,
            radio_attack_duration=infit.Gaussian(2, 0.1),
            radio_release_duration=infit.Gaussian(5.2, 0.2),
        ),
    )
Beispiel #12
0
def make(name: str = "ONE", gender=True, group=0, sub_group0=0):
    return (segments.Chord(
        "{}_fadeIn".format(name),
        volume_envelope=interpolations.InterpolationLine([
            interpolations.FloatInterpolationEvent(5, 0),
            interpolations.FloatInterpolationEvent(4, 0.35),
            interpolations.FloatInterpolationEvent(0.2, 1),
            interpolations.FloatInterpolationEvent(0, 1),
        ]),
        volume_envelope_per_track={
            "percussion_P2":
            interpolations.InterpolationLine([
                interpolations.FloatInterpolationEvent(3, 0),
                interpolations.FloatInterpolationEvent(10, 0),
                interpolations.FloatInterpolationEvent(0, 1),
            ]),
            "percussion_P1":
            interpolations.InterpolationLine([
                interpolations.FloatInterpolationEvent(2, 0),
                interpolations.FloatInterpolationEvent(10, 0),
                interpolations.FloatInterpolationEvent(0, 1),
            ]),
            "percussion_P0":
            interpolations.InterpolationLine([
                interpolations.FloatInterpolationEvent(2, 0),
                interpolations.FloatInterpolationEvent(10, 0),
                interpolations.FloatInterpolationEvent(0, 1),
            ]),
        },
        ambitus_maker=ambitus.SymmetricalRanges(ji.r(2, 1), ji.r(2, 1),
                                                ji.r(9, 8)),
        group=(group, sub_group0, 0),
        chord=harmony.find_harmony(name="A", gender=gender),
        gender=gender,
        n_bars=1,
        duration_per_bar=14,
        start=0,
        dynamic_range_of_voices=(0.8, 0.9),
        anticipation_time=1.25,
        overlaying_time=1.25,
        percussion_engine_per_voice=(
            percussion.Rhythmizer(
                voice_meters2occupy=(0, ),
                chord=infit.Cycle((
                    harmony.find_harmony(name="A", gender=gender),
                    harmony.find_harmony(name="C", gender=gender),
                )),
                sample_maker=infit.Cycle((
                    percussion.ResonanceSample(
                        path=infit.Cycle(globals.SAM_CYMBALS_BIG_AGGRESSIVE),
                        pitch_factor=infit.Uniform(2, 6),
                        resonance_filter_bandwidth=infit.Uniform(0.4, 2),
                        resonance_filter_octave=infit.Cycle(
                            (2, 4, 3, 4, 1, 2)),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.2),
                        glissando_offset=infit.Uniform(0, 0.1),
                        glissando_size=infit.Gaussian(1, 0.2),
                    ),
                    percussion.ResonanceSample(
                        path=infit.Cycle(
                            globals.SAM_CYMBALS_MIDDLE_AGGRESSIVE),
                        pitch_factor=infit.Uniform(2, 5),
                        resonance_filter_bandwidth=infit.Uniform(0.5, 2),
                        resonance_filter_octave=infit.Cycle((2, 3, 4, 1, 2)),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.2),
                        glissando_offset=infit.Uniform(0, 0.1),
                        glissando_size=infit.Gaussian(1, 0.2),
                    ),
                )),
                likelihood_range=(0.5, 0.1),
                volume_range=(0.1, 0.5),
                ignore_beats_occupied_by_voice=False,
            ),
            percussion.Rhythmizer(
                voice_meters2occupy=(1, ),
                chord=infit.Cycle((
                    harmony.find_harmony(name="A", gender=gender),
                    harmony.find_harmony(name="C", gender=gender),
                )),
                sample_maker=infit.Cycle((
                    percussion.ResonanceSample(
                        path=infit.Cycle(globals.SAM_CYMBALS_BIG_CLOSE),
                        pitch_factor=infit.Gaussian(4, 6),
                        resonance_filter_bandwidth=infit.Gaussian(0.4, 0.3),
                        resonance_filter_octave=infit.Cycle((2, )),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.3),
                        glissando_offset=0,
                        glissando_size=infit.Gaussian(1, 0.2),
                    ),
                    percussion.ResonanceSample(
                        path=infit.Cycle(
                            globals.SAM_CYMBALS_MIDDLE_CLOSE_LOUD),
                        pitch_factor=infit.Gaussian(3, 4),
                        resonance_filter_bandwidth=infit.Uniform(0.5, 1),
                        resonance_filter_octave=infit.Cycle((2, )),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.2),
                        glissando_offset=0,
                        glissando_size=infit.Gaussian(1, 0.1),
                    ),
                )),
                likelihood_range=(0.6, 0.1),
                volume_range=(0.1, 0.8),
                ignore_beats_occupied_by_voice=False,
            ),
            percussion.Rhythmizer(
                voice_meters2occupy=(0, 1, 2),
                chord=infit.Cycle((harmony.find_harmony(name="B",
                                                        gender=gender), )),
                sample_maker=infit.Cycle((
                    percussion.Sample(
                        path=infit.Cycle(
                            globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND),
                        frequency=globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND.
                        information["frequency"],
                        pitch_factor=infit.Cycle((2, 4, 8, 4)),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.2),
                        glissando_offset=infit.Uniform(0, 0.1),
                        glissando_size=infit.Gaussian(1, 0.2),
                    ),
                    percussion.Sample(
                        path=infit.Cycle(
                            globals.SAM_KENDANG_LOW_LOW_CLOSE_HAND),
                        frequency=globals.SAM_KENDANG_LOW_LOW_CLOSE_HAND.
                        information["frequency"],
                        pitch_factor=infit.Cycle((16, 8, 4, 8, 2)),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.2),
                        glissando_offset=infit.Uniform(0, 0.1),
                        glissando_size=infit.Gaussian(1, 0.2),
                    ),
                    percussion.Sample(
                        path=infit.Cycle(
                            globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND),
                        frequency=globals.SAM_KENDANG_HIGH_HIGH_CLOSE_HAND.
                        information["frequency"],
                        pitch_factor=infit.Cycle((8, 4, 2, 4)),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.2),
                        glissando_offset=infit.Uniform(0, 0.1),
                        glissando_size=infit.Gaussian(1, 0.2),
                    ),
                    percussion.Sample(
                        path=infit.Cycle(
                            globals.SAM_KENDANG_HIGH_LOW_CLOSE_HAND),
                        frequency=globals.SAM_KENDANG_HIGH_LOW_CLOSE_HAND.
                        information["frequency"],
                        pitch_factor=infit.Cycle((8, 16, 8, 4, 8, 2)),
                        glissando_direction=True,
                        glissando_duration=infit.Uniform(0.001, 0.2),
                        glissando_offset=infit.Uniform(0, 0.1),
                        glissando_size=infit.Gaussian(1, 0.2),
                    ),
                )),
                likelihood_range=(0.1, 0.5),
                volume_range=(0.1, 0.5),
                ignore_beats_occupied_by_voice=False,
            ),
        ),
        radio_samples=(
            globals.SAM_RADIO_PROCESSED_DEGRADE[0],
            globals.SAM_RADIO_BIELEFELD[-1],
        ),
        radio_average_volume=0.75,
        radio_min_volume=0.955,
        speech_init_attributes={},
        include_glitter=False,
        include_diva=False,
        include_natural_radio=True,
        include_percussion=True,
        include_voices=False,
    ), )
Beispiel #13
0
    def _convert_dissonant_tones2glissandi(self, melody: old.Melody):
        consonant_tones_positions = tools.find_all_indices_of_n(
            True, self.__is_not_dissonant_pitch_per_tone)
        new_melody = melody[:consonant_tones_positions[0]].copy()

        melody_size = len(melody)

        consonant_and_its_dissonant_tones = tuple(
            (melody[idx0], melody[idx0 + 1:idx1]) for idx0, idx1 in zip(
                consonant_tones_positions,
                consonant_tones_positions[1:] + (melody_size, ),
            ))

        for main_and_its_side_tones in consonant_and_its_dissonant_tones:
            main_tone, additional_tones = main_and_its_side_tones
            if not main_tone.pitch.is_empty:
                duration_per_pitch = (main_tone.duration, ) + tuple(
                    t.duration for t in additional_tones)
                summed_duration = sum(duration_per_pitch)

                glissando = []
                for t0, t1 in zip((main_tone, ) + tuple(additional_tones),
                                  additional_tones):

                    pitch_difference = t0.pitch - main_tone.pitch
                    duration = t0.duration

                    if duration > self.glissando_duration:
                        staying = duration - self.glissando_duration
                        changing = self.glissando_duration
                    else:
                        staying = duration * 0.5
                        changing = float(staying)

                    glissando.append(
                        old.PitchInterpolation(staying, pitch_difference))
                    glissando.append(
                        old.PitchInterpolation(changing, pitch_difference))

                last_pitch = mel.TheEmptyPitch
                last_pitch_idx = -1
                while last_pitch.is_empty:
                    try:
                        last_pitch = additional_tones[last_pitch_idx].pitch
                    except IndexError:
                        last_pitch = None
                        break
                    last_pitch_idx -= 1

                if last_pitch is not None:
                    pitch_difference = last_pitch - main_tone.pitch
                    glissando.append(
                        old.PitchInterpolation(0, pitch_difference))
                    glissando = old.GlissandoLine(
                        interpolations.InterpolationLine(glissando))
                else:
                    glissando = None

                new_tone = old.Tone(
                    main_tone.pitch,
                    delay=summed_duration,
                    duration=summed_duration,
                    glissando=glissando,
                )

                new_melody.append(new_tone)

            else:
                new_melody.extend((main_tone, ) + tuple(additional_tones))

        return new_melody
    def __call__(self, melody: old.Melody) -> old.Melody:
        new_melody = melody.copy()
        melody_size = len(melody)

        for idx, tone in enumerate(new_melody):
            halved_duration = tone.duration * 0.5

            # only add ornamentation if there isn't any glissando yet
            if (not tone.glissando and not tone.pitch.is_empty
                    and halved_duration > self.__minima_gissando_duration):
                previous = None
                following = None
                previous_distance = None
                following_distance = None

                if idx != 0 and not melody[idx - 1].pitch.is_empty:
                    previous = melody[idx - 1]
                    previous_distance = previous.pitch.cents - tone.pitch.cents

                if idx + 1 != melody_size and not melody[idx +
                                                         1].pitch.is_empty:
                    following = melody[idx + 1]
                    following_distance = following.pitch.cents - tone.pitch.cents

                beginning_and_end_glissando = (
                    previous is not None
                    and abs(previous_distance) > self.__minima_gissando_size,
                    following is not None
                    and abs(following_distance) > self.__minima_gissando_size,
                )

                if any(beginning_and_end_glissando):

                    if next(self.__al):
                        if all(beginning_and_end_glissando):
                            glissando_type = next(
                                self.__glissando_type_generator)
                        else:
                            glissando_type = beginning_and_end_glissando.index(
                                True)

                        glissando_type = ((True, False), (False, True),
                                          (True, True))[glissando_type]

                        glissando_line = []
                        is_first = True
                        for is_allowed, distance in zip(
                                glissando_type,
                            (previous_distance, following_distance)):
                            if is_allowed:
                                data = self.get_glissando_values(
                                    halved_duration, distance)
                                remaining_time = halved_duration - data[1]
                                if is_first:
                                    data = (
                                        old.PitchInterpolation(
                                            data[1],
                                            mel.SimplePitch(0, data[0])),
                                        old.PitchInterpolation(
                                            remaining_time,
                                            mel.SimplePitch(0, 0)),
                                    )
                                else:
                                    data = (
                                        old.PitchInterpolation(
                                            remaining_time,
                                            mel.SimplePitch(0, 0)),
                                        old.PitchInterpolation(
                                            data[1], mel.SimplePitch(0, 0)),
                                        old.PitchInterpolation(
                                            0, mel.SimplePitch(0, data[0])),
                                    )
                            else:
                                data = [
                                    old.PitchInterpolation(
                                        halved_duration, mel.SimplePitch(0, 0))
                                ]
                                if not is_first:
                                    data.append(
                                        old.PitchInterpolation(
                                            0, mel.SimplePitch(0, 0)))

                            glissando_line.extend(data)
                            is_first = False

                        new_melody[idx].glissando = old.GlissandoLine(
                            interpolations.InterpolationLine(glissando_line))

        return new_melody
def make(name: str = "ONE", gender=True, group=0, sub_group0=0):
    return (
        segments.Silence(name="{}_silence0".format(name), duration=5),
        segments.Chord(
            "{}_Bell0".format(name),
            volume_envelope=interpolations.InterpolationLine([
                interpolations.FloatInterpolationEvent(0.1, 0),
                interpolations.FloatInterpolationEvent(0.2, 1),
                interpolations.FloatInterpolationEvent(0, 1),
            ]),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(2, 1), ji.r(2, 1),
                                                    ji.r(9, 8)),
            group=(group, sub_group0, 0),
            chord=harmony.find_harmony(name="A", gender=gender),
            gender=gender,
            n_bars=1,
            duration_per_bar=22,
            start=0,
            dynamic_range_of_voices=(0.8, 0.9),
            voices_entry_delay_per_voice=(0, 0.05, 0.03),
            anticipation_time=1.25,
            overlaying_time=1.25,
            pteq_engine_per_voice=(
                pteq.mk_pianoteq_engine(
                    fxp='"pbIII/fxp/VibraphoneV-BHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_pianoteq_engine(
                    fxp='"pbIII/fxp/VibraphoneV-BHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_pianoteq_engine(
                    preset='"Church Bells original"',
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
            ),
            speech_init_attributes={},
            include_glitter=False,
            include_diva=False,
            include_natural_radio=False,
            include_percussion=False,
        ),
        segments.Chord(
            "{}_Bell1".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(8, 1), ji.r(2, 1),
                                                    ji.r(9, 8)),
            group=(group, sub_group0, 0),
            chord=harmony.find_harmony(name="C", idx=1, gender=gender),
            gender=gender,
            n_bars=1,
            duration_per_bar=9,
            start=0,
            dynamic_range_of_voices=(0.05, 0.4),
            anticipation_time=0,
            overlaying_time=0,
            voices_entry_delay_per_voice=(0.025, 0, 0.05),
            pteq_engine_per_voice=(
                pteq.mk_pianoteq_engine(
                    fxp='"pbIII/fxp/VibraphoneV-BHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_pianoteq_engine(
                    fxp='"pbIII/fxp/Bells_no_stretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
            ),
            speech_init_attributes={},
            glitter_type="drone",
            glitter_register_per_voice=(2, 3, 4),
            glitter_volume_per_voice=(0.01, 0.02, 0.04),
            glitter_modulater_per_voice=("lfo", "randomi", "lfo"),
            glitter_release_duration=7,
            glitter_attack_duration=0.2,
            include_glitter=True,
            include_diva=False,
            include_natural_radio=False,
            include_percussion=False,
        ),
        segments.Chord(
            "{}_Bell2".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(6, 1), ji.r(2, 1),
                                                    ji.r(9, 8)),
            group=(group, sub_group0, 0),
            chord=harmony.find_harmony(name="B", gender=gender),
            gender=gender,
            n_bars=1,
            duration_per_bar=17,
            start=6,
            dynamic_range_of_voices=(0.87, 1),
            voices_entry_delay_per_voice=(0.015, 0, 0.03),
            anticipation_time=1.25,
            overlaying_time=1.25,
            pteq_engine_per_voice=(
                pteq.mk_pianoteq_engine(
                    fxp='"pbIII/fxp/Bells_no_stretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_pianoteq_engine(
                    fxp='"pbIII/fxp/Bells_no_stretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_pianoteq_engine(
                    fxp='"pbIII/fxp/Bells_no_stretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
            ),
            speech_init_attributes={},
            include_glitter=False,
            include_diva=False,
            include_natural_radio=False,
            include_percussion=False,
        ),
        segments.Silence(name="{}_silence1".format(name), duration=6),
    )
Beispiel #16
0
def make(name: str = "ONE", gender=False, group=0, sub_group0=1):
    return (
        segments.Silence(name="{}_start_silence".format(name), duration=18),
        segments.Chord(
            "{}_Speech0".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(7, 1), ji.r(2, 1), ji.r(4, 3)),
            group=(group, sub_group0, 0),
            chord=harmony.find_harmony(name="A", gender=gender),
            gender=gender,
            n_bars=1,
            duration_per_bar=34,
            start=0,
            dynamic_range_of_voices=(0.8, 1),
            anticipation_time=2.25,
            overlaying_time=3.25,
            speech_init_attributes={
                "speech0": {
                    "start": 0,
                    "duration": 35,
                    "sound_engine": speech.BrokenRadio(
                        (globals.SAM_SPEECH_SLICED_DERRIDA_KAFKA.path,),
                        duration=32,
                        volume=0.42,
                        activity_lv_per_effect={
                            "original": 8,
                            "harmonizer": 6,
                            "filter": 10,
                            "noise": 10,
                            "lorenz": 10,
                            "chenlee": 6,
                        },
                        level_per_effect={
                            "original": infit.Gaussian(0.4, 0.05),
                            "filter": infit.Gaussian(10.2, 2.25),
                            "harmonizer": infit.Gaussian(0.7, 0.15),
                            "chenlee": infit.Gaussian(0.1, 0.02),
                            "lorenz": infit.Gaussian(0.4, 0.02),
                            "noise": infit.Gaussian(0.32, 0.04),
                        },
                        transpo_maker=infit.Uniform(0.14, 0.8),
                        filter_freq_maker=infit.Gaussian(110, 50),
                        filter_q_maker=infit.Gaussian(5, 1),
                        curve=interpolations.InterpolationLine(
                            [
                                interpolations.FloatInterpolationEvent(0.25, 0.01),
                                interpolations.FloatInterpolationEvent(0.8, 1),
                                interpolations.FloatInterpolationEvent(0.3, 1),
                                interpolations.FloatInterpolationEvent(0, 0.1),
                            ]
                        ),
                    ),
                },
                "speech1": {
                    "start": 0.1,
                    "duration": 35,
                    "sound_engine": speech.BrokenRadio(
                        (globals.SAM_SPEECH_SLICED_DERRIDA_KAFKA.path,),
                        duration=32,
                        volume=0.3,
                        activity_lv_per_effect={
                            "original": 6,
                            "harmonizer": 4,
                            "filter": 9,
                            "noise": 9,
                            "lorenz": 8,
                            "chenlee": 7,
                        },
                        level_per_effect={
                            "original": infit.Gaussian(0.4, 0.05),
                            "filter": infit.Gaussian(10.2, 2.25),
                            "harmonizer": infit.Gaussian(0.7, 0.15),
                            "chenlee": infit.Gaussian(0.1, 0.02),
                            "lorenz": infit.Gaussian(0.4, 0.02),
                            "noise": infit.Gaussian(0.32, 0.04),
                        },
                        transpo_maker=infit.Uniform(1.14, 1.5),
                        filter_freq_maker=infit.Gaussian(200, 50),
                        filter_q_maker=infit.Gaussian(5, 1),
                        curve=interpolations.InterpolationLine(
                            [
                                interpolations.FloatInterpolationEvent(0.3, 0.01),
                                interpolations.FloatInterpolationEvent(0.8, 1),
                                interpolations.FloatInterpolationEvent(0.3, 1),
                                interpolations.FloatInterpolationEvent(0, 0.1),
                            ]
                        ),
                    ),
                },
                "speech2": {
                    "start": 0.075,
                    "duration": 35,
                    "sound_engine": speech.BrokenRadio(
                        (globals.SAM_SPEECH_SLICED_DERRIDA_KAFKA.path,),
                        duration=32,
                        volume=0.34,
                        activity_lv_per_effect={
                            "original": 6,
                            "harmonizer": 4,
                            "filter": 9,
                            "noise": 9,
                            "lorenz": 8,
                            "chenlee": 7,
                        },
                        level_per_effect={
                            "original": infit.Gaussian(0.4, 0.05),
                            "filter": infit.Gaussian(10.2, 2.25),
                            "harmonizer": infit.Gaussian(0.7, 0.15),
                            "chenlee": infit.Gaussian(0.1, 0.02),
                            "lorenz": infit.Gaussian(0.4, 0.02),
                            "noise": infit.Gaussian(0.32, 0.04),
                        },
                        transpo_maker=infit.Uniform(1.14, 1.5),
                        filter_freq_maker=infit.Gaussian(200, 50),
                        filter_q_maker=infit.Gaussian(5, 1),
                        curve=interpolations.InterpolationLine(
                            [
                                interpolations.FloatInterpolationEvent(0.4, 0.01),
                                interpolations.FloatInterpolationEvent(0.8, 1),
                                interpolations.FloatInterpolationEvent(0.3, 1),
                                interpolations.FloatInterpolationEvent(0, 0.1),
                            ]
                        ),
                    ),
                },
            },
            include_glitter=False,
            include_diva=False,
            include_natural_radio=False,
            include_percussion=False,
            include_voices=False,
        ),
    )
Beispiel #17
0
def make(name: str = "TWO", gender=False, group=0, sub_group0=1):
    return (
        segments.Chord(
            "{}_Bell0".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(7, 1), ji.r(2, 1),
                                                    ji.r(5, 4)),
            group=(group, sub_group0, 0),
            chord=harmony.find_harmony(name="A", idx=0, gender=gender),
            gender=gender,
            n_bars=1,
            duration_per_bar=15,
            start=0,
            dynamic_range_of_voices=(0.3, 0.385),
            voices_entry_delay_per_voice=(0.03, 0, 0.05),
            anticipation_time=1.25,
            overlaying_time=1.25,
            pteq_engine_per_voice=(
                pteq.mk_pianoteq_engine(
                    fxp='"pbIII/fxp/VibraphoneV-BHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_pianoteq_engine(
                    fxp='"pbIII/fxp/Bells_no_stretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_pianoteq_engine(
                    fxp='"pbIII/fxp/Bells_no_stretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
            ),
            speech_init_attributes={},
            include_glitter=False,
            include_diva=False,
            include_natural_radio=False,
            include_percussion=False,
        ),
        segments.Chord(
            "{}_Bell1".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(11, 1), ji.r(2, 1),
                                                    ji.r(15, 8)),
            group=(group, sub_group0, 0),
            chord=harmony.find_harmony(name="B", idx=0, gender=gender),
            gender=gender,
            n_bars=1,
            duration_per_bar=8,
            start=-12.7,
            dynamic_range_of_voices=(0.45, 0.55),
            anticipation_time=0.2,
            overlaying_time=1.25,
            glitter_modulater_per_voice=("randomh", "randomh", "randomh"),
            pteq_engine_per_voice=(
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/Bells_no_stretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
            ),
            include_glitter=False,
            include_diva=False,
            include_natural_radio=False,
            include_percussion=False,
        ),
        segments.Chord(
            "{}_Bell2".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(13, 1), ji.r(2, 1),
                                                    ji.r(15, 8)),
            group=(group, sub_group0, 0),
            chord=harmony.find_harmony(name="F", idx=0, gender=gender),
            gender=gender,
            n_bars=1,
            duration_per_bar=14,
            start=5.75,
            dynamic_range_of_voices=(0.8, 0.9),
            anticipation_time=0,
            overlaying_time=0,
            voices_entry_delay_per_voice=(0, 0.05, 0.1),
            pteq_engine_per_voice=(
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
            ),
            glitter_type="drone",
            glitter_register_per_voice=(5, 5, 5),
            glitter_volume_per_voice=(0.3, 0.3, 0.3),
            glitter_modulater_per_voice=(None, None, None),
            glitter_release_duration=7,
            glitter_attack_duration=0.5,
            include_glitter=True,
            include_diva=False,
            include_natural_radio=False,
            include_percussion=False,
        ),
        segments.Chord(
            "{}_Bell3".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(4, 1), ji.r(2, 1),
                                                    ji.r(5, 4)),
            group=(group, sub_group0, 0),
            chord=harmony.find_harmony(name="A", idx=0, gender=gender),
            gender=gender,
            n_bars=1,
            duration_per_bar=10,
            start=-4.25,
            # start=0,
            dynamic_range_of_voices=(0.95, 1),
            voices_entry_delay_per_voice=(0, 0.15, 0.225),
            anticipation_time=5.5,
            overlaying_time=0,
            pteq_engine_per_voice=(
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
                pteq.mk_bright_bell(
                    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
                    preset=None,
                    empty_attack_dynamic_maker=infit.Value(0),
                ),
            ),
            speech_init_attributes={},
            volume_envelope_per_track={
                "glitterN01":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(3, 0),
                    interpolations.FloatInterpolationEvent(2, 0.5),
                    interpolations.FloatInterpolationEvent(5, 1),
                    interpolations.FloatInterpolationEvent(0, 0.3),
                ]),
                "glitterN02":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(3, 0),
                    interpolations.FloatInterpolationEvent(2, 0.5),
                    interpolations.FloatInterpolationEvent(5, 1),
                    interpolations.FloatInterpolationEvent(0, 0.3),
                ]),
                "glitterN12":
                interpolations.InterpolationLine([
                    interpolations.FloatInterpolationEvent(3, 0),
                    interpolations.FloatInterpolationEvent(2, 0.5),
                    interpolations.FloatInterpolationEvent(5, 1),
                    interpolations.FloatInterpolationEvent(0, 0.3),
                ]),
            },
            glitter_type="drone",
            glitter_register_per_voice=(5, 5, 5),
            glitter_volume_per_voice=(3.5, 3.5, 3.5),
            glitter_modulater_per_voice=(None, None, None),
            glitter_release_duration=5,
            glitter_attack_duration=8,
            include_glitter=True,
            include_diva=False,
            include_natural_radio=False,
            include_percussion=False,
        ),
    )