예제 #1
0
    def _init_arguments(self) -> dict:
        """define class specfic data here when inherting"""
        min_vol = 0.4
        max_vol = 1

        return {
            "volume_curve":
            infit.Cycle((
                interpolations.FallingRising(min_vol, max_vol),
                interpolations.FallingRising(min_vol, max_vol),
                interpolations.Falling(min_vol, max_vol),
                interpolations.RisingFalling(min_vol, max_vol),
                interpolations.Rising(min_vol, max_vol),
                interpolations.FallingRising(min_vol, max_vol),
            )),
            "osc_noise_volume":
            infit.Uniform(30, 64),
            "osc_mix":
            infit.Value(infit.Gaussian(70, 5)),
            "osc_tune_mod_depth2":
            infit.Value(infit.Gaussian(0, 1)),
            "vcf1_freq_mod_depth":
            infit.Uniform(0, 10),
            "vcf1_filter_fm":
            infit.Cycle((
                0,
                interpolations.Rising(0, 4),
                interpolations.FallingRising(-4, 4),
                interpolations.Falling(0, 4),
                0,
                interpolations.RisingFalling(0, 4),
                interpolations.Falling(-4, 0),
                interpolations.Rising(-4, 0),
            )),
        }
예제 #2
0
 def _init_arguments(self) -> dict:
     """define class specfic data here when inherting"""
     return {
         "volume_curve":
         infit.Cycle((
             interpolations.Rising(),
             interpolations.FallingRising(),
             interpolations.Falling(),
             interpolations.RisingFalling(),
         )),
         "osc_noise_volume":
         infit.Uniform(0, 25),
         "osc_mix":
         infit.Value(infit.Gaussian(50, 25)),
         "osc_tune_mod_depth2":
         infit.Cycle((
             interpolations.Rising(0, 2),
             interpolations.Falling(-2, 2),
             infit.Gaussian(0, 1.5),
             interpolations.RisingFalling(-2, 2),
             interpolations.Falling(0, 2),
             0,
             interpolations.Rising(0, 1),
             infit.Uniform(-1, 1),
             interpolations.RisingFalling(-1, 1.5),
             interpolations.Falling(-2, -1),
             interpolations.Rising(-1, 0),
             0,
             infit.Gaussian(0, 2),
         )),
         "vcf1_freq_mod_depth":
         infit.Uniform(0, 30),
         "vcf1_filter_fm":
         infit.Cycle((
             0,
             interpolations.Rising(0, 10),
             interpolations.FallingRising(-10, 10),
             interpolations.Falling(0, 10),
             0,
             interpolations.RisingFalling(0, 10),
             interpolations.Falling(-10, 0),
             interpolations.Rising(-10, 0),
         )),
     }
예제 #3
0
def mk_trippy_bell_pte(
    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
    preset=None,
    sustain_pedal: int = 0,
    *args,
    **kwargs,
) -> type:
    # for bell
    parameters = {
        "unison_width": infit.Uniform(10, 15.75),
        "impedance": infit.Uniform(1.55, 1.65, seed=2),
        "cutoff": infit.Gaussian(1.4, 0.5, seed=10),
        "q_factor": infit.Gaussian(1.4, 0.1, seed=11),
        "direct_sound_duration": infit.Uniform(0, 1, seed=12),
        "sympathetic_resonance": infit.Gaussian(3, 0.5),
        "duplex_scale": infit.Uniform(8, 20, seed=33),
        "hammer_noise": infit.Gaussian(2.8, 0.2, seed=10),
        "sustain_pedal": sustain_pedal,
        "hammer_hard_piano": 1.8,
        "hammer_hard_mezzo": 1.9,
        "hammer_hard_forte": 2,
        "strike_point": 1 / 2,
        "pinch_harmonic_pedal": 0,
        "sound_speed": infit.Gaussian(300, 20),
        "blooming_energy": infit.Uniform(1.685, 2),
        "blooming_inertia": infit.Uniform(1.6, 2),
        "effect1_switch": 1,
        "effect1_param1": infit.Gaussian(0.4, 0.05),
        "effect1_param2": infit.Gaussian(0.55, 0.1),
    }
    return mk_pianoteq_engine(
        preset=preset,
        fxp=fxp,
        parameter_non_dissonant_pitches=parameters,
        parameter_dissonant_pitches=parameters,
        *args,
        **kwargs,
    )
예제 #4
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,
        ),
    )
