Was tun beim "MIDI-Hänger"?

• 7. Feb 2013 - 16:08

Hmmfzz. Da möchte man ein Musikstück anhören, und dann hängt sich eine einzelne "Stimme" in einer ewigen Schleife auf... und klingt... und klingt... und ...

So geschehen bei einer Partitur, die als Download vom Server "MuseScore Connect" stammt. Sie heißt "Bach Chorale" und stammt vom User "Ëmänyo Termöpolyán" (=Andy Ray), der aber sicher nichts für dies Phänomen kann. Wie man sich auf dem Mischpult (F10) informieren kann: Es ist die 4. Notenlinie, die "hängt", für die der Sound "Tuba" eingetragen wurde.

Die 4. Stimme mit dem "Hänger" läßt sich auf dem Mischpult nicht stumm schalten -- ABER: Sie läßt sich mit dem Mischpult nach wie vor laut/leise regeln. Sogar dann, wenn man diese Partitur "Bach Chorale" vom eigenen PC gelöscht, dann neu geladen, aber noch nicht gestartet hat!

Partitur aus MuseScore löschen hilft also nicht gegen "MIDI-Hänger". Erst ein Programmende von Musescore beendet auch den "Hänger". Bevor ich nun meine Fragen ins Forum poste, sollte ich vielleicht was zu meinem System sagen

Pentium 4 auf ASUStek Mainboard, 2 GHz, 2 GB RAM

Onboard-Sound CMI8738/C3DX PCI Audio Device

Windows XP prof. SP3

MuseScore 1.2, Sound-Ausgabe via ASIO4ALL. Soundfont "FluidR3_GM.sf2" (Download von MuseScore)

So, und nun meine Fragen:

a) ist das nur auf meinem PC oder auch bei anderen Rechnern zu beobachten?

b) Hat dies mit dem aktuellen Soundfont für den FluidSynth zu tun?

c) Hat dies mit Steinberg's "ASIO4ALL" zu tun?

d) Kann ich aus MuseScore das Audio-Device und/oder den ASIO4ALL-Treiber zu einem "Reset" veranlassen?

e) Was kann ich sonst tun, um den Sound abzuschalten?

Mit freundlichen Grüßen

FarrierPete

