Releases: cemfi/meico
Releases · cemfi/meico
meico v0.8.30
v0.8.30
- New method
meico.midi.Midi.addOffset()
to add a timing offset (in ticks) to all events in a MIDI sequence. - In method
meico.audio.Audio.convertWaveform2Image()
a dark gray center line is added to the image rendering. - Added another variant of method
meico.audio.Audio.convertWaveform2Image()
that uses an externally instantiated audio frame dispatcherpump
, so the application can also cancel its processing. - Generalized method
meico.audio.Audio.convertDoubleArray2ByteArray()
to allow more than just 16 bit sample size. - Another generalization of method
meico.audio.Audio.convertByteArray2DoubleArray()
that should now also accept audio formats other than mono and stereo.
meico v0.8.29
v0.8.29
- Bugfix in method
meico.audio.Audio.convertWaveform2Image()
that caused anIndexOutOfBoundsException
when the amplitude of the signal is at maximum.
meico v0.8.28
v0.8.28
- Minor fix in method
meico.supplementary.RandomNumberProvider.getValue(int index)
to ensure that only non-negative index values are processed.
meico v0.8.27
v0.8.27
- A little optimization in method
meico.audio.Audio.convertSpectrogramToImage()
. In addition, this method has been extended with a new argumentnormalize
to give applications the possibility to decide whether the spectrogram values should or should not be normalized for rendering. - Internal Verovio update to v3.7.0-dev-e93a13d.
meico v0.8.26
v0.8.26
- Minor fix in method
meico.audio.Audio.convertByteArray2DoubleArray()
so that it no longer prints an error message when there is no error. - New methods
meico.audio.Audio.exportWaveformImage()
andmeico.audio.Audio.convertWaveform2Image()
that renders the audio data to aBufferedImage
instance. The functionality was also added to the meicoApp GUI. However, the waveform image exported here is rather low-res by default. The methods allow larger pixel resolutions; applications can specify the image dimensions and the slice of audio to be rendered freely.
meico v0.8.25
v0.8.25
- New supplementary class
meico.supplementary.ColorCoding
that simplifies the mapping of one-dimensional values to colors. Meico uses these for spectrogram visualizations. - Advancements in method
meico.audio.Audio.convertSpectrogramToImage()
. It is now possible to create spectrogram images with one of several color codings. - Updated Ant build script.
- Updated internal Verovio distribution to v3.5.0-dev-7cfde60.
meico v0.8.24
v0.8.24
- Added package information to the documentation.
- Added Constant Q Transform spectrogram export to class
meico.audio.Audio
. The method isexportConstantQTransformSpectrogram()
.- Method
convertSpectrogramToImage()
makes it convenient to convert the spectrogram data to pixel data. - A new external has been added to the meico ecosystem. Jipes is an open source signal processing library by Hendrik Schreiber. It can be used to build any further audio analysis methods following the same pattern as the CQT export.
- MeicoApp has been extended accordingly with a new export option in the commandline application and in the graphical application.
- Method
meico v0.8.23
v0.8.23
- Fixed constructor
meico.midi.MidiPlayer.MidiPlayer(Midi midi)
. Now it assigns the MIDI data to its sequencer. - Added new method
meico.midi.MidiPlayer.setMidiOutputPort()
which allows setting an output port different from the internal Gervill synthesizer.- The internal
Synthesizer
instance is kept alife, so that any preloaded soundfonts are immediately available when switching back. - To switch back to Gervill it is important not to provide a new instance but to use the original one, like this
midiPlayer.setMidiOutputPort(midiPlayer.getSynthesizer())
. A shortcut is thismidiPlayer.setMidiOutputPort(null)
that will automatically choose the internal synthesizer as default.
- The internal
- Verovio update in meicoApp.
meico v0.8.22
v0.8.22
- Bugfix in methods
meico.mpm.elements.maps.DynamicsMap.getDynamicsDataOf()
andmeico.mpm.elements.maps.RubatoMap.getRubatoDataOf()
.
meico v0.8.21
v0.8.21
- Little enhancement in methods
meico.mpm.elements.maps.ArticulationMap.addStyleSwitch()
that is now also able to handle argumentdefaultArticulation == null
. - Added constructors to classes
meico.mpm.elements.maps.data.ArticulationData
,MetricalAccentuationData
,RubatoData
,DynamicsData
,TempoData
, andDistributionData
so they can now be instantiated from a corresponding XML element. - Fix in method
meico.mpm.elements.maps.MetricalAccentuationMap.addAccentuationPattern(MetricalAccentuationData data)
. It has rejected input data that defined anaccentuationPatternDef
name but not the corresponding object itself. However, this is the usual situation when parsing an XML element. So this had to be fixed.- Same for method
meico.mpm.elements.maps.RubatoMap.addRubato(RubatoData data)
.
- Same for method
- Bugfix: corrected constant value
meico.mpm.Mpm.RUBATOR_STYLE = "RubatorStyles"
to"RubatoStyles"
. - Introduced some constants to class
meico.mpm.elements.maps.data.DistributionData
that provide the default strings for the type of the distribution. These are now used in classmeico.mpm.elements.maps.ImprecisionMap
instead of the hard-coded strings, so it will be easier to alter and extend those constants in future updates.