예제 #5
0
def make(name: str = "TWO", gender=False, group=0, sub_group0=1):
    return (
        segments.FreeStyleCP(
            "{}_0".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(5, 1), ji.r(9, 4),
                                                    ji.r(16, 11)),
            decision_type="activity",
            energy_per_voice=(9, 7, 7),
            weight_range=(4, 10),
            metrical_numbers=(12, 9, 12),
            silence_decider_per_voice=(
                infit.ActivityLevel(2),
                infit.ActivityLevel(1),
                infit.ActivityLevel(2),
            ),
            group=(group, sub_group0, 0),
            start_harmony=harmony.find_harmony("A",
                                               True,
                                               0,
                                               tuple([]),
                                               gender=gender),
            gender=gender,
            n_bars=2,
            duration_per_bar=13,
            start=0,
            dynamic_range_of_voices=(0.2, 0.5),
            anticipation_time=0.01,
            overlaying_time=0.25,
            cp_add_dissonant_pitches_to_nth_voice=(True, True, True),
            glitter_include_dissonant_pitches=True,
            pteq_engine_per_voice=(
                pteq.mk_super_soft_trippy_pte(
                    empty_attack_dynamic_maker=infit.Value(0.2),
                    fxp='"pbIII/fxp/VibraphoneV-BHumanizednostretching.fxp"',
                    preset=None,
                    sustain_pedal=0,
                ),
                pteq.mk_dreamy_pte(
                    # modulator=(ornamentations.SoftLineGlissandoMaker(),),
                    convert_dissonant_tones2glissandi=True,
                    empty_attack_dynamic_maker=infit.Value(0.2),
                ),
                pteq.mk_dreamy_pte(
                    empty_attack_dynamic_maker=infit.Value(0.2),
                    convert_dissonant_tones2glissandi=True,
                ),
            ),
            speech_init_attributes={},
            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(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,
                ),
            ),
            include_glitter=True,
            include_diva=False,
            include_natural_radio=True,
            include_percussion=True,
            voices_overlaying_time=5,
            radio_samples=(
                globals.SAM_RADIO_ITALY[-1],
                globals.SAM_RADIO_BIELEFELD[-1],
            ),
            radio_n_changes=8,
            radio_average_volume=0.1,
            radio_shadow_time=0.01,
            radio_min_volume=0.825,
        ),
        segments.Chord(
            "{}_Bell2".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(12, 1), ji.r(2, 1),
                                                    ji.r(15, 8)),
            group=(group, sub_group0, 1),
            chord=harmony.find_harmony(name="A", idx=0, gender=gender),
            gender=gender,
            n_bars=1,
            duration_per_bar=8,
            start=4,
            dynamic_range_of_voices=(0.7, 0.9),
            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),
                ),
            ),
            # speech_init_attributes={
            #     # "speech0": {
            #     #     "start": 0.3,
            #     #     "duration": 12.5,
            #     #     "sound_engine": speech.Sampler(
            #     #         globals.SAM_RADIO_CAROLINA[1], volume=0.6
            #     #     ),
            #     # },
            #     # "speech2": {
            #     #     "start": -0.3,
            #     #     "duration": 12.5,
            #     #     "sound_engine": speech.Sampler(
            #     #         globals.SAM_RADIO_ROEHRENRADIO_CLOSE_MITTELWELLE[-1], volume=0.6
            #     #     ),
            #     # },
            # },
            include_glitter=False,
            include_diva=False,
            include_natural_radio=False,
            include_percussion=False,
        ),
        segments.FreeStyleCP(
            "{}_1".format(name),
            ambitus_maker=ambitus.SymmetricalRanges(ji.r(5, 1), ji.r(9, 4),
                                                    ji.r(16, 11)),
            decision_type="activity",
            energy_per_voice=(9, 6, 7),
            weight_range=(4, 10),
            metrical_numbers=(13, 9, 13),
            silence_decider_per_voice=(
                infit.ActivityLevel(2),
                infit.ActivityLevel(1),
                infit.ActivityLevel(2),
            ),
            group=(group, sub_group0, 1),
            start_harmony=harmony.find_harmony("A",
                                               True,
                                               0,
                                               tuple([]),
                                               gender=gender),
            gender=gender,
            n_bars=2,
            duration_per_bar=15,
            start=-3.8,
            dynamic_range_of_voices=(0.2, 0.4),
            anticipation_time=0.01,
            overlaying_time=0.25,
            cp_add_dissonant_pitches_to_nth_voice=(True, True, True),
            glitter_include_dissonant_pitches=True,
            pteq_engine_per_voice=(
                pteq.mk_super_soft_trippy_pte(
                    empty_attack_dynamic_maker=infit.Value(0.2),
                    fxp='"pbIII/fxp/VibraphoneV-BHumanizednostretching.fxp"',
                    preset=None,
                    sustain_pedal=0,
                ),
                pteq.mk_dreamy_pte(
                    # modulator=(ornamentations.SoftLineGlissandoMaker(),),
                    convert_dissonant_tones2glissandi=True,
                    empty_attack_dynamic_maker=infit.Value(0.2),
                ),
                pteq.mk_dreamy_pte(
                    empty_attack_dynamic_maker=infit.Value(0.2),
                    convert_dissonant_tones2glissandi=True,
                ),
            ),
            speech_init_attributes={},
            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(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,
                ),
            ),
            include_glitter=True,
            include_diva=False,
            include_natural_radio=True,
            include_percussion=True,
            voices_overlaying_time=5,
            radio_samples=(
                globals.SAM_RADIO_ITALY[-1],
                globals.SAM_RADIO_BIELEFELD[-1],
            ),
            radio_n_changes=8,
            radio_average_volume=0.1,
            radio_shadow_time=0.01,
            radio_min_volume=0.825,
        ),
    )