VENI. VIDI. MIDI... >B^[


Comments

Antwort auf von Jojo-Schmitz

Danke für die schnelle Antwort, Jojo,

ja, genau, das Stück, das meinem Rechner "Schluckauf" bereitet, ist http://musescore.com/emanyo/chorale-bach.
Das Stück selbst läßt sich auf dem Server "Musescore Connect" mit dessen Abspielroutine im Netz problemlos vorspielen, scheint also auf der Server fehlerfrei gespeichert.

Wie ich schrieb, ich glaube nicht, daß der Uploader Andy Ray da was falsch gemacht hat, sondern daß es am SoundDevice, am Betriebssystem oder an der Software-Installation liegt. Und einen MIDI-Hänger hatte ich auch schon an anderer Stelle und in eigenen Partituren

Wenn's gewünscht wird, könnte ich mit einem "Ripper" den Sound mit dem MIDI-Hänger aufzeichnen und posten, aber ich denke, das kann man auch so schildern, und das kann sich jeder Leser vorstellen.

Der "MIDI-Hänger" ist auf meinem PC reproduzierbar - was auf Software schließen läßt.

ASIO4ALL gehört beim "MIDI-Hänger" also zum näheren "Kreis der Verdächtigen"? Hmm, das habe ich deshalb installiert, weil es dem User auf der MuseScore-HP wärmstens so empfohlen wurde; von wegen System-Timing und taktreinem Abspiel (außerhalb der Reichweite der Routine-Interrupts des Windows). Hört sich im allgemeinen auch gut an, nur weiß ich nicht. wie und wo ich auf dessen recht einfach gestrickten User-Interface einen "Reset-Button" drücken kann. Das Bildschirm-Manual "ASIO4ALL v2 anleitung.PDF", Copyright 2004-2008, Michael Tippach, sagt nichts dazu. Aber mal sehen, vielleicht findet man bei Steinberg, auf http://www.asio4all.com, weitere Antwort.

Was mich letztlich verblüfft, ist, daß man die Lautstärke des "Hängers" - auch nachträglich - auf dem MuseScore-Mixer (F10) regeln kann. Daraus schließe ich, daß MuseScore nicht unbeteiligt ist, sondern auch damit etwas zu tun hat.

Ungelöst bleibt einstweilen die Frage an die Community: hatten da auch andere User Ärger mit dem MIDI-Hänger?

Was tun beim "Midi-Hänger"? Jedesmal MuseScore beenden, um den abzuschalten, oder gibt es da einen versteckten "Reset-Button"?

Wäre das nicht eine Idee für ein Update von MuseScore, da einen "Sound-Reset-Button" mit zu programmieren, der einfach alle Sounds vom AudioDevice bzw Fluid-Synth/ASIO4ALL oder GS Wavetable Synth löscht?

Sollte ich da eine Lösung finden, lasse ich von mir hören.

So long einstweilen,

FarrierPete

VENI. VIDI. MIDI... >B^[

Antwort auf von Jojo-Schmitz

Es wäre ja sehr unwahrscheinlich, wenn ich der einzige wäre, der sich da über den "MIDI-Hänger" ärgert.

Im englischen MuseScore-Forum findet sich z.B.

http://musescore.org/en/node/13764
http://musescore.org/en/node/11873#comment-47361 < weiter unten findet sich folgende Antwort

. This is a phenomenon known as
. Submitted by ChurchOrganist on November 19, 2011 - 1:57am.

. This is a phenomenon known as MIDI echo and is nothing to do with MuseScore.

. It is caused by the MIDI engine not receiving the note offs for some reason, and has plagued MIDI programmers ever
. since MIDI was invented in the 1980's.

. You will find every major MIDI sequencer has a "panic" button you can press to deal with this and send a series of
. Channel Mode messages which silence the oscillators and reset the controllers - it would be helpful if one of these
. could be provided in MuseScore in a future version.

. The MIDI engine MuseScore uses is, I believe, FluidSynth and requests for help with this problem would be better
. directed to their support pages.

. HTH
. Michael

----------------------------------------------------

Dem Wunsch nach einem "MIDI-PANIC"-Button kann ich mich wohl nur anschließen, oder?

Der Hinweis von "Michael" bringt uns bei der Suche nach FluidSynth-Support im Internet zu:

http://sourceforge.net/apps/trac/fluidsynth/wiki/Documentation

Und da ist imho weder zu RESET noch zu PANIC was zu finden! Das gilt auch für STEINBERG's HP www.asio4all.com.

----------------------------------------------------

Weiß vielleicht irgend ein Leser mehr, oder kennt jemand einen Workaround wie ein externes MIDI-Tool, das dem Sound-Device einen Rippenstoß und ein deutliches "Pssst!" mitteilt?

mfG

FarrierPete

VENI. VIDI. MIDI... >B^[

Antwort auf von Jojo-Schmitz

Da scheint bei den Entwicklern des FluidSynth was im Gange. Wahrscheinlich dürfte es eine neuere FluidSynth-Version MIT einem Panic-Button geben.

-------------------------------------------------------------------------------------------

Siehe:

http://sourceforge.net/apps/trac/fluidsynth/changeset/452 ' (weiter unten)

trunk/fluidsynth/src/synth/fluid_synth.c ¶
r448 r452
1537 1537
1538 1538 /**
1539 * Reset reverb engine
1540 * @param synth FluidSynth instance
1541 * @return FLUID_OK on success, FLUID_FAILED otherwise
1542 */
1543 int
1544 fluid_synth_reset_reverb(fluid_synth_t* synth)
1545 {
1546 fluid_return_val_if_fail (synth != NULL, FLUID_FAILED);
1547 fluid_synth_api_enter(synth);
1548 fluid_synth_update_mixer(synth, fluid_rvoice_mixer_reset_reverb, 0, 0.0f);
1549 FLUID_API_RETURN(FLUID_OK);
1550 }
1551
1552 /**
1553 * Reset chorus engine
1554 * @param synth FluidSynth instance
1555 * @return FLUID_OK on success, FLUID_FAILED otherwise
1556 */
1557 int
1558 fluid_synth_reset_chorus(fluid_synth_t* synth)
1559 {
1560 fluid_return_val_if_fail (synth != NULL, FLUID_FAILED);
1561 fluid_synth_api_enter(synth);
1562 fluid_synth_update_mixer(synth, fluid_rvoice_mixer_reset_chorus, 0, 0.0f);
1563 FLUID_API_RETURN(FLUID_OK);
1564 }
1565
1566
1567 /**
1539 1568 * Send MIDI system reset command (big red 'panic' button), turns off notes and
1540 1569 * resets controllers.

------------------------------------------------------------------------------------------------------------------------------

ABER:

Der FluidSynth-Code ist integraler Bestandteil von MuseScore, nicht wahr?

Wie kann ich als als einfacher Windows-User und "Basic-Heimlehrgang-Programmierer", der sich weder mit "C++" noch mit dem Neukompilieren ganzer Programmpakete auskennt, dieses Code-Schnipsel verwenden?

Wird künftig möglicherweise der Grundkurs "GNU C++-Compiler für Dummies" Pflicht für jeden MuseScore-User?

------------------------------------------------------------------------------------------------------------------------------------------------------------

Scharf nachgedacht:

a) Wenn MuseScore komplett beendet wird, dann wird dabei auch das MIDI-System zurückgesetzt. Also ist das "MIDI-RESET" eine Funktion, die MuseScore eigentlich im Prinzip bereits beherrscht - aber (noch) nicht im User-Interface zu Verfügung stellt.

BEWEIS: Der MIDI-Hänger verschwindet beim MuseScore-Programmende. Andere Programme haben danach ungestörte Soundausgabe.

b) Der "PANIC BUTTON" ist eigentlich nichts weiter als ein MIDI-Standard Kommando

Eine kleine Basis-Info findet sich - zum Download - auf http://midi.org.

http://www.midi.org/aboutmidi/intromidi.pdf

Und da findet sich auf der letzten Seite der Hinweis auf ein MIDI-Controller-Kommando:

>> 120 All Sound Off 0 <<

Also: Nichts besonderes. Das Kommado sollte JEDES Midi-Gerät verstehen, gleich ob Hard- oder Software-Device.

Daraus resultieren folgende Fragen:

Ist das so schwer in MuseScore/FluidSynth zu implementieren?

Kein MIDI-Meldungs-Editor denkbar? (So, wie z.B. der ebenfalls ASIO4ALL-taugliche Tracker "MEDSoundstudio" den hat?)

Kein "Workaround"? Kennt keiner ein externes "MIDI-Toolset", das den fehlenden Panic-Button nachrüstet?

mfG

FarrierPete

VENI. VIDI. MIDI... >B^[

Hallo zusammen,

auch bei mir hängt ab und an ganz gerne mal der Ton, allerdings nicht direkt während des Abspielens, sondern wenn ich das Vorspiel beende. Dann hängt oft der letzt erklungene Akkord nach. Früher habe ich MuseScore beendet und wieder neugestartet, um das zu beenden.

Ich habe aber herausgefunden, dass es hier bei mir hilft, wenn ich die Noten, die gerade nachklingen, einzeln in der Partitur anklicke. Der Klang verschwindet dann, so dass ich nach und nach alle klingenden Noten eines Dreiklangs etc. wieder "ausstellen" kann.

Mir ist bewusst, dass das sicher nicht so gedacht ist, aber vielleicht hilft es ja einigen weiter bzw. könnte zu einer Lösung in Version 2.0 beitragen. Zumindest muss man MuseScore so nicht mehr neu starten.

LG

Do you still have an unanswered question? Please log in first to post your question.