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.