예제 #6
0
    def __init__(
        self,
        chapter: int = 59,
        verse: int = "opening",
        time_transcriber=transcriptions.TimeTranscriber(),
        octave_of_first_pitch: int = 0,
        use_full_scale: bool = False,
        tempo_factor: float = 0.5,
        harmonic_field_max_n_pitches: int = 4,
        harmonic_field_minimal_harmonicity: float = 0.135,
        harmonic_tolerance:
        float = 0.5,  # a very low harmonic tolerance won't add any
        # additional harmonic pitches, while a very high tolerance will try to add as many
        # additional harmonic pitches as possible.
        harmonic_pitches_add_artifical_harmonics: bool = True,
        harmonic_pitches_add_normal_pitches: bool = True,
        harmonic_pitches_tonality_flux_maximum_octave_difference_from_melody_pitch:
        tuple = (
            1,
            0,
        ),
        harmonic_pitches_complex_interval_helper_maximum_octave_difference_from_melody_pitch:
        tuple = (
            1,
            0,
        ),
        max_rest_size_to_ignore: fractions.Fraction = fractions.Fraction(1, 4),
        maximum_deviation_from_center: float = 0.5,
        # rhythmical orientation data
        ro_temperature:
        float = 0.7,  # a low temperature increases the chance for a
        # beat to get added.
        ro_density: float = 0.5,  # a high density value increases the amount of
        # orientation beats.
        area_density_maker: infit.InfIt = None,  # a higher value
        # leads to more perforated melodic pitches.
        area_density_reference_size: fractions.Fraction = fractions.Fraction(
            1, 2),
        area_min_split_size: fractions.Fraction = fractions.Fraction(1, 4),
    ) -> None:
        if area_density_maker is None:
            area_density_maker = infit.Gaussian(0.25, 0.075)

        self.transcription = self._get_transcription(
            chapter=chapter,
            verse=verse,
            time_transcriber=time_transcriber,
            octave_of_first_pitch=octave_of_first_pitch,
            use_full_scale=use_full_scale,
        )
        self._transcription_melody = old.Melody(tuple(self.transcription[:]))
        self.areas = areas.Areas.from_melody(
            self._transcription_melody,
            self.transcription.spread_metrical_loop,
            area_density_maker,
            area_density_reference_size,
            area_min_split_size,
        )
        self.chapter = chapter
        self.verse = verse
        self.tempo_factor = tempo_factor
        self.bread = breads.Bread.from_melody(
            old.Melody(self.transcription).copy(),
            self.bars,
            max_rest_size_to_ignore,
            maximum_deviation_from_center,
        )

        self.assign_harmonic_pitches_to_slices(
            harmonic_tolerance,
            harmonic_pitches_add_artifical_harmonics,
            harmonic_pitches_add_normal_pitches,
            harmonic_pitches_tonality_flux_maximum_octave_difference_from_melody_pitch,
            harmonic_pitches_complex_interval_helper_maximum_octave_difference_from_melody_pitch,
        )
        self.assign_harmonic_fields_to_slices(
            harmonic_field_max_n_pitches, harmonic_field_minimal_harmonicity)

        self.rhythmic_orientation_indices = self._detect_rhythmic_orientation(
            temperature=ro_temperature, density=ro_density)

        self.melodic_orientation = self._make_melodic_orientation_system()
        self.rhythmic_orientation = self._make_rhythmic_orientation_system()

        super().__init__()

        self.attach(
            violin=strings.SilentStringMaker(globals_.VIOLIN),
            viola=strings.SilentStringMaker(globals_.VIOLA),
            cello=strings.SilentStringMaker(globals_.CELLO),
            keyboard=keyboard.SilentKeyboardMaker(),
        )
예제 #7
0
 "start": 1.26,
 "duration": 85,
 "sound_engine": speech.BrokenRadio(
     ("pbIII/samples/speech/sliced/fisher/0/",),
     duration=85,
     volume=0.25,
     activity_lv_per_effect={
         "original": 7,
         "harmonizer": 6,
         "filter": 9,
         "noise": 10,
         "lorenz": 10,
         "chenlee": 5,
     },
     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),
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,
    ), )
