This page is a collection of resources for using and programming Gakken Pocket Miku, also known as the “NSX-39”. It starts out with a cheat sheet for using Pocket Miku, moves on to Web-based applications, and finishes with customization and MIDI System Exclusive (SysEx) messages.
Be sure to read the Pocket Miku user’s guide before starting. The material below is not a hand-holding tutorial!
Pocket Miku cheat sheet
The lower part of the stylus area is a chromatic keyboard which plays notes. The upper part of the stylus area is a ribbon controller. Touch the stylus to either area to make music.
This is a classic resistive keyboard/ribbon controller. Stylus actions are converted to MIDI note ON, MIDI note OFF and pitch bend messages. The MIDI note is fixed: F#. MIDI pitch bend messages determine the actual final pitch which is heard.
Pocket Miku has two major operating modes:
- Normal mode
- NSX-1 compatibility mode
Pocket Miku boots into normal mode. In this mode, the NSX-39 recognizes and responds to stylus actions, button presses, etc.
Pocket Miku has three submodes in the normal operating mode:
- Do-Re-Mi mode with scales (default)
- A-I-U-E-O mode with vowels (SHIFT + vibrato button)
- Preset lyric mode with 5 lyrics (SHIFT + one of the AEIOU buttons)
The default phrases in preset lyric mode are:
SHIFT + A Konnichiwa Arigato (Hello, thank you)
SHIFT + I Butterfly song (choucho)
SHIFT + U Cherry blossom song (Sakura)
SHIFT + E Auld Lang Syne (Hotaru no hikari)
SHIFT + O Irohanihoheto
The magic key combination
U + VOLUME UP + VOLUME DOWN switches between normal mode and NSX-1 compatibility mode. Pocket Miku plays a high hat hit when changing modes (not a “beep”). The Yamaha Web applications use NSX-1 compatibility mode. NSX-1 compatibility mode is also good for DAW-based sequencing since it decreases latency by disabling the interpretation of MIDI System Exclusive messages that are meaningful only to the NSX-39 microcontroller.
Pocket Miku responds to single button presses and combinations:
A-I-U-E-O Selects on of the vowel phonemes
VIBRATO Adds vibrato to the sound
SHIFT Selects additional functions and modes
VOLUME UP Increase volume
VOLUME DOWN Decrease volume
SHIFT + A, SHIFT+I, ... Select A-I-U-E-O vowel mode
SHIFT + VIBRATO Select Do-Re-Mi mode
SHIFT + VOLUME UP Octave up
SHIFT + VOLUME DOWN Octave down
VIBRATO + VOLUME UP Pitch bend up (up one semi-tone)
VIBRATO + VOLUME DOWN Pitch bend down (down one semi-tone)
A + VOLUME UP + VOLUME DOWN Panic reset
U + VOLUME UP + VOLUME DOWN Select NSX-1 mode
O + VOLUME UP + VOLUME DOWN Retune Pocket Miku
SHIFT + VOLUME UP + VOLUME DOWN Initialize (factory reset)
Gakken NSX-39 applications
Gakken provide three applications specifically for the NSX-39 (in normal mode). The applications are at http://otonanokagaku.net/nsx39/app.html.
Google Chrome version 33 or later is required because the Gakken applications use the Web MIDI API.
Connect NSX-39 to your computer with a USB cable and set the power switch of the NSX-39 to “USB”. If you do not connect the NSX-39 before you start Google Chrome, the NSX-39 will not be recognized by the application.
The Web MIDI API must be enabled in Google Chrome. After starting Chrome, enter:
in the address bar as shown on the first “Browser Settings” screen. Then, enable the API in the “Enable Web MIDI API” column. Please click the appropriate button (e.g., “Use Windows Runtime MIDI API”) and restart Google Chrome.
Launch the desired application from here:
Once you agree to the End User License Agreement (EULA), you can connect to the NSX-39 (Pocket Miku’s model number).
If this procedure does not work, please restart the computer and proceed from the first step.
Application: Input lyrics
You can edit the lyrics by pressing the “E” button in the lyric input slot. Only Hiragana can be input. After inputting lyrics, pressing “Enter” on the keyboard and the app sends lyric data to Pocket Miku.
After sending lyrics data, when playing Pocket Miku, Pocket Miku sings according to the sent lyrics.
Lyrics can input 64 letters per slot. There are 15 slots and they are selected with
[A] - [O], [SHIFT] + [A] - [O], [VIBRATO] + [A] - [O].
[SHIFT] + [VIBRATO] during editing to switch to Do-Re-Mi mode.
Application: Play in realtime
This is an application where you can input and play lyrics in realtime. If you hover over the tile where the letters are written on the screen, you can pronounce that character.
Tiles can be selected from 50, mentai (voiced, semi-voiced), small letters (1) (2), jiyuu (free arrangement) mode.
Jiyuu is a mode that allows you to place characters freely using the “frog” menu:
- Tsukasa … You can add up to 50 letters, panels.
- Move … Move the panel to the desired position by dragging.
- Ken … You can delete the panel by clicking it.
- Reading … Read the saved character panel setting file.
- Upload … Save the character panel setting as an external file.
Google Translate didn’t do so well with these instructions! Sorry.
Config is an abbreviation for configuration and means “setting.” With this application, you can change the settings of Pocket Miku and add new functions. The following four operations are supported:
- Startup sound for function addition pack
- SHIFT button Character heading / character advance
- Effect ON / OFF
Please press the “Install” button and read the displayed message and if there is no problem press the “Send” button. When all the functions are installed, a voice saying “Owarai” appears, and writing the settings is completed.
If you want to restore the settings back, please click the “Uninstall” button, read the explanation carefully, and press the “Send” button if there is no problem.
Yamaha NSX-1 applications
Yamaha provide open source sample apps (Japanese language) at http://yamaha-webmusic.github.io/. The Yamaha applications use the Web MIDI API. See the directions above in order to set up Google Chrome.
In order to use these applications, you must change Pocket Miku to NSX-1 compatibility mode by pushing
U + VOLUME UP + VOLUME DOWN simultaneously.
Aides Technology application
Aides Technology is the developer of the Switch Science NSX-1 Arduino shield.
They have one very handy Web application when MIDI sequencing. The application translates romaji (kana text) lyrics to an NSX-1 System Exclusive (SysEx) message. You can copy the HEX SysEx message from the page and paste it into your DAW. On Windows, the application will put the SysEx message on the Windows clipboard automatically.
You may also need this ASCII to Hex text converter when debugging your SysEx messages.
I’m a long time SysEx HEX warrior. Trust me, this is the way to go!
Customization and MIDI System Exclusive messages
Customization is the most difficult topic due to its complexity and the general lack of English language resources. Customization is performed through MIDI System Exclusive messages instead of simple textual commands. This approach enables use of the Web MIDI API, but makes it darned difficult to compose messages by hand.
I’m told that the Gakken Official Guide Book (Gakken Mook) contains a short section about customization via SysEx. However, one cannot cram a paper magazine through Google Translate. 🙂
The next best thing is the Pocket Miku Customization Guide (PDF) by Uda Denshi (polymoog). This guide and Google Translate will only take you so far.
The absolute best English language resource is the series of blogs written by CHH01:
Please note that Pocket Miku has two major subsystems: a microcontroller and the Yamaha NSX-1 integrated circuit. Each subsystem has its own SysEx messages. See the Yamaha NSX-1 MIDI implementation reference manual for information about its SysEx messages. Messages interpreted by the microcontroller are described in the Pocket Miku Customization Guide. These messages are turned OFF when Pocket Miku is in NSX-1 compatibility mode.
The NSX-39 SysEx implementation is very powerful. You can change the lyrics which are stored in flash memory (15 lyric slots), change the way the NSX-39 responds to button presses (120 command slots), read switch states, and much more. Here is a list of the main customization message types (thanks to CHH01):
F0 43 79 09 11 d0 d1 d2 d3 d4 d5 ... F7
Request Version Data d0=0x01 d1=N/A
Version Data Reply d0=0x11 d1=NSX-39 version data
Lyrics Entry d0=0x0A d1=lyrics slot number d2=character data
Request Command Slot Details d0=0x0B d1=command slot number
Command Slot Reply d0=0x1B d1=command
Change Command Slot d0=0x0C d1=command slot number d2=command
Command Direct Entry d0=0x0D d1=command
Lyric Number Data Request d0=0x0E d1=N/A
Lyric Number Data Reply d0=0x1E d1=Slot number d2=Slot data
Lyric Details Request d0=0x0F d1=Slot number
Lyric Details Reply d0=0x1F d1=character count d2=character 1, etc.
Switch State d0=0x20 d1=000000ih d2=0gfedcba
NSX-39 Status d0=0x21 d1=Status
Good luck with your investigations and experiments!
Copyright © 2017 Paul J. Drongowski