<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="rss.xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>ttylab80387 · Music</title>
        <link>https://ttylab80387.com/en/music/</link>
        <description>A few thoughts from playing with music and audio gear</description>
        <lastBuildDate>Sun, 18 Oct 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[M-VAVE FM-1 Firmware Upgrade and Rollback Guide]]></title>
            <link>https://ttylab80387.com/en/music/fm1-firmware-update/</link>
            <guid>https://ttylab80387.com/en/music/fm1-firmware-update/</guid>
            <pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Flashing the FM-1 from V14 to V15 with the official M-UPGRADE tool on a Mac, including getting past macOS blocking the unsigned app, checking the downloads, and the separate old tool that is the only way back to V14.]]></description>
            <content:encoded><![CDATA[
<p>I'd had my FM-1 for a while when I heard its firmware could be updated, so I looked it up on the official site. These are the versions I could find in the official <a href="https://yms-file-store.oss-cn-hongkong.aliyuncs.com/software/releaseNote/firmware/FM-1.txt" target="_blank" rel="noopener noreferrer" class="">release note</a> and on the download page:</p>
<table><thead><tr><th>Version</th><th>Date</th><th>What changed</th></tr></thead><tbody><tr><td>V09</td><td>2026‑06‑24</td><td>ENV envelope can be switched on and off; RATE can be changed while recording in SEQ; SEQ adds rests (empty steps) and note replacement</td></tr><tr><td>V13</td><td>2026‑07‑03</td><td>BPM sync for ARP and SEQ; the OP screen remembers the selected page and operator for the current tone; SEQ can transpose; volume levels made more even across some factory tones; velocity setting 1–127 in GLO; MIDI channel selection (default ALL channels); PC messages (PC 0–127) switch tones; RATE gains two settings, 1/1 and 1/2. The vendor notes this version is installed as a full update using software downloaded from "major update"</td></tr><tr><td>V14</td><td>2026‑07‑06</td><td>Not in the release note; on the download page it only comes built into the old updater <code>FM1.dmg</code> (see the download table below)</td></tr><tr><td>V15</td><td>2026‑07‑30</td><td>Higher base LED brightness; GLO can reset any of tone groups A–D to the last imported tones; new Glide (GLO page 2, 0–1 s, only when the current tone is mono); SEQ can record long notes without overwriting earlier ones, bind a tone to each pattern (the preset knob stops working inside SEQ), pick the number of steps, and play 1–16 patterns back to back starting from the current one; EDIT adds a tone template (turn K1 to set all parameters to basic values), tone renaming, copying another tone over the current one, and long-pressing OPx to mute that operator (the mute is cleared when you switch tones); FX and ENV parameters go from 0–10 to a finer 0–100; a MIDI note on with velocity 0 is treated as a note off, and CC control of effect parameters now follows the FX parameter scale (see the vendor's CC response table)</td></tr></tbody></table>
<p>The release note only has entries for V09, V13 and V15; the skipped version numbers (including V14) aren't mentioned.</p>
<p>When I connected mine to the computer, the official tool said it was on V14. This post covers updating to V15 with the official tool, and which file you need if you want to go back to V14.</p>
<!-- -->
<p>Pulling the cable or losing power mid-flash can brick the unit, and I couldn't find any recovery method on the official site, so before flashing I also downloaded the V14 updater as a way back.</p>
<h2 class="anchor anchorTargetStickyNavbar_Emow" id="setup">Setup<a href="https://ttylab80387.com/en/music/fm1-firmware-update/#setup" class="hash-link" aria-label="Direct link to Setup" title="Direct link to Setup" translate="no">​</a></h2>
<ul>
<li class="">MacBook Air (Mac16,12), macOS 27.0.1</li>
<li class="">FM-1 firmware before the update: V14</li>
<li class="">FM-1 plugged straight into the Mac with a USB-C cable, no hub or adapter</li>
<li class="">Browser: Brave</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Emow" id="1-download">1. Download<a href="https://ttylab80387.com/en/music/fm1-firmware-update/#1-download" class="hash-link" aria-label="Direct link to 1. Download" title="Direct link to 1. Download" translate="no">​</a></h2>
<p>The FM-1 section of the <a href="https://www.m-vave.com/download.html" target="_blank" rel="noopener noreferrer" class="">M-VAVE Download Center</a> has several files. These are the three you need:</p>
<table><thead><tr><th>File</th><th>What it is</th><th>Size</th></tr></thead><tbody><tr><td><a href="https://yms-file-store.oss-cn-hongkong.aliyuncs.com/software/pc/M-UPGRADE.dmg" target="_blank" rel="noopener noreferrer" class=""><code>M-UPGRADE.dmg</code></a></td><td>Generic updater that lets you pick a firmware file</td><td>58.5 MB</td></tr><tr><td><a href="https://yms-file-store.oss-cn-hongkong.aliyuncs.com/software/firmware/FM-1.fwsc" target="_blank" rel="noopener noreferrer" class=""><code>FM-1.fwsc</code></a></td><td>V15 firmware, under "PC Firmware", dated 2026_07_30</td><td>700 KB</td></tr><tr><td><a href="https://community.m-vave.com/bbs/api/software?file=FM1.dmg" target="_blank" rel="noopener noreferrer" class=""><code>FM1.dmg</code></a></td><td>Dedicated updater with V14 (2026_07_06) built in, for rolling back</td><td>59.8 MB</td></tr></tbody></table>
<p><code>FM1.dmg</code> is labelled "Firmware for the PC/Mac software" and looks like the thing to update with. It isn't: it can only flash its built-in V14, has no way to pick a file, and updating with it leaves you on V14. It is hosted on the M-VAVE community site rather than the official CDN, and the 59.8 MB download took over 5 minutes.</p>
<p>I put the V15 firmware in <code>~/Downloads/FM-1-V15/</code> and <code>FM1.dmg</code> in <code>~/Downloads/FM-1-V14-backup/</code>, which makes picking the file and finding the backup easier later.</p>
<h2 class="anchor anchorTargetStickyNavbar_Emow" id="2-check-the-files">2. Check the files<a href="https://ttylab80387.com/en/music/fm1-firmware-update/#2-check-the-files" class="hash-link" aria-label="Direct link to 2. Check the files" title="Direct link to 2. Check the files" translate="no">​</a></h2>
<p>Neither updater has an Apple Developer ID signature (more on that in the next step), so at the very least make sure you have the official files. I compared the SHA-256 of the <code>M-UPGRADE.dmg</code> Brave downloaded with a second copy fetched straight from the official CDN; they matched.</p>
<div class="language-sh codeBlockContainer_Ot__ theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_z6Hy"><pre tabindex="0" class="prism-code language-sh codeBlock_Y5th thin-scrollbar" style="color:#9CDCFE;background-color:#1E1E1E"><code class="codeBlockLines_bbfM"><div class="token-line" style="color:#9CDCFE"><span class="token plain">shasum -a 256 ~/Downloads/M-UPGRADE.dmg ~/Downloads/FM-1-V15/FM-1.fwsc ~/Downloads/FM-1-V14-backup/FM1.dmg</span><br></div></code></pre></div></div>
<table><thead><tr><th>File</th><th>SHA-256 (downloaded 2026-10-18)</th></tr></thead><tbody><tr><td><code>M-UPGRADE.dmg</code></td><td><code>57a61a8aac12e004bc4cd0b0aa63342d2046f21b50a4e3fe80ea460cfc401081</code></td></tr><tr><td><code>FM-1.fwsc</code></td><td><code>db1642b2b6fa5c2cccb11ffd13878068bb28601678d3644049f99dc40e7edb8a</code></td></tr><tr><td><code>FM1.dmg</code></td><td><code>02005c80404b5f9fb55e9138f11cfdecd821e8014577e546a91d85b270f242d9</code></td></tr></tbody></table>
<p>If M-VAVE replaces the files later these values will change; then compare against a fresh copy from the official site instead.</p>
<h2 class="anchor anchorTargetStickyNavbar_Emow" id="3-install-m-upgrade">3. Install M-UPGRADE<a href="https://ttylab80387.com/en/music/fm1-firmware-update/#3-install-m-upgrade" class="hash-link" aria-label="Direct link to 3. Install M-UPGRADE" title="Direct link to 3. Install M-UPGRADE" translate="no">​</a></h2>
<p>Open the DMG and drag <code>M-UPGRADE.app</code> into Applications. The app only has an ad-hoc signature, with no developer identity and no Apple notarization, so Gatekeeper's verdict is <code>rejected</code> and it is blocked the first time you open it. (The packaging is a bit sloppy too: the <code>AppConfig.ini</code> inside the app still has a WeChat temp folder path from the vendor engineer's own computer.)</p>
<p>It gets blocked because the browser tags the download with the quarantine flag <code>com.apple.quarantine</code>. This is the only official update channel, so I chose to trust it and removed the flag from this one app in Terminal:</p>
<div class="language-sh codeBlockContainer_Ot__ theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_z6Hy"><pre tabindex="0" class="prism-code language-sh codeBlock_Y5th thin-scrollbar" style="color:#9CDCFE;background-color:#1E1E1E"><code class="codeBlockLines_bbfM"><div class="token-line" style="color:#9CDCFE"><span class="token plain">xattr -dr com.apple.quarantine /Applications/M-UPGRADE.app</span><br></div></code></pre></div></div>
<p>If you'd rather not use the command line, open the app once so it gets blocked, then go to System Settings → Privacy &amp; Security and click "Open Anyway". Same result, and either way it only affects this app.</p>
<h2 class="anchor anchorTargetStickyNavbar_Emow" id="4-update-to-v15">4. Update to V15<a href="https://ttylab80387.com/en/music/fm1-firmware-update/#4-update-to-v15" class="hash-link" aria-label="Direct link to 4. Update to V15" title="Direct link to 4. Update to V15" translate="no">​</a></h2>
<p>Before flashing, quit anything else that uses MIDI (including browser tabs that have used Web MIDI) and plug the Mac into power. Turn the FM-1 on, connect it, and open M-UPGRADE; the top shows <code>Device name:FM-1 Version:14</code>. Click <strong>Select Firmware</strong> and choose <code>FM-1.fwsc</code>; a green <code>Firmware version:15</code> appears on the right, which tells you it's the right file.</p>
<p><span class="figure_csq_"><img decoding="async" loading="lazy" alt="Firmware selected, Update Firmware not pressed yet" src="https://ttylab80387.com/en/assets/images/01-m-upgrade-ready-v14-selected-v15-57ea8c21c3ab5243108c05768cd5967e.png" width="1868" height="860" class="img_QA5C"><span class="caption_yuVx" aria-hidden="true">Firmware selected, Update Firmware not pressed yet</span></span></p>
<p>Then click <strong>Update Firmware</strong> and leave the cable, the FM-1 and the Mac alone. The window dims and shows a spinner with <code>Ota upgrade in progress..</code>.</p>
<p><span class="figure_csq_"><img decoding="async" loading="lazy" alt="Update in progress" src="https://ttylab80387.com/en/assets/images/04-m-upgrade-v15-ota-in-progress-10ae976192178d80f67f141628edc704.png" width="1868" height="860" class="img_QA5C"><span class="caption_yuVx" aria-hidden="true">Update in progress</span></span></p>
<p>If you get "Failed to enter upgrade mode!" when you click it, the official advice is to keep M-UPGRADE open, unplug the USB cable and plug it back in, then try again. That only applies before the transfer has started.</p>
<p>I flashed V15 twice (rolling back to V14 once in between to get more screenshots). From the FM-1 entering update mode until it was back up after rebooting, the first run took about 21 seconds and the second about 20, with no errors either time.</p>
<p>When it's done, a green <code>Upgrade completed! 升级完成！</code> banner appears at the top and the device line changes to <code>Version:15</code>, so you can confirm it without restarting the app.</p>
<p><span class="figure_csq_"><img decoding="async" loading="lazy" alt="Update completed" src="https://ttylab80387.com/en/assets/images/05-m-upgrade-v15-completed-e1caee2ae5f7e4c37f832e474336d5ed.png" width="1868" height="860" class="img_QA5C"><span class="caption_yuVx" aria-hidden="true">Update completed</span></span></p>
<p>The FM-1 reboots on its own afterwards. The most visible difference on the unit is the key backlight: on V15 all the function keys light up white, PLAY/STOP lights up yellow-green and REC red; on V14 only HOME is lit. The first line of the release note, "LED lights have increased the basic brightness", presumably refers to this. I haven't tried the other new features yet. Also, the FM-1's own screen doesn't show the firmware version; both versions boot to <code>001 PIANO 1</code>, so you still need M-UPGRADE to check.</p>
<p><span class="figure_csq_"><img decoding="async" loading="lazy" alt="V15: all function keys lit" src="https://ttylab80387.com/en/assets/images/08-fm1-device-v15-9c0f126a6598795527598e66b3cb8098.jpg" width="4080" height="3060" class="img_QA5C"><span class="caption_yuVx" aria-hidden="true">V15: all function keys lit</span></span></p>
<p><span class="figure_csq_"><img decoding="async" loading="lazy" alt="V14: only HOME lit" src="https://ttylab80387.com/en/assets/images/09-fm1-device-v14-79cadf0ffa4c9e52d677394ac2d86ea4.jpg" width="4080" height="3060" class="img_QA5C"><span class="caption_yuVx" aria-hidden="true">V14: only HOME lit</span></span></p>
<p>I had never saved any tones of my own, so I can't confirm whether the update wipes custom tones. If you have saved some, write down the important parameters before flashing, to be safe.</p>
<h2 class="anchor anchorTargetStickyNavbar_Emow" id="5-roll-back-to-v14">5. Roll back to V14<a href="https://ttylab80387.com/en/music/fm1-firmware-update/#5-roll-back-to-v14" class="hash-link" aria-label="Direct link to 5. Roll back to V14" title="Direct link to 5. Roll back to V14" translate="no">​</a></h2>
<p>Open <code>FM1.dmg</code>; inside is <code>M-UPGRADE-FM1.app</code>. Like M-UPGRADE it only has an ad-hoc signature, so Gatekeeper blocks it too; let it through the same way as in step 3 (with this app's path). It has V14 built in, so there's no file to pick.</p>
<p>The app opens in Simplified Chinese. The top shows <code>FM-1 已连接 版本:15</code> ("FM-1 connected, version 15"), and below are just two buttons, <strong>Update Firmware</strong> and <strong>Update Preset</strong>, with nowhere to choose a file.</p>
<p><span class="figure_csq_"><img decoding="async" loading="lazy" alt="M-UPGRADE-FM1 just opened, FM-1 currently on V15" src="https://ttylab80387.com/en/assets/images/02-m-upgrade-fm1-v15-connected-b058ce6cc83b3bb340767c26c369efaf.png" width="1856" height="924" class="img_QA5C"><span class="caption_yuVx" aria-hidden="true">M-UPGRADE-FM1 just opened, FM-1 currently on V15</span></span></p>
<p>Besides the V14 firmware, the app also contains a <code>FM-1_4bank.bin</code>. From the name it's probably the four factory tone banks A–D, which would go with the <strong>Update Preset</strong> button. So rolling back with just Update Firmware presumably leaves your tones untouched; don't press Update Preset unless you mean to.</p>
<p>After clicking <strong>Update Firmware</strong>, the window dims and shows a spinner with <code>Ota upgrade in progress..</code>.</p>
<p><span class="figure_csq_"><img decoding="async" loading="lazy" alt="Rollback in progress" src="https://ttylab80387.com/en/assets/images/03-m-upgrade-fm1-ota-in-progress-a255a59949bc7fde16698435db48749f.png" width="1856" height="924" class="img_QA5C"><span class="caption_yuVx" aria-hidden="true">Rollback in progress</span></span></p>
<p>I rolled back twice. Measured from entering update mode until the FM-1 was back up after rebooting, the first rollback took about 18 seconds and the second about 19, a little faster than the roughly 20 seconds for the upgrade.</p>
<p>At the end the same green <code>Upgrade completed! 升级完成！</code> appears, but the device line first turns into red <code>请连接 FM-1 / Please connect FM-1</code> and both buttons grey out. That's the FM-1 rebooting, not an error; just wait a few seconds.</p>
<p><span class="figure_csq_"><img decoding="async" loading="lazy" alt="Rollback just finished, FM-1 still rebooting" src="https://ttylab80387.com/en/assets/images/06-m-upgrade-fm1-v14-completed-reconnecting-123af5446eea6a58b3043505d0a20c13.png" width="1856" height="924" class="img_QA5C"><span class="caption_yuVx" aria-hidden="true">Rollback just finished, FM-1 still rebooting</span></span></p>
<p>About 7 seconds later the FM-1 reconnects and shows <code>FM-1 已连接（版本 14）相同版本不能更新</code> ("FM-1 connected (version 14), cannot update to the same version"), with Update Firmware still greyed out. Once you see version 14, the rollback is done.</p>
<p><span class="figure_csq_"><img decoding="async" loading="lazy" alt="FM-1 reconnected, now on V14" src="https://ttylab80387.com/en/assets/images/07-m-upgrade-fm1-v14-same-version-03de9e0d4d65c2c77e15d67853448704.png" width="1856" height="924" class="img_QA5C"><span class="caption_yuVx" aria-hidden="true">FM-1 reconnected, now on V14</span></span></p>
<h2 class="anchor anchorTargetStickyNavbar_Emow" id="side-note-m-upgrade-updates-other-models-too">Side note: M-UPGRADE updates other models too<a href="https://ttylab80387.com/en/music/fm1-firmware-update/#side-note-m-upgrade-updates-other-models-too" class="hash-link" aria-label="Direct link to Side note: M-UPGRADE updates other models too" title="Direct link to Side note: M-UPGRADE updates other models too" translate="no">​</a></h2>
<p>M-UPGRADE isn't just for the FM-1. When I connected my other M-VAVE device, an SMK-37 Elite, it read <code>Device name:SMK-37 Elite Version:13</code> just the same, so it looks like an updater shared across M-VAVE's models.</p>
<p>With <code>FM-1.fwsc</code> selected, it showed <code>A firmware that does not conform to the device was selected</code> in red, and <strong>Update Firmware</strong> was greyed out and couldn't be clicked. At least in this case, it blocked the FM-1 firmware from being flashed to the SMK-37 Elite.</p>
<p><span class="figure_csq_"><img decoding="async" loading="lazy" alt="M-UPGRADE recognizes the SMK-37 Elite and blocks the FM-1 firmware" src="https://ttylab80387.com/en/assets/images/10-m-upgrade-smk37-wrong-firmware-2677609f81cf11986a11a2d501ae3253.png" width="1868" height="860" class="img_QA5C"><span class="caption_yuVx" aria-hidden="true">M-UPGRADE recognizes the SMK-37 Elite and blocks the FM-1 firmware</span></span></p>
<p>After switching to the SMK-37 Elite's own firmware, <code>SMK-37 Elite_016.fwsc</code>, a green <code>Firmware version:16</code> appeared on the right. Clicking <strong>Update Firmware</strong> ended with the same green <code>Upgrade completed! 升级完成！</code>, and the device line went from <code>Version:13</code> to <code>Version:16</code>. Compared with the FM-1 screenshots above, the screens, buttons and completion message were all the same, so if you have another M-VAVE device, you should be able to flash it the same way with M-UPGRADE and that model's <code>.fwsc</code> file.</p>
<p><span class="figure_csq_"><img decoding="async" loading="lazy" alt="SMK-37 Elite with the V16 firmware selected, Update Firmware not pressed yet" src="https://ttylab80387.com/en/assets/images/11-m-upgrade-smk37-ready-v13-selected-v16-0ae762ff8997207ef80a0449a54117be.png" width="1868" height="860" class="img_QA5C"><span class="caption_yuVx" aria-hidden="true">SMK-37 Elite with the V16 firmware selected, Update Firmware not pressed yet</span></span></p>
<p><span class="figure_csq_"><img decoding="async" loading="lazy" alt="SMK-37 Elite update completed, now on V16" src="https://ttylab80387.com/en/assets/images/12-m-upgrade-smk37-v16-completed-5fa7383c60d69b3525e8de52851133e9.png" width="1868" height="860" class="img_QA5C"><span class="caption_yuVx" aria-hidden="true">SMK-37 Elite update completed, now on V16</span></span></p>
<h2 class="anchor anchorTargetStickyNavbar_Emow" id="takeaways">Takeaways<a href="https://ttylab80387.com/en/music/fm1-firmware-update/#takeaways" class="hash-link" aria-label="Direct link to Takeaways" title="Direct link to Takeaways" translate="no">​</a></h2>
<p>V14 and V15 use two different flashing tools: the new M-UPGRADE lets you pick a firmware file, while the old <code>M-UPGRADE-FM1</code> has its firmware baked in and simply flashes V14. M-VAVE doesn't publish the V14 firmware on its own, so the old tool is the only way back, which is why I'm keeping both.</p>
<p>As for whether it's worth updating: honestly, I haven't really played with this unit much since I bought it, so I can't say how good the V15 features are. But my habit has always been to update first, and unless people online report bugs or say the new version made things worse, I recommend updating. Besides, rolling back to V14 takes under 20 seconds.</p>
<h2 class="anchor anchorTargetStickyNavbar_Emow" id="references">References<a href="https://ttylab80387.com/en/music/fm1-firmware-update/#references" class="hash-link" aria-label="Direct link to References" title="Direct link to References" translate="no">​</a></h2>
<ul>
<li class=""><a href="https://www.m-vave.com/download.html" target="_blank" rel="noopener noreferrer" class="">M-VAVE Download Center</a></li>
<li class=""><a href="https://yms-file-store.oss-cn-hongkong.aliyuncs.com/software/releaseNote/firmware/FM-1.txt" target="_blank" rel="noopener noreferrer" class="">FM-1 official release note</a></li>
</ul>]]></content:encoded>
            <category>Tutorial</category>
            <category>Gear &amp; Software</category>
        </item>
    </channel>
</rss>