Skip to content

Releases: cemfi/meico

meico v0.8.30

13 Jan 22:03
Compare
Choose a tag to compare

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 dispatcher pump, 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

30 Dec 22:03
Compare
Choose a tag to compare

v0.8.29

  • Bugfix in method meico.audio.Audio.convertWaveform2Image() that caused an IndexOutOfBoundsException when the amplitude of the signal is at maximum.

meico v0.8.28

09 Nov 12:07
Compare
Choose a tag to compare

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

12 Oct 13:58
Compare
Choose a tag to compare

v0.8.27

  • A little optimization in method meico.audio.Audio.convertSpectrogramToImage(). In addition, this method has been extended with a new argument normalize 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

22 Jul 13:32
Compare
Choose a tag to compare

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() and meico.audio.Audio.convertWaveform2Image() that renders the audio data to a BufferedImage 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

01 Jul 18:19
Compare
Choose a tag to compare

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

30 Jun 12:29
Compare
Choose a tag to compare

v0.8.24

  • Added package information to the documentation.
  • Added Constant Q Transform spectrogram export to class meico.audio.Audio. The method is exportConstantQTransformSpectrogram().
    • 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.

meico v0.8.23

13 Apr 15:18
Compare
Choose a tag to compare

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 this midiPlayer.setMidiOutputPort(null) that will automatically choose the internal synthesizer as default.
  • Verovio update in meicoApp.

meico v0.8.22

12 Mar 13:21
Compare
Choose a tag to compare

v0.8.22

  • Bugfix in methods meico.mpm.elements.maps.DynamicsMap.getDynamicsDataOf() and meico.mpm.elements.maps.RubatoMap.getRubatoDataOf().

meico v0.8.21

29 Jan 17:18
Compare
Choose a tag to compare

v0.8.21

  • Little enhancement in methods meico.mpm.elements.maps.ArticulationMap.addStyleSwitch() that is now also able to handle argument defaultArticulation == null.
  • Added constructors to classes meico.mpm.elements.maps.data.ArticulationData, MetricalAccentuationData, RubatoData, DynamicsData, TempoData, and DistributionData 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 an accentuationPatternDef 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).
  • 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 class meico.mpm.elements.maps.ImprecisionMap instead of the hard-coded strings, so it will be easier to alter and extend those constants in future updates.