module Haematite
Overview
Haematite is a port of MeltySynth by Sinshu to Crystal. This provides MIDI music playback for Crystal projects with almost no dependencies.
Defined in:
haematite.crhaematite/audchannel.cr
haematite/audiorenderer.cr
haematite/common.cr
haematite/constants.cr
haematite/dither.cr
haematite/enums.cr
haematite/fakefilter.cr
haematite/generator.cr
haematite/instrument.cr
haematite/lfo.cr
haematite/message.cr
haematite/midifile.cr
haematite/modulationenvelope.cr
haematite/modulator.cr
haematite/musfile.cr
haematite/oscillator.cr
haematite/preset.cr
haematite/regionpair.cr
haematite/sampleheader.cr
haematite/sequencedfile.cr
haematite/sequencer.cr
haematite/soundfont.cr
haematite/soundfontmath.cr
haematite/synthesizer-settings.cr
haematite/synthesizer.cr
haematite/voice.cr
haematite/volumeenvelope.cr
haematite/zone.cr
Constant Summary
-
DEFAULT_BLOCK_SIZE =
64 -
The default size of rendered blocks of audio, in bytes.
-
DEFAULT_CHORUS_INTERPOLATION =
RemiAudio::Interpolate::Mode::Cubic -
The default interpolation mode for the chorus effect.
-
DEFAULT_CHORUS_SEND =
0_u8 -
The default chorus level for a channel.
-
DEFAULT_ENABLE_CHORUS =
true -
The default value for enabling the chorus effect.
-
DEFAULT_ENABLE_PRESET_REMAPPING =
true -
The default value for enabling preset remapping.
-
DEFAULT_ENABLE_REVERB =
true -
The default value for enabling the reverb effect.
-
DEFAULT_ENABLE_SOFT_CLIPPING =
true -
The default value for enabling soft clipping.
-
DEFAULT_ENABLE_STEREO_ENHANCER =
false -
The default value for enabling the stereo enhancer effect.
-
DEFAULT_INTERPOLATION_MODE =
InterpolationMode::Cubic -
The default audio interpolation mode used when rendering audio.
-
DEFAULT_MAIN_VOLUME =
0.5 -
The default output volume of the synthesizer.
-
DEFAULT_MAXIMUM_POLYPHONY =
64 -
The default maximum number of concurrently playing voices.
-
DEFAULT_REVERB_MODE =
ReverbMode::ZitaSimple -
The default reverb type to use.
-
DEFAULT_REVERB_SEND =
64_u8 -
The default reverb level for a channel.
-
DEFAULT_SAMPLE_RATE =
44100 -
The default output sample rate.
-
DEFAULT_STEREO_ENHANCEMENT =
0.5 -
The default stereo enhancer level.
-
DEFAULT_VOICE_FILTER =
FilterMode::Standard -
The default type of lowpass filter to use for voices.
-
MAXIMUM_BLOCK_SIZE =
2048 -
The maximum supported block size.
-
MAXIMUM_CHORUS_SEND =
255_u8 -
The maximum chorus level for a channel.
-
MAXIMUM_INST_CHORUS_OVERRIDE =
1000 -
The maximum chorus level for an instrument/preset.
-
MAXIMUM_INST_REVERB_OVERRIDE =
1000 -
The maximum reverb level for an instrument/preset.
-
MAXIMUM_MAIN_VOLUME =
1.0 -
The maximum output volume of the synthesizer.
-
MAXIMUM_POLYPHONY =
256 -
The highest supported polyphony.
-
MAXIMUM_REVERB_SEND =
255_u8 -
The maximum reverb level for a channel.
-
MAXIMUM_SAMPLE_RATE =
352800 -
The maximum supported output sample rate.
-
MAXIMUM_STEREO_ENHANCEMENT =
1.5 -
The maximum stereo enhancer level.
-
MINIMUM_BLOCK_SIZE =
8 -
The minimum supported block size.
-
MINIMUM_CHORUS_SEND =
0_u8 -
The minimum chorus level for a channel.
-
MINIMUM_INST_CHORUS_OVERRIDE =
0 -
The minimum chorus level for an instrument/preset.
-
MINIMUM_INST_REVERB_OVERRIDE =
0 -
The minimum reverb level for an instrument/preset.
-
MINIMUM_MAIN_VOLUME =
0.001 -
The minimum output volume of the synthesizer.
-
MINIMUM_POLYPHONY =
8 -
The lowest supported polyphony.
-
MINIMUM_REVERB_SEND =
0_u8 -
The minimum reverb level for a channel.
-
MINIMUM_SAMPLE_RATE =
8000 -
The minimum supported output sample rate.
-
MINIMUM_STEREO_ENHANCEMENT =
0.0 -
The minimum stereo enhancer level.
-
NON_AUDIBLE =
1.0e-3_f32 -
A sample is considered not to be audible if it is below this.
-
NON_AUDIBLE_INT16 =
(1.0e-3_f32 * 32768).clamp(Int32::MIN, Int32::MAX) -
A sample is considered not to be audible if it is below this.
-
NON_AUDIBLE_INT24 =
(1.0e-3_f32 * 8388608).clamp(-8388608, 8388607) -
A sample is considered not to be audible if it is below this.
-
NON_AUDIBLE_INT32 =
(1.0e-3_f32 * 2147483648_i64).clamp(Int32::MIN, Int32::MAX) -
A sample is considered not to be audible if it is below this.
-
NON_AUDIBLE_UINT8 =
((1.0e-3_f32 * 128).clamp(Int8::MIN, Int8::MAX)) + 128 -
A sample is considered not to be audible if it is below this.
-
VERSION =
"0.4.0" -
The version of the library.