예제 #9
0
def main() -> versemaker.Verse:
    vm = versemaker.VerseMaker(
        59,
        1,
        tempo_factor=0.32,
        octave_of_first_pitch=-1,
        harmonic_tolerance=0.8,
        ro_temperature=0.712,
        ro_density=0.68,
        harmonic_pitches_tonality_flux_maximum_octave_difference_from_melody_pitch=(
            1,
            0,
        ),
        harmonic_pitches_complex_interval_helper_maximum_octave_difference_from_melody_pitch=(
            1,
            0,
        ),
        area_density_maker=infit.Gaussian(0.5, 0.05),
        area_density_reference_size=F(1, 2),
        area_min_split_size=F(3, 16),
    )

    vm.remove_area(0, 1)

    vm.attach(
        violin=strings.SimpleStringMaker(
            globals_.VIOLIN,
            pizz_maker=infit.ActivityLevel(5, start_at=0),
            tremolo_maker=infit.ActivityLevel(0),
            acciaccatura_maker=infit.ActivityLevel(6),
            force_acciaccatura_to_glissando_maker=infit.ActivityLevel(0),
            acciaccatura_glissando_size_maker=infit.Cycle((0, 1, 0, 0, 1)),
            harmonic_pitches_activity=0.6,
            harmonic_pitches_density=0.72,
            shall_add_optional_pitches=True,
            optional_pitches_maximum_octave_difference_from_melody_pitch=(1, 0),
            optional_pitches_min_size=F(3, 32),
            optional_pitches_avg_size=F(2, 16),
            optional_pitches_density=0.7,
            after_glissando_size=F(1, 8),
        ),
        viola=strings.SimpleStringMaker(
            globals_.VIOLA,
            tremolo_maker=infit.ActivityLevel(0),
            pizz_maker=infit.ActivityLevel(5, start_at=0),
            acciaccatura_maker=infit.ActivityLevel(6, start_at=2),
            force_acciaccatura_to_glissando_maker=infit.ActivityLevel(0),
            acciaccatura_glissando_size_maker=infit.Cycle((0, 1, 0, 1, 2, 0, 1)),
            harmonic_pitches_activity=0.65,
            harmonic_pitches_density=0.72,
            shall_add_optional_pitches=True,
            optional_pitches_maximum_octave_difference_from_melody_pitch=(1, 0),
            optional_pitches_min_size=F(3, 32),
            optional_pitches_avg_size=F(1, 8),
            optional_pitches_density=0.7,
        ),
        cello=strings.SimpleStringMaker(
            globals_.CELLO,
            tremolo_maker=infit.ActivityLevel(0),
            pizz_maker=infit.ActivityLevel(8),
            acciaccatura_maker=infit.ActivityLevel(8),
            force_acciaccatura_to_glissando_maker=infit.ActivityLevel(0),
            acciaccatura_glissando_size_maker=infit.Cycle((0, 1, 0, 1, 1)),
            shall_add_optional_pitches=True,
            harmonic_pitches_activity=0.69,
            harmonic_pitches_density=0.72,
            optional_pitches_min_size=F(1, 8),
            optional_pitches_avg_size=F(2, 16),
            optional_pitches_density=0.9,
        ),
        keyboard=keyboard.KeyboardMaker(
            lh_min_metricity_to_add_harmony=0.4,
            lh_min_metricity_to_add_accent=1.2,
            lh_max_metricity_for_arpeggio=0.35,
            lh_min_metricity_to_add_restricted_harmony=0,
            lh_prohibit_repetitions=False,
            lh_add_repetitions_avoiding_notes=False,
            rh_likelihood_making_harmony=1,
            harmonies_max_difference=1200,
            harmonies_min_difference=250,
            colotomic_structure=(0, 1, 1, 1),
        ),
    )

    _adapt_violin(vm.violin.musdat[1], vm)
    _adapt_viola(vm.viola.musdat[1], vm)
    _adapt_cello(vm.cello.musdat[1], vm)
    _adapt_keyboard(vm.keyboard.musdat[2], vm.keyboard.musdat[1], vm)

    vm.add_bar(5, abjad.TimeSignature((2, 4)))
    vm.add_bar(11, abjad.TimeSignature((2, 4)))
    vm.add_bar(13, abjad.TimeSignature((1, 4)))

    vm.force_remove_area(len(vm.violin.bars) - 1, len(vm.violin.bars))

    # second round of postprocessing
    _adapt_violin2(vm.violin.musdat[1], vm)
    _adapt_viola2(vm.viola.musdat[1], vm)
    _adapt_cello2(vm.cello.musdat[1], vm)
    _adapt_left2(vm.keyboard.musdat[2], vm)
    _adapt_right2(vm.keyboard.musdat[1], vm)

    for instr in ("violin", "viola", "cello", "keyboard"):
        if instr == "keyboard":
            nth_line = (2, 1)
        else:
            nth_line = (1,)

        novent_line = getattr(vm, instr).musdat[nth_line[0]]
        novent_line[0].dynamic = attachments.Dynamic("pp")

    for string in (vm.violin.musdat[1], vm.viola.musdat[1], vm.cello.musdat[1]):
        tw.detach_hauptstimme(string)

    verse = vm()

    for instr in ("violin", "viola", "cello", "keyboard"):
        if instr == "keyboard":
            indices = ((1, 0), (1, 1))
        else:
            indices = ((1,),)

        for idx in indices:
            staff = getattr(verse, instr).abjad
            for subidx in idx:
                staff = staff[subidx]

            # [bar_idx][event_idx]

            # adapting accidental notation of keyboard
            if instr == "keyboard" and idx[1] == 0:
                abjad.Accidental.respell_with_sharps(staff[1])
                abjad.Accidental.respell_with_sharps(staff[2])
                abjad.Accidental.respell_with_sharps(staff[3])
                # abjad.Accidental.respell_with_sharps(staff[4])

                abjad.Accidental.respell_with_sharps(staff[7])
                abjad.Accidental.respell_with_flats(staff[8])

                abjad.Accidental.respell_with_sharps(staff[15][2:])

                abjad.attach(abjad.Tie(), staff[19][1])
                abjad.attach(abjad.Tie(), staff[19][2])

            elif instr == "keyboard" and idx[1] == 1:
                # abjad.Accidental.respell_with_sharps(staff[11])
                abjad.Accidental.respell_with_sharps(staff[1])
                abjad.Accidental.respell_with_sharps(staff[2])
                abjad.Accidental.respell_with_sharps(staff[3])
                # abjad.Accidental.respell_with_sharps(staff[4])

                # abjad.attach(abjad.Ottava(-1), staff[9][0])
                # tw.put_gong_to_separate_vox(9, 0, staff)

            elif instr == "violin":
                abjad.detach(abjad.Markup, staff[2][2])
                abjad.attach(
                    tw.scpm("arco sul tasto"), staff[2][2],
                )
                abjad.attach(
                    tw.scpm("molto sul tasto"), staff[3][2],
                )
                abjad.attach(abjad.StartHairpin(">"), staff[3][2])
                abjad.attach(abjad.Dynamic("ppp"), staff[4][0])
                abjad.attach(abjad.Dynamic("pp"), staff[4][1])
                abjad.detach(abjad.Markup, staff[5][1])
                abjad.attach(
                    tw.scpm("arco ordinario"), staff[5][1],
                )

            elif instr == "viola":
                abjad.attach(
                    abjad.StartTextSpan(left_text=abjad.Markup("rit.")), staff[-1][0]
                )
                abjad.attach(abjad.StopTextSpan(), staff[-1][-1])
                abjad.attach(abjad.StartHairpin(">"), staff[-1][0])
                abjad.attach(abjad.Dynamic("ppp"), staff[-1][-1])

    return verse
