|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 an iOS device. It is an iOS 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 an iOS device delivers a sufficient polyphony and if Napo works well with existing MIDI hardware. In case of an iPad 2 or iPhone 5 or better, the apps Burea3o, Pitea3o and MarcMoerd3o can serve for this as well.
For seeing Napo apps in practical use, please have a look at the polaron.de YouTube channel http://youtube.com/c/PolaronDe/.
Napo Apps ⬆
App Bundles ⬆
App Bundles give you the option to get a collection of apps for a lower price than the sum of the individual prices. If you have already acquired some app that is also available as part of a bundle, then you can complete the bundle for a discounted price. If you already have bought Burea, for example, then you can get BureaMini for free. Or you can buy BureaMini first, and if you like it, add Burea for an accordingly discounted price. Please consider the hints that follow below.
There are currently the following bundles of Napo apps:
How does Napo work? ⬆
Connect a MIDI keyboard to your iOS 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 device creates the sound, which you can listen to using headphones or external speakers (the internal speaker of an iOS device 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 sampleset, 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.
Napo is able to handle samplesets with hundreds of WAV files and several gigabytes of sample data. It makes extensive use of Apple's Grand Central Dispatch technology (GCD) and of the vDSP library of Apple's Accelerate framework. Of course it uses all available processor cores and thus will without circumstance run even better on upcoming quad- or more-core devices.
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 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 5 to iOS 9 devices, iPhone and iPod touch as well as iPad. Some apps are designed for iPad only. The achievable polyphony depends on the processing and I/O performance of the device and on the characteristics of the sampleset (number and size of files, sample frequency, loop lengths). To make usage of the convolution reverb that is available beginning with Napo 3.3, at least an A6/A6X processor (iPad 4, iPhone 5 or better) is recommended.
Because of the large size of the samplesets, make sure that your device has enough free SSD space before you try to install a Napo app. If you intend to use downsampled sounds also (22050 Hz instead of 44100 Hz or 24000 Hz instead of 48000 Hz), then you need additional 50% of the size that is listed in the App Store.
To use a MIDI keyboard 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 and iOS 8 and later, 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 (starting with Napo 4.0) internal virtual 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 (starting with Napo 3.0) and MIDI over Bluetooth (starting with Napo 4.5; searching for peripheral devices with Napo 4.22). 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. In more than ten months of availability of StrandOrgan 1.0 and 2.0 not a single bug or crash was reported. 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 samplesets, 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. If your device is missing processing power, you can switch to downsampled sounds. However, this causes a loss of sound quality.
- 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 sampleset or anything else (this may change in the future to avoid repeated downloading of the sampleset at app updates). The support page of each Napo app gives directions on where you can get the corresponding sampleset 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 device, start the app and are ready to play.
- 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 (one of them in the background) and use two keyboards to play two organs at the same time. Starting with Napo 3.4, you can use fast organ switching to fly even quicker to another organ.
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 elements.
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.
Some Notes ⬆
Performance (Polyphony, Convolution Reverb Lengths)
You must understand that a battery-operated mobile device like an iPhone or iPad cannot deliver the performance of a multi-core multi-gigahertz multi-gigabyte 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. The following table lists (very rough) polyphony values of the PiteaMini app on various iPad models when using 23 milliseconds buffer duration and having no other apps running:
|44100 Hz||22050 Hz|
|iPad 1||50 voices||100 voices|
|iPad 2/3||150 voices||300 voices|
|iPad 4||500 voices||1000 voices|
|iPad Air 1||1000 voices||1500 voices|
|iPad Air 2||1500 voices||2500 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 comes 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.
- Switch to sample rate 22050 Hz in the sound settings of the app. You won't hear a significant difference unless you have good ears and good headphones and play single high-pitched notes.
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.
Inter-App Audio Support
There is currently no IAA support in Napo. However, to enable Audiobus interaction on iOS 8, we had to add IAA entitlements to all Napo apps. Consequently, the apps are offered as IAA instruments e.g. in GarageBand, but cannot actually be used as such. We are sorry for this inconvenience.
Support for Slide Over and Split View
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. However, when talking about files in iCloud / iCloud Drive, two kinds of storage must be distinguished:
- Each app has its own file container in the iCloud Drive which it can access directly, like a local directory, if the user has enabled iCloud Drive for the app. When you long-tap a combination bank in the Combinations view, for example, and select "Move to iCloud", then the file will be moved from the local storage into this container. You can then access it from within other instances of the same app, running on other devices. But you cannot access it with other apps, not with the iOS Files app, nor with the macOS Finder.
- The other storage is the app-independent section of iCloud Drive. For example, to copy an audio recording file to this storage, long-tap the file in the Recordings view, select "Open In...", then "Save to Files" and "iCloud Drive". Files saved this way are accessible with the Files app on iOS, with the Finder on macOS and with a web browser at the icloud.com service. You can also give other people access to these files. There are sharing functions for this in the Files app on iOS as well as in the Finder on macOS.
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..." like described above.
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 Napo 4.10, the badge of the app icon, i.e. the red area at the top right of the icon, is used to display a countdown when the app is running in the background, so it can be seen that and for how long the app will continue to process MIDI messages and possibly create sound in the background. Otherwise it can easily happen to have several organ apps running in the background and not know why and whence a sound can be heard when a key is pressed.
During inactivity of the app (i.e. no sound) the countdown runs from 999 to 0 in a one second rhythm, which makes about 16 minutes, then it disappears and the app stops the processing. Whenever the app is used and creates sound, the countdown is reset to 999. When Audiobus is running, the countdown stays at 999 and the app is available for unlimited time, as recommended by the Audiobus guidelines.
To make this display possible, you have to give the app permission to display notifications. This can be done at the first start of the app and the respective inquiry of iOS, or later in the section Notifications of the device settings.
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.
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.
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 samplesets 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.
Some Links ⬆
- Hauptwerk, a highly sophisticated virtual organ software for macOS and Windows.
- GrandOrgue, free virtual organ software for Linux, macOS and Windows.
- 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.
- Aeolus, free virtual pipe organ for Linux that does not use samples but synthesis.
- Victorian Chapel Organ and St. Just in Roseland Organ, two iOS organ apps which employ synthesis instead of samples, too.
- iCathedral, an iPad organ app which has a focus on other functions than the Napo apps.
- http://people.xiph.org/~xiphmont/demo/neil-young.html, a nice article about sound quality and the human ear.