diff --git a/instrument-aws/instrument-s3handler-st/pom.xml b/instrument-aws/instrument-s3handler-st/pom.xml index 32c9ae39..6923b41d 100644 --- a/instrument-aws/instrument-s3handler-st/pom.xml +++ b/instrument-aws/instrument-s3handler-st/pom.xml @@ -146,7 +146,7 @@ ${project.build.directory}/${project.build.finalName}-runner org.jboss.logmanager.LogManager - ${maven.home} + ${maven.home} diff --git a/instrument-command/pom.xml b/instrument-command/pom.xml index cd263393..e6007e70 100644 --- a/instrument-command/pom.xml +++ b/instrument-command/pom.xml @@ -177,7 +177,6 @@ ${surefire-plugin.version} - org.jboss.logmanager.LogManager @@ -212,8 +211,7 @@ maven-surefire-plugin - org.jboss.logmanager.LogManager - ${maven.home} + ${maven.home} diff --git a/instrument-core/pom.xml b/instrument-core/pom.xml index 30b7f998..01573458 100644 --- a/instrument-core/pom.xml +++ b/instrument-core/pom.xml @@ -26,31 +26,22 @@ true UTF-8 UTF-8 - quarkus-bom - io.quarkus.platform - 3.0.3.Final 3.0.0-M5 1.0.0 1.6.0 UTF-8 - ${quarkus.platform.version} 10.0.0 - 3.0.3 + 3.3 + 5.1.0.Final + 4.0.0.Final + 5.6.2 + 5.3.1 + 8.3.0 + 3.12.0 + 3.6.1 1.2.3 - - - - ${quarkus.platform.group-id} - ${quarkus.platform.artifact-id} - ${quarkus.platform.version} - pom - import - - - - jakarta.platform @@ -58,44 +49,51 @@ ${jakarta.jakartaee-api.version} provided + + org.eclipse.microprofile + microprofile + ${microprofile.version} + pom + provided + org.junit.jupiter junit-jupiter + ${junit-jupiter} test - org.mockito - mockito-core + org.jboss.weld + weld-junit5 + ${weld-junit5} test - io.quarkus - quarkus-arc - provided + org.jboss.weld.se + weld-se-core + ${weld-se-core} + test - io.quarkus - quarkus-junit5 + org.mockito + mockito-core + ${mockito-core} test org.openjdk.jmc common - 8.3.0 - - - io.quarkus - quarkus-micrometer-registry-prometheus - provided + ${jmc.common} org.apache.commons commons-lang3 + ${commons-lang3} org.apache.commons commons-math3 - 3.6.1 + ${commons-math3} com.formdev @@ -122,45 +120,37 @@ tritonus-share 0.3.7.4 - com.googlecode.soundlibs tritonus-all 0.3.7.2 - com.googlecode.soundlibs jlayer 1.0.1.4 - com.googlecode.soundlibs mp3spi 1.9.5.4 - com.googlecode.soundlibs jorbis 0.0.17.4 - com.googlecode.soundlibs vorbisspi 1.0.3.3 - com.github.psambit9791 jdsp 2.0.1 - + @@ -179,7 +169,6 @@ ${surefire-plugin.version} - org.jboss.logmanager.LogManager ${maven.home} diff --git a/instrument-core/src/main/java/jomu/instrument/Instrument.java b/instrument-core/src/main/java/jomu/instrument/Instrument.java index 1dbd1b99..e6973edf 100644 --- a/instrument-core/src/main/java/jomu/instrument/Instrument.java +++ b/instrument-core/src/main/java/jomu/instrument/Instrument.java @@ -4,7 +4,6 @@ import java.util.logging.Logger; import jakarta.enterprise.context.ApplicationScoped; -import jakarta.enterprise.inject.Default; import jakarta.inject.Inject; import jomu.instrument.control.Controller; import jomu.instrument.control.Coordinator; @@ -23,7 +22,6 @@ * @author Jim O'Mulloy */ @ApplicationScoped -@Default public class Instrument implements Organ, InstrumentFactory { private static final Logger LOG = Logger.getLogger(Instrument.class.getName()); diff --git a/instrument-core/src/main/java/jomu/instrument/actuation/Voice.java b/instrument-core/src/main/java/jomu/instrument/actuation/Voice.java index e722466f..fd41b541 100644 --- a/instrument-core/src/main/java/jomu/instrument/actuation/Voice.java +++ b/instrument-core/src/main/java/jomu/instrument/actuation/Voice.java @@ -1,13 +1,13 @@ package jomu.instrument.actuation; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.logging.Logger; import javax.sound.midi.InvalidMidiDataException; import javax.sound.midi.MidiUnavailableException; -import io.vertx.core.impl.ConcurrentHashSet; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import jomu.instrument.InstrumentException; @@ -55,7 +55,7 @@ public class Voice implements Organ { ConcurrentLinkedQueue smq = new ConcurrentLinkedQueue<>(); - Set deadStreams = new ConcurrentHashSet<>(); + Set deadStreams = ConcurrentHashMap.newKeySet(); public AudioSynthesizer buildAudioSynthesizer() { audioSynthesizer = new TarsosAudioSynthesizer(parameterManager); diff --git a/instrument-core/src/main/java/jomu/instrument/audio/MidiSynthesizer.java b/instrument-core/src/main/java/jomu/instrument/audio/MidiSynthesizer.java index 69e36185..23d1b611 100644 --- a/instrument-core/src/main/java/jomu/instrument/audio/MidiSynthesizer.java +++ b/instrument-core/src/main/java/jomu/instrument/audio/MidiSynthesizer.java @@ -41,9 +41,9 @@ import javax.sound.midi.Synthesizer; import javax.sound.midi.Track; -import io.quarkus.runtime.StartupEvent; import jakarta.enterprise.context.ApplicationScoped; import jakarta.enterprise.event.Observes; +import jakarta.enterprise.event.Startup; import jakarta.inject.Inject; import jomu.instrument.InstrumentException; import jomu.instrument.cognition.cell.Cell.CellTypes; @@ -137,7 +137,7 @@ public class MidiSynthesizer implements ToneMapConstants { boolean synthesizerRunning = false; - public void onStartup(@Observes StartupEvent startupEvent) { + public void onStartup(@Observes Startup startupEvent) { Runtime.getRuntime().addShutdownHook(new Thread() { @Override diff --git a/instrument-core/src/main/java/jomu/instrument/cognition/cell/AudioOnsetProcessor.java b/instrument-core/src/main/java/jomu/instrument/cognition/cell/AudioOnsetProcessor.java index 804d80f2..0710ca08 100644 --- a/instrument-core/src/main/java/jomu/instrument/cognition/cell/AudioOnsetProcessor.java +++ b/instrument-core/src/main/java/jomu/instrument/cognition/cell/AudioOnsetProcessor.java @@ -64,12 +64,11 @@ public void accept(List messages) throws InstrumentException { ToneTimeFrame currentFrame = onsetToneMap.getTimeFrame(sequence); ToneTimeFrame previousFrame = cqToneMap.getTimeFrame(sequence - 1); currentFrame.onsetEdge(previousFrame, (double) onsetEdgeFactor / 100.0); - } - - if (sequence > onsetPeaksSweep) { - ToneTimeFrame currentFrame = onsetToneMap.getTimeFrame(sequence); - ToneTimeFrame previousFrame = onsetToneMap.getTimeFrame(sequence - 1); - currentFrame.onsetPeaks(previousFrame, onsetPeaksEdgeFactor, onsetPeaksSweep, onsetPeaksThreshold); + if (sequence > onsetPeaksSweep) { + currentFrame = onsetToneMap.getTimeFrame(sequence); + previousFrame = onsetToneMap.getTimeFrame(sequence - 1); + currentFrame.onsetPeaks(previousFrame, onsetPeaksEdgeFactor, onsetPeaksSweep, onsetPeaksThreshold); + } } ToneTimeFrame ottf = onsetToneMap.getTimeFrame(); diff --git a/instrument-core/src/main/java/jomu/instrument/control/ParameterManager.java b/instrument-core/src/main/java/jomu/instrument/control/ParameterManager.java index a31e1b8f..94e7de29 100644 --- a/instrument-core/src/main/java/jomu/instrument/control/ParameterManager.java +++ b/instrument-core/src/main/java/jomu/instrument/control/ParameterManager.java @@ -7,9 +7,9 @@ import java.util.Properties; import java.util.logging.Logger; -import io.quarkus.runtime.StartupEvent; import jakarta.enterprise.context.ApplicationScoped; import jakarta.enterprise.event.Observes; +import jakarta.enterprise.event.Startup; import jomu.instrument.InstrumentException; @ApplicationScoped @@ -25,7 +25,7 @@ public class ParameterManager { Properties parameters = new Properties(); ParameterValidator parameterValidator = new ParameterValidator(); - public void onStartup(@Observes StartupEvent startupEvent) { + public void onStartup(@Observes Startup startupEvent) { reset(); } diff --git a/instrument-core/src/test/java/jomu/instrument/audio/AudioTunerTest.java b/instrument-core/src/test/java/jomu/instrument/audio/AudioTunerTest.java index d8f3d995..ab26eda5 100644 --- a/instrument-core/src/test/java/jomu/instrument/audio/AudioTunerTest.java +++ b/instrument-core/src/test/java/jomu/instrument/audio/AudioTunerTest.java @@ -2,21 +2,26 @@ import static org.junit.jupiter.api.Assertions.assertFalse; +import org.jboss.weld.junit5.EnableWeld; +import org.jboss.weld.junit5.WeldInitiator; +import org.jboss.weld.junit5.WeldSetup; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import io.quarkus.test.junit.QuarkusTest; import jakarta.inject.Inject; import jomu.instrument.Instrument; import jomu.instrument.workspace.Atlas; import jomu.instrument.workspace.tonemap.ToneMap; -@QuarkusTest +@EnableWeld class AudioTunerTest { ToneMap toneMap; + @WeldSetup // This tells weld to consider only Bar, nothing else + WeldInitiator weld = WeldInitiator.performDefaultDiscovery(); + @Inject Instrument instrument; @@ -25,6 +30,7 @@ class AudioTunerTest { @BeforeEach public void init() { + System.out.println(">>Weld test"); Instrument.setInstance(instrument); instrument.initialise(); instrument.start(); diff --git a/instrument-desktop/pom.xml b/instrument-desktop/pom.xml index 7643b4a2..16add919 100644 --- a/instrument-desktop/pom.xml +++ b/instrument-desktop/pom.xml @@ -184,7 +184,7 @@ ${surefire-plugin.version} - org.jboss.logmanager.LogManager + org.jboss.logmanager.LogManager @@ -219,7 +219,7 @@ maven-surefire-plugin - org.jboss.logmanager.LogManager + org.jboss.logmanager.LogManager ${maven.home} diff --git a/instrument-core/src/main/java/jomu/instrument/monitor/DemoMetricsScheduler.java b/instrument-desktop/src/main/java/jomu/instrument/desktop/control/DemoMetricsScheduler.java similarity index 79% rename from instrument-core/src/main/java/jomu/instrument/monitor/DemoMetricsScheduler.java rename to instrument-desktop/src/main/java/jomu/instrument/desktop/control/DemoMetricsScheduler.java index 0e1ba6a5..240e4138 100644 --- a/instrument-core/src/main/java/jomu/instrument/monitor/DemoMetricsScheduler.java +++ b/instrument-desktop/src/main/java/jomu/instrument/desktop/control/DemoMetricsScheduler.java @@ -1,6 +1,7 @@ -package jomu.instrument.monitor; +package jomu.instrument.desktop.control; import jakarta.enterprise.context.ApplicationScoped; +import jomu.instrument.desktop.monitor.DemoMetrics; @ApplicationScoped public class DemoMetricsScheduler { diff --git a/instrument-core/src/main/java/jomu/instrument/control/MetricsManager.java b/instrument-desktop/src/main/java/jomu/instrument/desktop/control/MetricsManager.java similarity index 96% rename from instrument-core/src/main/java/jomu/instrument/control/MetricsManager.java rename to instrument-desktop/src/main/java/jomu/instrument/desktop/control/MetricsManager.java index f6383e97..a46b5a0e 100644 --- a/instrument-core/src/main/java/jomu/instrument/control/MetricsManager.java +++ b/instrument-desktop/src/main/java/jomu/instrument/desktop/control/MetricsManager.java @@ -1,4 +1,4 @@ -package jomu.instrument.control; +package jomu.instrument.desktop.control; import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.binder.jvm.ClassLoaderMetrics; diff --git a/instrument-core/src/main/java/jomu/instrument/monitor/DemoMetrics.java b/instrument-desktop/src/main/java/jomu/instrument/desktop/monitor/DemoMetrics.java similarity index 92% rename from instrument-core/src/main/java/jomu/instrument/monitor/DemoMetrics.java rename to instrument-desktop/src/main/java/jomu/instrument/desktop/monitor/DemoMetrics.java index b8ccb43a..f0e86720 100644 --- a/instrument-core/src/main/java/jomu/instrument/monitor/DemoMetrics.java +++ b/instrument-desktop/src/main/java/jomu/instrument/desktop/monitor/DemoMetrics.java @@ -1,5 +1,6 @@ -package jomu.instrument.monitor; +package jomu.instrument.desktop.monitor; +import java.util.Random; import java.util.concurrent.atomic.AtomicInteger; import io.micrometer.core.instrument.Counter; diff --git a/instrument-st/pom.xml b/instrument-st/pom.xml index 6dcadaff..55b7793c 100644 --- a/instrument-st/pom.xml +++ b/instrument-st/pom.xml @@ -89,8 +89,7 @@ io.quarkus quarkus-micrometer-registry-prometheus - 2.15.0.Final - + io.quarkus quarkus-junit5 @@ -99,7 +98,6 @@ org.apache.commons commons-lang3 - 3.12.0 org.apache.commons @@ -182,7 +180,6 @@ ${surefire-plugin.version} - org.jboss.logmanager.LogManager @@ -218,8 +215,8 @@ maven-surefire-plugin - org.jboss.logmanager.LogManager - ${maven.home} + org.jboss.logmanager.LogManager + ${maven.home} diff --git a/instrument-st/src/test/resources/instrument-client.properties b/instrument-st/src/test/resources/instrument-client.properties new file mode 100644 index 00000000..cbc25469 --- /dev/null +++ b/instrument-st/src/test/resources/instrument-client.properties @@ -0,0 +1,12 @@ +control.parameter.style=default +storage.objectStore.basePath=data +perception.hearing.audioSourceDirectory=data +perception.hearing.audioDefaultFile=3notescale.wav +perception.hearing.audioRecordDirectory=audio/recording +perception.hearing.audioProjectDirectory=audio/project +perception.hearing.audioFrameStoreDirectory=audio/framestore +actuation.voice.trackWriteSwitch=true +actuation.voice.silentWrite=true +actuation.voice.useSynthesizer=false +actuation.voice.midiPlayLogSwitch=true +actuation.voice.midiSynthTracksSwitch=true diff --git a/instrument-st/src/test/resources/instrument-ensemble.properties b/instrument-st/src/test/resources/instrument-ensemble.properties deleted file mode 100644 index 33b7e56b..00000000 --- a/instrument-st/src/test/resources/instrument-ensemble.properties +++ /dev/null @@ -1,13 +0,0 @@ -actuation.voice.midiPlayVoice1Switch=true -actuation.voice.midiPlayVoice2Switch=true -actuation.voice.midiPlayVoice3Switch=true -actuation.voice.midiPlayVoice4Switch=true -actuation.voice.midiPlayChord1Switch=true -actuation.voice.midiPlayChord2Switch=true -actuation.voice.midiPlayPad1Switch=true -actuation.voice.midiPlayPad2Switch=true -actuation.voice.midiPlayBeat1Switch=true -actuation.voice.midiPlayBeat2Switch=true -actuation.voice.midiPlayBeat3Switch=true -actuation.voice.midiPlayBeat4Switch=true -actuation.voice.midiPlayBaseSwitch=true \ No newline at end of file diff --git a/instrument-st/src/test/resources/instrument-guitar.properties b/instrument-st/src/test/resources/instrument-guitar.properties deleted file mode 100644 index 5affc77c..00000000 --- a/instrument-st/src/test/resources/instrument-guitar.properties +++ /dev/null @@ -1,13 +0,0 @@ -actuation.voice.midiPlayVoice1Switch=true -actuation.voice.midiPlayVoice2Switch=true -actuation.voice.midiPlayVoice3Switch=true -actuation.voice.midiPlayVoice4Switch=true -actuation.voice.midiPlayChord1Switch=true -actuation.voice.midiPlayChord2Switch=true -actuation.voice.midiPlayPad1Switch=true -actuation.voice.midiPlayPad2Switch=true -actuation.voice.midiPlayBeat1Switch=true -actuation.voice.midiPlayBeat2Switch=true -actuation.voice.midiPlayBeat3Switch=true -actuation.voice.midiPlayBeat4Switch=false -actuation.voice.midiPlayBaseSwitch=true \ No newline at end of file diff --git a/instrument-st/src/test/resources/instrument-piano.properties b/instrument-st/src/test/resources/instrument-piano.properties deleted file mode 100644 index 059b5185..00000000 --- a/instrument-st/src/test/resources/instrument-piano.properties +++ /dev/null @@ -1,13 +0,0 @@ -actuation.voice.midiPlayVoice1Switch=true -actuation.voice.midiPlayVoice2Switch=false -actuation.voice.midiPlayVoice3Switch=false -actuation.voice.midiPlayVoice4Switch=true -actuation.voice.midiPlayChord1Switch=true -actuation.voice.midiPlayChord2Switch=true -actuation.voice.midiPlayPad1Switch=true -actuation.voice.midiPlayPad2Switch=true -actuation.voice.midiPlayBeat1Switch=true -actuation.voice.midiPlayBeat2Switch=true -actuation.voice.midiPlayBeat3Switch=true -actuation.voice.midiPlayBeat4Switch=false -actuation.voice.midiPlayBaseSwitch=true \ No newline at end of file diff --git a/instrument-st/src/test/resources/instrument-vocal.properties b/instrument-st/src/test/resources/instrument-vocal.properties deleted file mode 100644 index 844a34e5..00000000 --- a/instrument-st/src/test/resources/instrument-vocal.properties +++ /dev/null @@ -1,13 +0,0 @@ -actuation.voice.midiPlayVoice1Switch=true -actuation.voice.midiPlayVoice2Switch=true -actuation.voice.midiPlayVoice3Switch=true -actuation.voice.midiPlayVoice4Switch=true -actuation.voice.midiPlayChord1Switch=true -actuation.voice.midiPlayChord2Switch=true -actuation.voice.midiPlayPad1Switch=true -actuation.voice.midiPlayPad2Switch=true -actuation.voice.midiPlayBeat1Switch=true -actuation.voice.midiPlayBeat2Switch=false -actuation.voice.midiPlayBeat3Switch=true -actuation.voice.midiPlayBeat4Switch=true -actuation.voice.midiPlayBaseSwitch=true \ No newline at end of file diff --git a/instrument-st/src/test/resources/instrument.properties b/instrument-st/src/test/resources/instrument.properties deleted file mode 100644 index d1ea5755..00000000 --- a/instrument-st/src/test/resources/instrument.properties +++ /dev/null @@ -1,308 +0,0 @@ -control.parameter.style=default - -storage.objectStore.basePath=data - -perception.hearing.defaultSampleRate=44100 -perception.hearing.defaultWindow=1024 -perception.hearing.audioFeatureInterval=100 -perception.hearing.audioOffset=0 -perception.hearing.audioRange=10000 -perception.hearing.audioGainCompressFactor=1 -perception.hearing.minimumFrequencyInCents=2400 -perception.hearing.maximumFrequencyInCents=12000 -perception.hearing.tonemap.minimumFrequency=27 -perception.hearing.tonemap.maximumFrequency=4000 -perception.hearing.noiseFloorMedianFilterLenth=7 -perception.hearing.noiseFloorFactor=5 -perception.hearing.numberOfSpectralPeaks=1 -perception.hearing.minPeakSize=5 -perception.hearing.audioLowPass=4000 -perception.hearing.audioHighPass=0 -perception.hearing.audioSmoothFactor=0 -perception.hearing.audioRecordSwitch=false -perception.hearing.audioSourceDirectory=data -perception.hearing.audioDefaultFile=3notescale.wav -perception.hearing.audioRecordDirectory=audio/recording -perception.hearing.audioProjectDirectory=audio/project -perception.hearing.audioFrameStoreDirectory=audio/framestore -perception.hearing.powerSquaredSwitch=false -perception.hearing.harmonicLowNote=24 -perception.hearing.harmonicHighNote=120 -perception.hearing.pidPFactor=0.3 -perception.hearing.pidDFactor=-0.999 -perception.hearing.pidIFactor=0.3 -perception.hearing.calibrateSwitch=true -perception.hearing.calibrateForwardSwitch=false -perception.hearing.calibrateRange=20 - -perception.hearing.yin.lowPass=300 - -monitor.tonemap.view.lowThreshold=0.001 -monitor.tonemap.view.highThreshold=1.0 - -perception.hearing.cq.binsPerOctave=12 -perception.hearing.cq.lowThreshold=0.001 -perception.hearing.cq.thresholdFactor=0.5 -perception.hearing.cq.signalMinimum=0 -perception.hearing.cq.normaliseThreshold=400.0 -perception.hearing.cq.decibelLevel=0.005 -perception.hearing.cq.compression=1 -perception.hearing.cq.compressionSwitch=false -perception.hearing.cq.compressionMaxSwitch=false -perception.hearing.cq.compressionLogSwitch=false -perception.hearing.cq.squareSwitch=false -perception.hearing.cq.lowThresholdSwitch=true -perception.hearing.cq.decibelSwitch=true -perception.hearing.cq.scaleSwitch=false -perception.hearing.cq.normaliseSwitch=false -perception.hearing.cq.normaliseMaxSwitch=false -perception.hearing.cq.preHarmonicsSwitch=true -perception.hearing.cq.postHarmonicsSwitch=true -perception.hearing.cq.preSharpenSwitch=true -perception.hearing.cq.postSharpenSwitch=true -perception.hearing.cq.sharpenHarmonicSwitch=false -perception.hearing.cq.whitenSwitch=false -perception.hearing.cq.adaptiveWhitenSwitch=false -perception.hearing.cq.whitenCompensateSwitch=false -perception.hearing.cq.whitenFactor=50 -perception.hearing.cq.adaptiveWhitenFactor=0.3 -perception.hearing.cq.adaptiveWhitenThreshold=0.0005 -perception.hearing.cq.sharpenThreshold=0.99 -perception.hearing.cq.minimumFrequencyInCents=2400 -perception.hearing.cq.maximumFrequencyInCents=12000 -perception.hearing.cq.envelopeWhitenThreshold=0.01 -perception.hearing.cq.envelopeWhitenAttackFactor=0 -perception.hearing.cq.envelopeWhitenDecayFactor=0.3 -perception.hearing.cq.envelopeWhitenPreSwitch=false -perception.hearing.cq.envelopeWhitenPostSwitch=false - -perception.hearing.sp.lowThreshold=0.01 -perception.hearing.sp.thresholdFactor=0.5 -perception.hearing.sp.signalMinimum=0.0000001 -perception.hearing.sp.normaliseThreshold=400.0 -perception.hearing.sp.decibelLevel=0.01 -perception.hearing.sp.compression=1 -perception.hearing.sp.compressionSwitch=false -perception.hearing.sp.squareSwitch=false -perception.hearing.sp.lowThresholdSwitch=false -perception.hearing.sp.decibelSwitch=true -perception.hearing.sp.normaliseSwitch=false - -perception.hearing.tunerSwitch=false -perception.hearing.peaksSwitch=true - -perception.hearing.tuner.thresholdFactor=0.6 -perception.hearing.tuner.signalMinimum=0.00001 - -perception.hearing.chroma.normaliseThreshold=0.001 -perception.hearing.chroma.chordifyThreshold=0.25 -perception.hearing.chroma.smoothFactor=10 -perception.hearing.chroma.downSampleFactor=10 -perception.hearing.chroma.rootNote=36 -perception.hearing.chroma.harmonicsSwitch=false -perception.hearing.chroma.ceilingSwitch=false -perception.hearing.chroma.chordifySwitch=true -perception.hearing.chroma.chordifySharpenSwitch=true -perception.hearing.chroma.cqOriginSwitch=true - -perception.hearing.beats.threshold=8 -perception.hearing.beats.sensitivity=20 - -perception.hearing.onset.threshold=0.3 -perception.hearing.onset.interval=0.03 -perception.hearing.onset.silenceThreshold=-70.0 -perception.hearing.onset.sensitivity=20 -perception.hearing.onset.cqOriginSwitch=true -perception.hearing.onset.smoothingFactor=90 -perception.hearing.onset.edgeFactor=50 - -perception.hearing.percussion.threshold=0.01 -perception.hearing.percussion.sensitivity=50 - -perception.hearing.pitch.detect.harmonics=7 -perception.hearing.pitch.detect.compresssion=1 -perception.hearing.pitch.detect.lowThreshold=1 -perception.hearing.pitch.detect.compressionSwitch=false -perception.hearing.pitch.detect.whitenerSwitch=false -perception.hearing.pitch.detect.klapuriSwitch=false -perception.hearing.pitch.detect.tarsosSwitch=true - -perception.hearing.hps.harmonicMedian=3 -perception.hearing.hps.percussionMedian=20 -perception.hearing.hps.harmonicWeighting=80 -perception.hearing.hps.percussionWeighting=20 -perception.hearing.hps.medianSwitch=false -perception.hearing.hps.maskFactor=3 -perception.hearing.hps.cqOriginSwitch=false - -perception.hearing.autocorrelation.undertoneRemoveSwitch=true -perception.hearing.autocorrelation.sacfSwitch=true -perception.hearing.autocorrelation.maxLag=1000 -perception.hearing.autocorrelation.undertoneThreshold=10 -perception.hearing.autocorrelation.correlationThreshold=0.2 -perception.hearing.autocorrelation.undertoneRange=4 - -perception.hearing.notate.compression=30.0 -perception.hearing.notate.compressionSwitch=true -perception.hearing.notate.applyFormantsSwitch=false -perception.hearing.notate.sweepRange=30 -perception.hearing.notate.peakSwitch=true - -perception.hearing.integration.hpsSwitch=false -perception.hearing.integration.cqSwitch=true -perception.hearing.integration.peaksSwitch=false -perception.hearing.integration.spectralSwitch=false -perception.hearing.integration.pitchSwitch=false -perception.hearing.integration.spSwitch=false -perception.hearing.integration.tpSwitch=false -perception.hearing.integration.yinSwitch=false -perception.hearing.integration.sacfSwitch=false -perception.hearing.integration.mfccSwitch=false -perception.hearing.synthesis.sweepRange=30 - -perception.hearing.synthesis.fillChordsSwitch=true -perception.hearing.synthesis.fillNotesSwitch=true -perception.hearing.synthesis.fillLegatoSwitch=true -perception.hearing.synthesis.chordFirstSwitch=true -perception.hearing.synthesis.quantizeRange=1000 -perception.hearing.synthesis.quantizePercent=100 -perception.hearing.synthesis.quantizeBeat=2 -perception.hearing.synthesis.minTimeIncrement=0.11 - -perception.hearing.notetracker.maxTracksUpper=20 -perception.hearing.notetracker.maxTracksLower=5 -perception.hearing.notetracker.clearRangeUpper=2000 -perception.hearing.notetracker.clearRangeLower=200 -perception.hearing.notetracker.discardTrackRange=100 -perception.hearing.notetracker.overlapSalientNoteRange=4 -perception.hearing.notetracker.overlapSalientTimeRange=300 -perception.hearing.notetracker.salientNoteRange=12 -perception.hearing.notetracker.salientTimeRange=1000 -perception.hearing.notetracker.salientTimeNoteFactor=4 -audio.tuner.n1Setting=6 -audio.tuner.n2Setting=100 -audio.tuner.n3Setting=100 -audio.tuner.n4Setting=100 -audio.tuner.n5Setting=100 -audio.tuner.n6Setting=30 -audio.tuner.n1Switch=false -audio.tuner.n2Switch=false -audio.tuner.n3Switch=true -audio.tuner.n4Switch=false -audio.tuner.n5Switch=false -audio.tuner.n6Switch=false -audio.tuner.n7Switch=true -audio.tuner.harmonic1Setting=100 -audio.tuner.harmonic2Setting=100 -audio.tuner.harmonic3Setting=100 -audio.tuner.harmonic4Setting=100 -audio.tuner.harmonic5Setting=60 -audio.tuner.harmonic6Setting=50 -audio.tuner.harmonicDriftFactor=0.1 -audio.tuner.harmonicOperatorSwitch=false -audio.tuner.harmonicWeightingSwitch=false -audio.tuner.harmonicGuitarSwitch=false -audio.tuner.harmonicAccumulateSwitch=false -audio.tuner.harmonicAttenuateSwitch=true -audio.tuner.normalizeThreshold=0.01 -audio.tuner.normalizeTrough=0.05 -audio.tuner.normalizePeak=0.1 -audio.tuner.normalizeSetting=100 -audio.tuner.noteHigh=20 -audio.tuner.noteLow=5 -audio.tuner.noteMaxDuration=3000 -audio.tuner.noteMinDuration=10 -audio.tuner.notePeaksMaxDuration=3000 -audio.tuner.notePeaksMinDuration=200 -audio.tuner.noteSpectralMaxDuration=3000 -audio.tuner.noteSpectralMinDuration=200 -audio.tuner.noteSustain=10 -audio.tuner.peakSwitch=false -audio.tuner.pitchHigh=72 -audio.tuner.pitchLow=36 -audio.tuner.formantHigh=110 -audio.tuner.formantLow=70 -audio.tuner.formantMid=80 -audio.tuner.formantFactor=70 -audio.tuner.formantRange=20 -audio.tuner.bottomFormantHigh=0 -audio.tuner.bottomFormantLow=0 -audio.tuner.bottomFormantMid=0 -audio.tuner.bottomFormantFactor=0 -audio.tuner.bottomFormantRange=0 -audio.tuner.topFormantHigh=0 -audio.tuner.topFormantLow=0 -audio.tuner.topFormantMid=0 -audio.tuner.topFormantFactor=0 -audio.tuner.topFormantRange=0 -audio.tuner.noteScan.attenuateHarmonicsSwitch=true -audio.tuner.noteScan.attenuateUndertonesSwitch=true -audio.tuner.noteScan.attenuateSemitonesSwitch=true -audio.tuner.timbre.frequencyRange=10 -audio.tuner.timbre.frequencyRatio=0.1 -audio.tuner.timbre.medianRange=100 -audio.tuner.timbre.medianRatio=0.01 -audio.tuner.timbre.cqSwitch=true -audio.tuner.timbre.notateSwitch=true -audio.tuner.harmonicSweep=200 -audio.tuner.clearNoteEdgeFactor=2 -audio.tuner.clearIsolatedNotesPowerFactor=0.25 -audio.tuner.clearIsolatedNotesTimeRange=400 -audio.tuner.clearIsolatedNotesPitchRange=4 -audio.tuner.clearHeadNotesSwitch=true -audio.tuner.clearTailNotesSwitch=true -audio.tuner.clearIsolatedNotesSwitch=true - -monitor.view.timeAxisOffset=0 -monitor.view.pitchAxisOffset=0 -monitor.view.timeAxisRange=6000 -monitor.view.pitchAxisRange=12000 -monitor.view.showPeaks=false -monitor.view.showStats=false -monitor.view.showTracking=true -monitor.view.showSynthesis=true -monitor.view.showLog=true -monitor.view.showColour=false -monitor.view.updateView=false - -actuation.voice.pausePlaySwitch=false -actuation.voice.delay=0 -actuation.voice.lowThreshold=0.00001 -actuation.voice.highThreshold=1.0 -actuation.voice.logFactor=100 -actuation.voice.glissandoRange=200 -actuation.voice.playPeaks=false -actuation.voice.playMidi=true -actuation.voice.playAudio=false -actuation.voice.playResynth=false -actuation.voice.trackWriteSwitch=true -actuation.voice.silentWrite=true -actuation.voice.useSynthesizer=false -actuation.voice.midiPlayLogSwitch=true -actuation.voice.midiSynthTracksSwitch=true -actuation.voice.midiPlayVoice1Switch=true -actuation.voice.midiPlayVoice2Switch=true -actuation.voice.midiPlayVoice3Switch=true -actuation.voice.midiPlayVoice4Switch=true -actuation.voice.midiPlayChord1Switch=false -actuation.voice.midiPlayChord2Switch=false -actuation.voice.midiPlayPad1Switch=false -actuation.voice.midiPlayPad2Switch=false -actuation.voice.midiPlayBeat1Switch=false -actuation.voice.midiPlayBeat2Switch=false -actuation.voice.midiPlayBeat3Switch=false -actuation.voice.midiPlayBeat4Switch=false -actuation.voice.midiPlayBaseSwitch=false -actuation.voice.midiInstrumentVoice1=3 -actuation.voice.midiInstrumentVoice2=2 -actuation.voice.midiInstrumentVoice3=1 -actuation.voice.midiInstrumentVoice4=4 -actuation.voice.midiInstrumentChord1=23 -actuation.voice.midiInstrumentChord2=24 -actuation.voice.midiInstrumentPad1=49 -actuation.voice.midiInstrumentPad2=62 -actuation.voice.midiInstrumentBeat1=38 -actuation.voice.midiInstrumentBeat2=46 -actuation.voice.midiInstrumentBeat3=81 -actuation.voice.midiInstrumentBeat4=35 -actuation.voice.midiInstrumentBase1=34