예제 #10
0
    def __init__(
        self,
        name: str,
        tracks2ignore=tuple([]),
        volume_envelope=None,
        volume_envelope_per_track=dict([]),
        rhythm_maker=None,
        start: float = 0,
        group: tuple = (0, 0, 0),
        gender: bool = True,
        n_bars: int = 1,
        anticipation_time: float = 0.5,
        overlaying_time: float = 0.5,
        duration_per_bar: float = 5,
        include_voices: bool = True,
        include_diva: bool = True,
        include_glitter: bool = True,
        include_natural_radio: bool = True,
        include_percussion: bool = True,
        dynamic_range_of_voices: tuple = (0.2, 0.95),
        max_spectrum_profile_change: int = 10,
        voices_overlaying_time: float = 1,
        voices_entry_delay_per_voice: tuple = (0, 0, 0),
        glitter_include_dissonant_pitches: bool = True,
        glitter_modulater_per_voice: tuple = ("randomi", "randomi", "randomi"),
        glitter_attack_duration: infit.InfIt = 0.5,
        glitter_release_duration: infit.InfIt = 0.5,
        glitter_type: str = "glitter",
        glitter_chord=None,
        glitter_register_per_voice: tuple = (2, 2, 2),
        glitter_wave_form_per_voice: tuple = ("sine", "sine", "sine"),
        glitter_volume_per_voice: tuple = (1, 1, 1),
        radio_samples: tuple = (
            globals.SAM_RADIO_BIELEFELD[2],
            globals.SAM_RADIO_UK[4],
            globals.SAM_RADIO_ITALY[2],
        ),
        radio_make_envelope: bool = True,
        radio_average_volume: float = 0.3,
        radio_min_volume: float = 0.65,
        radio_max_volume: float = 1,
        radio_n_changes: int = 5,
        radio_crossfade_duration: float = 0.5,
        radio_shadow_time: float = 0.175,
        radio_silent_channels: tuple = tuple([]),
        radio_attack_duration: infit.InfIt = infit.Gaussian(0.4, 0.095),
        radio_release_duration: infit.InfIt = infit.Gaussian(0.4, 0.095),
        tremolo_maker_per_voice: tuple = (None, None, None),
        cp_constraints_interpolation: tuple = tuple([]),
        cp_add_dissonant_pitches_to_nth_voice: tuple = (True, True, True),
        speech_init_attributes: dict = {},
        ambitus_maker: ambitus.AmbitusMaker = ambitus.SymmetricalRanges(
            ji.r(1, 1), ji.r(3, 1), ji.r(5, 4)),
        start_harmony: tuple = None,
        pteq_engine_per_voice: tuple = (
            pteq.mk_contrasting_pte(),
            pteq.mk_contrasting_pte(),
            pteq.mk_contrasting_pte(),
        ),
        diva_engine_per_voice: tuple = (
            diva.FloatingDivaMidiEngine,
            diva.FloatingDivaMidiEngine,
            diva.FloatingDivaMidiEngine,
        ),
        percussion_engine_per_voice: tuple = (
            percussion.Rhythmizer((0, )),
            percussion.Rhythmizer((1, )),
            percussion.Rhythmizer((2, )),
        ),
        # in case the user want to use her or his own metrical numbers
        metrical_numbers: tuple = None,
    ) -> None:

        assert glitter_type in ("glitter", "drone")

        if glitter_chord is None:
            glitter_chord = harmony.find_harmony(gender=gender)[0]

        self._voices_entry_delay_per_voice = voices_entry_delay_per_voice
        self._n_bars = n_bars
        self._cp_constraints_interpolation = cp_constraints_interpolation
        self._gender = gender
        self._gender_code = ("N", "P")[int(gender)]
        self._bar_number = globals.MALE_SOIL.detect_group_index(group)
        if metrical_numbers is None:
            metrical_numbers = globals.MALE_SOIL.metre_per_vox_per_bar[
                self._bar_number]
        self._metrical_numbers = metrical_numbers
        self._anticipation_time = anticipation_time
        self._overlaying_time = overlaying_time
        self._voices_overlaying_time = voices_overlaying_time
        self._pteq_engine_per_voice = pteq_engine_per_voice
        self._diva_engine_per_voice = diva_engine_per_voice
        self._ambitus_maker = ambitus_maker
        self._start_harmony = start_harmony
        self._cp_add_dissonant_pitches_to_nth_voice = (
            cp_add_dissonant_pitches_to_nth_voice)
        self._tremolo_maker_per_voice = tremolo_maker_per_voice

        if rhythm_maker is None:

            def rhythm_maker(self) -> tuple:
                return tuple(
                    binr.Compound.from_euclid(metrical_prime *
                                              self._n_bars, metrical_prime *
                                              self._n_bars)
                    for metrical_prime in self._metrical_numbers)

        rhythms = polyrhythms.Polyrhythm(
            *rhythm_maker(self)).transformed_rhythms

        self._percussion_engine_per_voice = percussion_engine_per_voice
        self._rhythms = rhythms
        self._bar_size = int(sum(rhythms[0])) // n_bars
        self._weight_per_beat_for_one_bar = self.make_weight_per_beat_for_one_bar(
            self._metrical_numbers, self._bar_size)
        self._tempo_factor = self.convert_duration2factor(
            duration_per_bar, self._bar_size)
        self._include_diva = include_diva

        self._weight_per_beat = tuple(self._weight_per_beat_for_one_bar *
                                      self._n_bars)

        self._harmonic_primes = globals.MALE_SOIL.harmonic_primes_per_bar[
            self._bar_number]
        self._counterpoint_result = self.make_counterpoint_result()

        init_attributes = {}

        self._duration_per_voice = duration_per_bar * self._n_bars

        self._voices_inner = tuple(
            old.Melody(old.Tone(p, r) for p, r in zip(vox[0], vox[1]))
            for vox in self._counterpoint_result[0])
        self._duration = self._voices_inner[0].duration
        self._attribute_maker_inner = pteqer.AttributeMaker(
            self._voices_inner,
            metricity_per_beat=self._weight_per_beat,
            max_spectrum_profile_change=max_spectrum_profile_change,
            dynamic_range=dynamic_range_of_voices,
        )

        self._voices_outer = tuple(
            old.Melody(old.Tone(p, r) for p, r in zip(vox[0], vox[1]))
            for vox in self._counterpoint_result[1])
        self._attribute_maker_outer = pteqer.AttributeMaker(
            self._voices_outer,
            metricity_per_beat=self._weight_per_beat,
            max_spectrum_profile_change=max_spectrum_profile_change,
            dynamic_range=dynamic_range_of_voices,
        )

        # make pianoteq voices
        if include_voices:
            init_attributes.update(self.make_voices())

        # make diva voices
        if include_diva:
            init_attributes.update(self.make_diva_voices())

        # make glitter voices
        if include_glitter:
            init_attributes.update(
                self.make_glitter_voices(
                    glitter_include_dissonant_pitches,
                    glitter_modulater_per_voice,
                    glitter_attack_duration,
                    glitter_release_duration,
                    glitter_type,
                    glitter_chord,
                    glitter_register_per_voice,
                    glitter_wave_form_per_voice,
                    glitter_volume_per_voice,
                ))

        # make natural radio voices
        if include_natural_radio:
            voices_inner_and_outer = []
            for voices, volume_per_voice in (
                (
                    self._voices_inner,
                    self._attribute_maker_inner.volume_per_tone_per_voice,
                ),
                (
                    self._voices_outer,
                    self._attribute_maker_outer.volume_per_tone_per_voice,
                ),
            ):
                voices = tuple(
                    old.Melody(
                        old.Tone(
                            tone.pitch, tone.delay, tone.delay, volume=volume)
                        for tone, volume in zip(voice, volume_per_tone)) for
                    voice, volume_per_tone in zip(voices, volume_per_voice))
                voices_inner_and_outer.append(voices)

            init_attributes.update(
                self.make_natural_radio(
                    voices_inner_and_outer[0],
                    voices_inner_and_outer[1],
                    self._tempo_factor,
                    gender,
                    make_envelope=radio_make_envelope,
                    samples=radio_samples,
                    n_changes=radio_n_changes,
                    crossfade_duration=radio_crossfade_duration,
                    anticipation_time=self._anticipation_time,
                    overlaying_time=self._overlaying_time,
                    average_volume=radio_average_volume,
                    min_volume=radio_min_volume,
                    max_volume=radio_max_volume,
                    shadow_time=radio_shadow_time,
                    silent_channels=radio_silent_channels,
                    attack_duration=radio_attack_duration,
                    release_duration=radio_release_duration,
                ))

        # make percussion voices
        if include_percussion:
            init_attributes.update(self.make_percussion_voices())

        # make speech voices
        init_attributes.update(speech_init_attributes)

        super().__init__(
            name=name,
            start=start,
            tracks2ignore=tracks2ignore,
            volume_envelope=volume_envelope,
            volume_envelope_per_track=volume_envelope_per_track,
            **init_attributes,
        )
