|Polaron.de Apps Overview|
What is Napo?
How does Napo work?
|Jump into the User Manual ● Jump into the Version History|
What is Napo? ⬆
Napo is not a pipe organ, but it allows you to play organ music with the help of MIDI keyboards and a suitable iOS or macOS device. It is a framework for virtual pipe organ apps which evolved from the free StrandOrgan 1.0 and StrandOrgan 2.0 apps. StrandOrgan will stay free and serve as a showcase for the other apps that are based on Napo. Before purchasing one of the other Napo apps, one can use StrandOrgan and Jeux d'orgues Mini to check if a device delivers a sufficient polyphony and if Napo works well with existing MIDI hardware.
For seeing Napo apps in practical use, please have a look at the polaron.de YouTube channel http://youtube.com/c/PolaronDe/.
Napo Apps ⬆
How does Napo work? ⬆
Connect a MIDI keyboard to your iOS or macOS device. Start the Napo app of your choice. Configure the MIDI channel in the app's Settings view, if not already done. Select organ stops in the app's Console view. Press keys on the MIDI keyboard. The iOS or macOS device creates the sound, which you can listen to using headphones or external speakers (the internal speaker of a tablet or notebook does not do justice to the organ sound). For organs with several manuals and pedal it makes sense to connect an according number of MIDI keyboards and a MIDI pedal.
To reproduce the sound of a pipe organ, a Napo app contains a sample set, which in principle is a collection of WAV files (recordings of the organ pipes, usually in CD quality). The app tracks note-on and note-off commands received via MIDI and stop registration changes performed at the touch screen or via MIDI. It reads the sample data of the active pipes and calculates the resulting sound. This may seem easy, but within the limitations of a mobile device it is far from trivial to render dozens or hundreds of high-quality voices in parallel. The development of the framework took months of work. It is not by chance that other iOS virtual pipe organ apps are rather disappointing in terms of polyphony and sound quality, and, judged by musical value, are nothing but children's toys when compared to Napo apps. The Napo framework that originally targetted only iOS has with Napo 5 proven to be viable for macOS as well and in this setup, too, stands out by low memory usage and short startup times.
Napo is able to handle sample sets with hundreds or thousands of WAV files and several gigabytes of sample data. It makes extensive use of Apple's Grand Central Dispatch technology (GCD) for distributing the calculation work to several CPU cores and of the vDSP library of Apple's Accelerate framework for vectorising the floating point operations when processing the audio data.
Please note that it is not recommended to use a Napo app for performing live concerts or for church service. While we do our best to attain secure operation of the software, a tablet or desktop app can not deliver the reliability of an electronic church organ built with dedicated hardware or a real pipe organ. We don't see our apps as replacements of conventional instruments but rather as a supplement that gives you an easy way to play with some very different organs – an option that no traditional digital (let alone pipe) organ offers.
Hardware Requirements ⬆
Napo apps run on iOS devices starting with iOS 9.3.5, iPhone and iPod touch as well as iPad, and on macOS starting with version 10.15. Because Napo makes use of streaming, macOS installations of Napo apps should be done on a SSD.
The achievable polyphony depends on the processing and I/O performance of the device and on the characteristics of the sample set (number and size of files, sample frequency, loop lengths). To make usage of the convolution reverb, for iOS at least an A6/A6X processor (iPad 4, iPhone 5 or better) is recommended.
Because of the large size of the sample sets, make sure that your device has enough free SSD space before you try to install a Napo app.
To use a MIDI keyboard with an iPhone or iPad, you need a MIDI adapter for the dock connector (30 pin or lightning, depending on your device). Napo is tested with the iRig MIDI and with the Line 6 Midi Mobilizer II, but any CoreMidi compliant adapter should work. Plug the adapter to the device's dock connector and use a suitable cable to connect the MIDI-in port of the adapter to the five-pin MIDI out port of your keyboard.
With the iPad, and as well with newer iPhones, you can alternatively use the USB adapter of an iPad Camera Connection Kit (CCK) and either a MIDI keyboard with USB interface or a MIDI keyboard with five-pin connector and an additional MIDI-USB converter.
To play with several MIDI keyboards and maybe a MIDI pedal you need to daisy-chain the keyboards and the pedal via MIDI or use an additional MIDI mixer device. There are also interfaces available which offer two or more MIDI inputs.
While Napo apps are intended to be operated by real keyboards, there are built-in screen keyboards that let you play without any additional hardware or software, see User Manual, Console View. Of course this is only a makeshift and feasible only for very simple music pieces. Besides that, Napo supports Network MIDI (aka RTP-MIDI), Virtual MIDI and MIDI over Bluetooth. Using Virtual MIDI you can control a Napo app by other apps running on the same device, like MIDI sequencers or virtual keyboard apps (if they support Virtual MIDI). See here for an example using the ChordMaps2 app. With Network MIDI and MIDI over Bluetooth you can control a Napo app by other devices, for example a MIDI keyboard connected to a Mac computer (use Audio-MIDI setup on the Mac to configure a suitable session), or by apps running on the same or another iOS device.
Design Goals ⬆
Napo was developed with the following seven objectives in mind:
- Robustness: It is extremely annoying when a music app does not run stable or even crashes while you are playing. So the highest care was and is applied in the implementation and tests of Napo. The apps have to cope with errors in the MIDI stream as well as with processor and memory or SSD bandwidth overload conditions. Still, software of this operational complexity will rarely be perfect, and as more functionality is added, new bugs may creep in. Please report any issue that you encounter with a Napo app, so it can be resolved as soon as possible.
- See 1.
- See 1.
- Sound quality: Napo gives you the full quality of the sample sets, which usually have CD standard (16 bit at 44100 Hz in stereo). The internal processing of sound data is done with 32 bit floating point numbers.
- Ease of installation: Napo apps are self-contained. You just have to install the app from the App Store in the known easy way. There is no need to download and install the sample set or anything else (this may change in the future to avoid repeated downloading of the sample set at app updates). The support page of each Napo app gives directions on where you can get the corresponding sample set if you would like to use it with other software.
- Ease of use: There exist virtual pipe organ applications for traditional operating systems that offer enormous flexibility, but the user has to spend a considerable amount of time with configuring the system and maybe even installing additional driver software. This is fine for people who like to tinker or who need the options of these applications. In contrast, Napo apps address organists who are looking for a simple solution that still offers excellent sound. People who prefer to make music over twiddling with the pecularities of a computer and operating system. Ideally, after installing a Napo app (one click in the App Store), you connect a MIDI keyboard and headphones/speakers to your iOS or macOS device, start the app and are ready to play.
- Hotplug capability: MIDI devices can be attached or removed anytime, even while the app is running. Keyboards are identified by MIDI channels, so it does not matter which USB port you use.
- Instant on: Even when doing a cold-start, a Napo app does not have a significant startup time. Tap the app icon, select stops, start to play. No need to prepare a coffee or to sort your sheet music once again while waiting for the software to initialise. Switch to another organ in an instant, or even run two Napo apps in parallel and use two keyboards to play two organs at the same time.
User Manual ⬆
While StrandOrgan 1.0 had a simple single-view interface, starting with Napo 2.0 the apps have several views organized as tabs. Napo is about sound, not about graphics. The interface design is simplicistic and practical and tries to cater to classic organists. Most of the time you will work with just the Console view and its stop buttons. This view has to be efficient to use and not be cluttered with secondary and distracting bells and whistles.
The User Manual describes the particular views of Napo and their operation in detail. However, not all current Napo apps are based on the latest version of Napo and hence a specific app may have not (yet) all of the stated functionality.
Version History ⬆
Napo is evolving continually. As each new version of an app means several days of testing, we update apps only when a new Napo version brings essential new features. Bugfix releases for critical bugs, however, are done with highest priority, as we want our software to be reliable and serve the needs of the users. Again, please report any problems. Suggestions for functional changes and enhancements are welcome as well.
At the History page you find a detailed overview of the past and present Napo versions, their features and deficiencies, and the apps that were and are based on these versions.
Performance (Polyphony, Convolution Reverb Lengths) on mobile devices
You must understand that a battery-operated mobile device like an iPad or iPhone cannot deliver the performance of a multi-core multi-gigahertz multi-gigabyte desktop computer which consumes 100 Watts or maybe much more and cannot work without powerful ventilators. Until recently, playing dozens or hundreds of high-quality organ voices simultaneously needed a high-end PC or a specialized organ expander equipped with digital signal processors.
Nevertheless you can achieve a surprisingly high polyphony on iOS. The following table lists (very rough) polyphony values of the PiteaMini app (with iPad Air 3: Pitea app) on various iPad models when using 23 milliseconds buffer duration and having no other apps running:
|iPad 1||50 voices|
|iPad 2/3||150 voices|
|iPad 4||500 voices|
|iPad Air 1||1000 voices|
|iPad Air 2||1500 voices|
|iPad Air 3||3000 voices|
The number of voices that are needed depends not only on the music that you play and on the quality of the sample files (long sample loops lead to bad I/O performance because the file cache gets inefficient) but also on the organ / the acoustics of the church: The more reverb, the more voices you will need, because even when a key is released, the voice must continue to play until the reverb has faded out. When using artificial reverb you need far less voices. But only the iOS reverb is cheap; the convolution reverb that was introduced with Napo 3.3 is itself a performance hogger. At 44100 Hz you can use impulse response lengths of only up to 1.5 seconds with iPad 2/3, about 4 seconds with iPad 4 and about 10 seconds with iPad Air 1.
Whenever there is a performance bottleneck, the app shows a flag CPU Overload, I/O Overload or Reverb Overload. In case of a serious overload the sound quality will suffer. You can take the following measures against this:
- Stop other apps. They are in the background, but they might still be eating more resources than you would expect. In particular, applications that create high peaks of CPU or I/O load can be a problem.
- Better use iOS reverb instead of Real reverb. Real reverb plays the pipe samples in full length, i.e. including the original reverb of the church. Obviously, this increases the needed polyphony enormously.
- Go to airplane mode. This prohibits other apps or system services which are dependent from network access to do update work in the background.
- Do not use the low power mode that was introduced with iOS 9 on iPhone.
Audiobus Support (iOS)
Support for Audiobus was introduced in Napo 3.5. The user does not need to configure anything for this, it just works out of the box.
Napo 4.1 makes the switch to Audiobus 2. Unfortunately, Audiobus support for iOS 5/6 had to be dropped to enable Audiobus 2 on iOS 7 and later.
The state saving feature of Audiobus 2 can be used to save the current stops setting. This is like saving stop combinations within the Audiobus app.
Starting with version 5.0, Napo supports Audiobus 3.
Support for Slide Over and Split View (iPad)
With iOS 11 it is on performant enough iPads possible to work with two apps at the same time if both apps supports this, see support.apple.com. Starting with version 4.19, this is the case for Napo. Hence, a Napo app can for example be combined with another instrument app, a score reader app or a MIDI file player app.
Napo supports storing files (audio recordings, combination banks, saved settings) in iCloud. Starting with Napo 5, the used iCloud drive container is accessible via the iOS Files app and the macOS Finder.
Combination banks and saved settings are app-specific. They cannot be used by apps other than the one they were created with. So it makes only sense to save them in the app's iCloud Drive container, and Napo does not offer an "Open In..." option for these files.
Audio recordings, on the other hand, can be saved in the app's iCloud Drive container but also being shared with "Open In...".
Normally, the screen of your device turns off when it is not touched for some time (configured in Settings – General – Auto-Lock). Presumably you do not want this to happen while playing the organ. Neither do you want to adjust this setting each time you use a Napo app. Hence the Auto-Lock is disabled while you play. Only when no voices are active anymore, the idle-timer starts its countdown and the Auto-Lock will happen after the configured time interval.
Starting with version 4.10, Napo was able to use the 'badge' of the app icon to display a countdown while the app was active in the background. We abanded this functionality in Napo 5 because its use is questionable. Currently, Napo does not create app notifications.
Support for Novation Launchpads
Starting with version 4.11, Napo supports the Launchpad MK2, version 4.17 adds the Launchpad Mini. While it was possible before to use a Launchpad's buttons as MIDI controls, Napo can now as well drive the button lights. You can define your own button layouts and with the Launchpad MK2 own RGB colors or install a predefined default – more about this can be found in the user manual.
Support for Sostenuto Pedals
Upon user request, we added support for MIDI Sustenuto pedals in Napo 4.11. Any pedal which sends as controller 64 should work. There is no need for to configure anything. For our tests we used a Fatar PS-100.
Automated usage by other Apps
Starting with Napo 4.22, the use case that another app, let's call it OtherApp, would like to employ a Napo app for playing music, is simplified by a URL scheme. This works like following:
- OtherApp opens a certain URL, in case of Jeux d'orgues Mini for example
...stands for additional parameters for setting MIDI channels and other things.
- The Napo app evaluates the parameters and installs the corresponding settings. Before this, it saves the current settings.
- The Napo app returns the control to OtherApp.
- OtherApp can now via Virtual MIDI send note and stop commands to the Napo app.
- At the end, OtherApp opens a URL like
- The Napo app restores the saved settings.
- The Napo app returns the control to OtherApp.
You are welcome to ask for more details.
Currently, only Jeux d'orgues Mini (starting with version 5.9) is updated to this mechanism and is being used by the CarolPlayMidi app, see "CarolPlayMidi - The Perfect App For Christmas" of The Sound Test Room on YouTube.
In the future we will give more attention to the interplay with other apps and maybe replace the URL scheme way by a configuration with SysEx messages.
Concerning the Usage of free Sample Sets
For some of the free sample sets used by Napo apps, a Creative Commons license is in order which declares that changed files of the sample sets must again be available for free. We are happily meeting this requirement and offer the WAV files of the affected apps for download independently of the apps. The changes are marginal, however. Essentially, some loop points have been replaced, as Napo does not do a crossfade when rendering the loops. Hence the loop points have to be chosen well to avoid audible transitions.
The affected apps are:
|App||Original sample set||ZIP archive with WAV files of the App||Approximate size|
|Burea||Bureå Church||BureaWavFiles.zip||1.1 GB|
|MenzelOrgan||Bureå Funeral Chapel||MenzelOrganWavFiles.zip||130 MB|
|Pitea||Piteå School of Music||PiteaWavFiles.zip||923 MB|
|StrandOrgan||Kalvträsk Church||StrandOrganWavFiles.zip||373 MB|
The respective original sample sets for usage with GrandOrgue can be found at http://familjenpalo.se/vpo/download. Attention should be paid to the fact that Napo the names of the WAV files in Napo are different and may change in future versions.
We would like to emphasize that recordings created with Napo apps can be used in any way, commercial or non-commercial. However, we ask you to always mention the creator of the sample set, which in the above cases is Lars Palo.
Included Impulse Responses
At delivery, the apps already include some impulse responses for the convolution reverb. Besides such which are possibly part of the respective sample set, these are currently several of the freely available impulse response files of Fokke van Saane, see http://fokkie.home.xs4all.nl/IR.htm.
MIDI Problems with some Keyboards
With some keyboards, occasionally missing or stuck notes have been observed. USB keyboards, in particular cheap ones, seem to be more prone to this than keyboards with an old-fashioned five-pin MIDI interface and a MIDI-USB adapter. It is unclear whether these are MIDI hardware problems or a bug in CoreMidi. Lost or stuck notes can be reproduced even with GarageBand, so probably nothing can be done about this issue on the application level.
When Napo receives two consecutive note-on or note-off commands for the same note on the same MIDI channel, up to version 4.19 it always shows a warning message. Starting with Napo 4.20, the handling of interleaved on-off sequences can be configured, see the explanation of the switch "Check note messages" in section General – Behaviour of the Settings view in the user manual.
Problems with Tascam iU2 Interface
One user has reported unreliable MIDI connections and missing audio when using a Tascam iU2 with an iPhone 4, presumably running iOS 6. As this user did never contact us, but only complained in an App Store review, we had no chance to get more details about the nature of these problems and to look for a solution. Searching the net revealed that there are issues of all kinds with the iU2, and that Tascam has removed this device from its products list. At the discontinued products page http://tascam.eu/en/downloads/archive/iU2 you can read (dated 01.10.2012):
No Reverb is not really without Reverb
Most sample sets are made of so-called wet samples, i.e. they contain the reverb of the church. This natural reverb is present in the attack and the loop phase of the sample also, so you cannot completely get rid of it even if you switch to No Reverb, iOS Reverb or Convolution Reverb. The only strict solution to this would be to move the organ pipes to a completely anechoic room for sampling, which is not a practicable option.
No Reverb cuts off more than just the Reverb
Even if you do not consider reverb, a real organ pipe does not immediately stop to produce sound when the key is released. The natural decay of the pipe's sound is lost when playing with No/iOS/Convolution Reverb.
There is no perfect simulated Reverb
Any calculated reverb that is applied to a signal that is a sum of different sound sources does not reproduce the sound that you would get in a real room, because the real reverb of a sound source depends on its position. What you get instead is the sound of the sum signal rendered by a loudspeaker placed in the simulated room. This is true in particular for convolution reverb. For a lifelike sound you would need pipe-dependent impulse responses. Recording all these impulse responses is beyond reach, and the parallel rendering of hundreds of convolution reverbs cannot be done with current hardware. Nevertheless, convolution reverb is the best simulation that you can get, and it is part of Napo from version 3.3 on.
- Hauptwerk, a highly sophisticated commercial virtual organ software for macOS and Windows.
- Great Organ, another system of the same kind for Windows.
- GrandOrgue, free virtual organ software for Linux, macOS and Windows.
- Organteq, a quite convincing commercial system for Linux, macOS and Windows, which does not use samples, but instead works with sound synthesis.
- Aeolus, free virtual synthesis-based pipe organ for Linux.
- Victorian Chapel Organ and St. Just in Roseland Organ, two iOS organ apps which, too, employ synthesis instead of samples.
- iCathedral, an iPad organ app which has a focus on other functions than the Napo apps.
- jOrgan, which is written in Java and thus runs on most of the common operating systems, offers a user interface and delegates the sound generation to other software or hardware.
- http://people.xiph.org/~xiphmont/demo/neil-young.html, a nice article about sound quality and the human ear.