예제 #11
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,
        ),
    )
예제 #12
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),
    )
예제 #13
0
def main() -> versemaker.Verse:
    vm = versemaker.VerseMaker(
        59,
        "closing",
        tempo_factor=0.31,
        octave_of_first_pitch=-1,
        harmonic_tolerance=0.89,
        ro_temperature=0.685,
        ro_density=0.8,
        harmonic_pitches_tonality_flux_maximum_octave_difference_from_melody_pitch=(
            1,
            0,
        ),
        harmonic_pitches_complex_interval_helper_maximum_octave_difference_from_melody_pitch=(
            1,
            0,
        ),
        area_density_maker=infit.Gaussian(0.35, 0.1),
        area_density_reference_size=F(1, 2),
        area_min_split_size=F(1, 8),
    )

    vm.remove_area(0, 1)
    # vm.remove_area(30, len(vm.bars))
    # vm.remove_area(len(vm.bars) - 2, len(vm.bars) + 1)
    vm.add_bar(5, abjad.TimeSignature((3, 4)))
    vm.add_bar(9, abjad.TimeSignature((2, 4)))
    vm.add_bar(23, abjad.TimeSignature((1, 4)))
    vm.add_bar(25, abjad.TimeSignature((2, 4)))
    # vm.add_bar(26, abjad.TimeSignature((1, 4)))

    vm.attach(
        violin=strings.SimpleStringMaker(
            globals_.VIOLIN,
            pizz_maker=infit.ActivityLevel(5, start_at=0),
            tremolo_maker=infit.ActivityLevel(0),
            acciaccatura_maker=infit.ActivityLevel(5),
            force_acciaccatura_to_glissando_maker=infit.ActivityLevel(0),
            acciaccatura_glissando_size_maker=infit.Cycle((0, 1, 0)),
            harmonic_pitches_activity=0.3,
            harmonic_pitches_density=0.7,
            shall_add_optional_pitches=True,
            optional_pitches_maximum_octave_difference_from_melody_pitch=(1, 0),
            optional_pitches_min_size=F(3, 16),
            optional_pitches_density=0.75,
            after_glissando_size=F(1, 8),
        ),
        viola=strings.SimpleStringMaker(
            globals_.VIOLA,
            tremolo_maker=infit.ActivityLevel(0),
            pizz_maker=infit.ActivityLevel(5, start_at=0),
            acciaccatura_maker=infit.ActivityLevel(5),
            force_acciaccatura_to_glissando_maker=infit.ActivityLevel(0),
            acciaccatura_glissando_size_maker=infit.Cycle((0, 1, 0, 1, 0, 0, 0)),
            harmonic_pitches_activity=0.4,
            harmonic_pitches_density=0.75,
            shall_add_optional_pitches=True,
            optional_pitches_maximum_octave_difference_from_melody_pitch=(1, 0),
            optional_pitches_min_size=F(3, 16),
            optional_pitches_density=0.75,
        ),
        cello=strings.SimpleStringMaker(
            globals_.CELLO,
            tremolo_maker=infit.ActivityLevel(0),
            pizz_maker=infit.ActivityLevel(0),
            force_acciaccatura_to_glissando_maker=infit.ActivityLevel(0),
            acciaccatura_glissando_size_maker=infit.Cycle((0, 1, 0, 1, 0)),
            shall_add_optional_pitches=True,
            acciaccatura_maker=infit.ActivityLevel(5),
            harmonic_pitches_activity=0.35,
            harmonic_pitches_density=0.7,
            optional_pitches_maximum_octave_difference_from_melody_pitch=(1, 0),
            optional_pitches_min_size=F(3, 16),
            optional_pitches_density=0.7,
            after_glissando_size=F(1, 8),
        ),
        keyboard=keyboard.KeyboardMaker(
            lh_min_volume=0.68,
            lh_max_volume=0.79,
            lh_min_metricity_to_add_harmony=0,
            lh_min_metricity_to_add_accent=10,
            lh_max_metricity_for_arpeggio=0.3,
            lh_min_metricity_to_add_restricted_harmony=0,
            lh_prohibit_repetitions=False,
            lh_add_repetitions_avoiding_notes=False,
            rh_likelihood_making_harmony=1,
            harmonies_max_difference=1200,
            harmonies_min_difference=250,
            colotomic_structure=(1, 2, 2, 2),
        ),
    )

    _adapt_violin(vm.violin.musdat[1], vm)
    _adapt_viola(vm.viola.musdat[1], vm)
    _adapt_cello(vm.cello.musdat[1], vm)
    _adapt_keyboard(vm.keyboard.musdat[2], vm.keyboard.musdat[1], vm)

    # vm.add_bar(33, abjad.TimeSignature((2, 4)), force_adding=True)

    # _adapt_left_hand(vm.keyboard.musdat[2], vm)

    for string in (vm.violin.musdat[1], vm.viola.musdat[1], vm.cello.musdat[1]):
        tw.detach_hauptstimme(string)
        tw.detach_optional_events(string)

    for instr in (
        vm.violin.musdat[1],
        vm.viola.musdat[1],
        vm.cello.musdat[1],
        vm.keyboard.musdat[2],
        vm.keyboard.musdat[1],
    ):
        tw.detach_optional_events(instr)

    verse = vm()

    for instr in ("violin", "viola", "cello", "keyboard"):
        if instr == "keyboard":
            indices = ((1, 0), (1, 1))
        else:
            indices = ((1,),)

        for idx in indices:
            staff = getattr(verse, instr).abjad
            for subidx in idx:
                staff = staff[subidx]

            """
            # adapting accidental notation of keyboard
            if instr == "keyboard" and idx[1] == 1:
                abjad.Accidental.respell_with_sharps(staff[6][3:])
                abjad.Accidental.respell_with_sharps(staff[7])
                abjad.Accidental.respell_with_sharps(staff[8])
                abjad.Accidental.respell_with_sharps(staff[18])
                abjad.Accidental.respell_with_sharps(staff[19])
                abjad.Accidental.respell_with_sharps(staff[20])
            """

            if instr == "violin":
                # abjad.attach(abjad.Dynamic('ppp'), staff[0][0])
                abjad.attach(abjad.StartHairpin(), staff[2][0])
                abjad.attach(abjad.Dynamic("p"), staff[3][0])
                abjad.attach(abjad.StartHairpin(">"), staff[3][6])
                abjad.attach(abjad.Dynamic("ppp"), staff[4][2])
                abjad.attach(abjad.StartHairpin(">"), staff[6][2])
                abjad.attach(abjad.Dynamic("pppp"), staff[7][0])
                # abjad.attach(
                #     abjad.StringContactPoint("sul tasto").markup, staff[7][0],
                # )
                # abjad.attach(
                #     abjad.StringContactPoint("ordinario").markup, staff[8][0],
                # )
                # abjad.attach(
                #     abjad.StringContactPoint("sul tasto").markup, staff[9][0],
                # )
                abjad.attach(abjad.Dynamic("pp"), staff[12][2])
                abjad.attach(abjad.Fermata(), staff[16][2])
                abjad.attach(abjad.Dynamic("p"), staff[17][0])
                abjad.attach(abjad.Dynamic("pppp"), staff[17][2])
                abjad.attach(abjad.StartHairpin(), staff[18][1])
                abjad.attach(abjad.Dynamic("p"), staff[19][0])
                abjad.attach(abjad.Dynamic("pp"), staff[22][-1])
                abjad.attach(abjad.Dynamic("p"), staff[30][2])
                abjad.attach(abjad.StartHairpin(">"), staff[31][-1])
                abjad.attach(abjad.Dynamic("pppp"), staff[33][0])
                # abjad.attach(FLAUTANDO, staff[33][0])

            elif instr == "viola":
                abjad.attach(abjad.StartHairpin(), staff[2][0])
                abjad.attach(abjad.Dynamic("pp"), staff[3][0])
                abjad.attach(abjad.StartHairpin(">"), staff[3][3])
                abjad.attach(abjad.Dynamic("ppp"), staff[4][1])
                abjad.attach(abjad.Dynamic("pppp"), staff[7][0])
                # abjad.attach(
                #     abjad.StringContactPoint("sul tasto").markup, staff[8][0],
                # )
                abjad.attach(abjad.Dynamic("pp"), staff[12][2])
                abjad.attach(abjad.Fermata(), staff[16][2])
                abjad.attach(abjad.Dynamic("p"), staff[17][0])
                abjad.attach(abjad.Dynamic("pp"), staff[18][2])
                abjad.attach(abjad.StartHairpin(), staff[18][2])
                abjad.attach(abjad.Dynamic("p"), staff[19][0])
                abjad.attach(abjad.Dynamic("pp"), staff[23][0])
                abjad.attach(abjad.Dynamic("p"), staff[30][1])
                abjad.attach(abjad.StartHairpin(">"), staff[31][-1])
                abjad.attach(abjad.Dynamic("pppp"), staff[33][0])
                # abjad.attach(FLAUTANDO, staff[33][0])

            elif instr == "cello":
                abjad.attach(abjad.StartHairpin(), staff[2][0])
                abjad.attach(abjad.Dynamic("pp"), staff[3][0])
                # abjad.attach(abjad.Dynamic('pp'), staff[2][0])
                abjad.attach(abjad.StartHairpin(">"), staff[3][5])
                abjad.attach(abjad.Dynamic("ppp"), staff[4][1])
                abjad.attach(abjad.StartHairpin(">"), staff[6][1])
                abjad.attach(abjad.Dynamic("pppp"), staff[7][0])
                abjad.attach(
                    abjad.StringContactPoint("sul tasto"), staff[8][0],
                )
                abjad.attach(abjad.Dynamic("pp"), staff[12][2])
                abjad.attach(abjad.Fermata(), staff[16][2])
                abjad.attach(abjad.Dynamic("p"), staff[17][0])
                abjad.attach(abjad.Dynamic("ppp"), staff[18][0])
                abjad.attach(abjad.StartHairpin(), staff[18][0])
                abjad.attach(abjad.Dynamic("p"), staff[19][0])
                abjad.attach(abjad.Dynamic("pp"), staff[23][0])
                abjad.attach(abjad.Dynamic("ppp"), staff[24][5])
                abjad.attach(abjad.Dynamic("pp"), staff[26][0])
                abjad.attach(abjad.Dynamic("ppp"), staff[29][0])
                abjad.attach(abjad.Dynamic("pp"), staff[29][4])
                abjad.attach(abjad.Dynamic("p"), staff[30][1])
                abjad.attach(abjad.StartHairpin(">"), staff[31][4])
                abjad.attach(abjad.Dynamic("pppp"), staff[33][0])

                abjad.attach(abjad.Fermata("longfermata"), staff[-1][-1])

                abjad.detach(globals_.NONVIB_MARKUP, staff[0][0])
                abjad.detach(globals_.CON_SORDINO_MARKUP, staff[0][0])
                abjad.attach(globals_.NONVIB_MARKUP, staff[0][1])
                abjad.attach(globals_.CON_SORDINO_MARKUP, staff[0][1])

                # abjad.attach(FLAUTANDO, staff[33][0])

            elif instr == "keyboard":
                if idx[1] == 1:
                    abjad.attach(abjad.Dynamic("pp"), staff[2][0])
                    abjad.attach(abjad.Dynamic("ppp"), staff[7][0])
                    abjad.attach(abjad.Dynamic("p"), staff[11][0])
                    abjad.attach(abjad.Dynamic("pp"), staff[12][1])
                    abjad.attach(abjad.Dynamic("p"), staff[18][1])
                    abjad.attach(abjad.Dynamic("pp"), staff[26][3])
                    abjad.attach(abjad.Dynamic("ppp"), staff[27][1])
                    abjad.attach(abjad.Dynamic("pp"), staff[30][0])
                    abjad.attach(abjad.Dynamic("p"), staff[31][0])
                    abjad.attach(abjad.StartHairpin(">"), staff[32][1])
                    abjad.attach(abjad.Dynamic("ppp"), staff[33][0])

                    abjad.attach(abjad.Fermata(), staff[16][1])
                else:
                    abjad.attach(abjad.Fermata(), staff[16][1])

            abjad.attach(abjad.Dynamic("ppp"), staff[0][0])

    return verse
예제 #14
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),
        ),
    )
예제 #15
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,
    ), )
예제 #16
0
def mk_super_soft_trippy_pte(
    fxp='"pbIII/fxp/GlockenspielHumanizednostretching.fxp"',
    preset=None,
    sustain_pedal: int = 1,
    *args,
    **kwargs,
) -> type:
    # for glockenspiel
    return mk_pianoteq_engine(
        preset=preset,
        fxp=fxp,
        parameter_non_dissonant_pitches={
            "unison_width": infit.Uniform(0, 20),
            "impedance": infit.Uniform(0.65, 1.8, seed=2),
            "cutoff": infit.Uniform(0.65, 2, seed=2),
            "q_factor": infit.Uniform(0.7, 1.8, seed=2),
            "direct_sound_duration": infit.Uniform(4, 5, seed=3),
            "string_length": infit.Uniform(8, 10),
            "sympathetic_resonance": infit.Uniform(1, 5),
            "hammer_noise": infit.Uniform(0.2, 1.5, seed=10),
            "sustain_pedal": sustain_pedal,
            "hammer_hard_piano": 0.1,
            "hammer_hard_mezzo": 0.2,
            "hammer_hard_forte": 0.3,
            "strike_point": infit.Uniform(1 / 64, 1 / 8),
            "pinch_harmonic_pedal": 0,
            "celeste_pedal": infit.Cycle((1, 0, 1, 1, 1, 0)),
            "soft_pedal": infit.Cycle((0, 1, 1, 0, 1)),
            "buff_stop_pedal": infit.Cycle((0, 1, 1, 0, 1)),
            "sound_speed": 300,
            "blooming_energy": infit.Uniform(0.25, 2),
            "blooming_inertia": infit.Uniform(1.55, 2.8),
            "condition": infit.Uniform(0, 10),
            "wall_distance": infit.Uniform(0, 6),
            "effect1_switch": infit.ActivityLevel(6),
            "effect1_param1": infit.Uniform(0.2, 0.4),
            "effect1_param2": infit.Uniform(0.25, 0.6),
            "mic_1_level_1": infit.Gaussian(-2, 4, seed=5),
            "mic_1_x_position": infit.Uniform(0, 0.25, seed=5),
            "mic_2_x_position": infit.Uniform(0.6, 1.45, seed=5),
            "mic_1_z_position": infit.Uniform(1.25, 2.8, seed=5),
            "mic_2_z_position": infit.Uniform(1.25, 2.8, seed=5),
            "mic_1_elevation": infit.Uniform(-180, 180, seed=5),
            "mic_2_elevation": infit.Uniform(-180, 180, seed=5),
            "mic_1_azimuth": infit.Uniform(-180, 180, seed=5),
            "mic_2_azimuth": infit.Uniform(-180, 180, seed=5),
        },
        parameter_dissonant_pitches={
            "unison_width": infit.Uniform(0, 20),
            "impedance": infit.Uniform(0.5, 1.5, seed=2),
            "cutoff": infit.Uniform(0.65, 2, seed=2),
            "q_factor": infit.Uniform(0.8, 2, seed=2),
            "direct_sound_duration": infit.Uniform(4, 5, seed=3),
            "string_length": infit.Uniform(8, 10),
            "sympathetic_resonance": infit.Uniform(2, 5),
            "hammer_noise": infit.Uniform(0.2, 3, seed=10),
            "sustain_pedal": sustain_pedal,
            "hammer_hard_piano": 0.1,
            "hammer_hard_mezzo": 0.2,
            "hammer_hard_forte": 0.3,
            "strike_point": infit.Uniform(1 / 64, 1 / 8),
            "pinch_harmonic_pedal": 0,
            "celeste_pedal": infit.Cycle((1, 0, 1, 1, 1, 0)),
            "soft_pedal": infit.Cycle((0, 1, 1, 0, 1)),
            "buff_stop_pedal": infit.Cycle((0, 1, 1, 0, 1)),
            "sound_speed": infit.Uniform(200, 500, seed=0),
            "blooming_energy": infit.Uniform(0.25, 2),
            "blooming_inertia": infit.Uniform(1.55, 2.8),
            "wall_distance": infit.Uniform(0, 6),
            "mic_1_z_position": infit.Uniform(1.25, 2),
        },
        *args,
        **kwargs,
    )