polaron.de Apps Overview Napo / Virtual Organ Apps

What is Rooms! ? The iOS AU reverb Audiobus and IAA
System requirements The Convolution reverb Background operation
Using the app The Settings view Impulse response handling
The Recorder view The User Presets views Known deficiencies
The Files view MIDI control Demo videos
2019-07-06: The convolution reverb is now free. You still have to perform the in-app purchase, but the price is 0. This in-app purchase will be dropped entirely in the next version of Rooms!.
2019-07-09: In Rooms! 6.2, the Convolution Reverb IAP is removed.
This text describes Rooms! 5.0 - 5.2 and 6.0 - 6.2. The manual for version 4.15 is still available here.
Shortcuts for installing prepared IR sets

If you are viewing this support page on your device and have Rooms! installed, then you can download and install the following prepared impulse response sets simply by tapping the links. Depending on your network connection, this may take some time. Mind the file sizes if you are on a cellular network.

van Saane http://polaron.de/Rooms/van Saane.irset 8.2 MB
Voxengo 1 http://polaron.de/Rooms/Voxengo 1.irset 1.8 MB
Voxengo 2 http://polaron.de/Rooms/Voxengo 2.irset 1.9 MB
Voxengo 3 http://polaron.de/Rooms/Voxengo 3.irset 1.6 MB
Voxengo 4 http://polaron.de/Rooms/Voxengo 4.irset 1.8 MB

In Rooms! 5.0, the keeping of user presets has changed. In past versions, they were stored in the user defaults, meaning that they got lost when the app was removed from the device. Now they are saved as files in the app's documents directory and as such can be moved to iCloud and shared with other devices. When you open Rooms! 5.0 or later for the first time, an automatic conversion of the presets takes place.

In Rooms! 6.1, the mechanics of the convolution reverb has changed, see here.

What is Rooms! ?

Rooms! is a free iOS application for recording audio and for adding reverb to audio files and to audio streams (Audiobus 2 and Inter-App Audio). Audio files can be uploaded to the app via iTunes File Sharing or by Document Interaction. With iOS 11 and Rooms 4.14 and later, you can also use the iOS Files app. Uploaded files, and files created by the app, can be shared by iTunes File Sharing, by Document Interaction or by e-mail. Two types of reverb are supported: Algorithmic reverb created by an iOS Audio Unit, where you can control all parameters of the reverb effect unit, and convolution reverb. Rooms! has a built-in audio recorder which allows you to save M4A/AAC or WAV files with various sample rates and bit depths and later add reverb to these files. Using playthrough, you can in realtime add reverb to the sound captured by the microphone or from an external sound source.

Possible applications:

For a perfect experience, earphones / headphones or external speakers are recommended. For the playthrough functionality with microphone input, earphones / headphones are mandatory, otherwise a feedback loop is formed.

Rooms! is free, but the convolution reverb of the free version is restricted to the integrated demo impulse responses. You can use other impulse responses only after in-app purchasing the item "Convolution Reverb".

With version 4.15 and later, it is possible to control some functions of Rooms! by MIDI commands, see below.. This is another in-app purchase "MIDI Control".

System requirements

Up to version 5.2, Rooms! runs on all iOS devices (iPhone, iPod touch, iPad) with iOS versions ≥ 5.1.1.

Starting with Rooms! 6.0, due to App Store and Audiobus 3 requirements, the minimum target system is iOS 9.3.5.

Audiobus, IAA and iCloud support are available on iOS versions ≥ 7. Slide Over and side-by-side view support is available on iOS versions ≥ 9 and iPad Air 2 or better.

For using convolution reverb in realtime, at least an iPad 4 or iPhone 5 is recommended. Impulse responses that are too long will lead to reduced sound quality or even to stuttering or missing sound. You can try the suitability of your device with help of the free demo mode and the included demo impulse responses.


Rooms! supports the following languages:

Privacy Policy

This is the privacy policy declaration required by Apple: Privacy Policy of Rooms!

Using the app

Rooms! is built of five main views, each of which can be selected by the tab bar at the bottom of the screen. The icons, by the way, are elements of Jan Kovařík's GLYPHICONS library:

The views and their usage shall be explained below in more detail.

In all of the main views there is a microphone button in the top left. This button activates the playthrough mode, i.e. audio in (microphone or external sound source) is directly routed to audio out, but with added reverb if you select "iOS AU" or "Convolution" in the Parameters view. While playthrough is active, the microphone gets a red color.

When using microphone input, please activate playthrough only with earphones or headphones, because otherwise you create a feedback loop and get ugly high-pitched noise. We are not liable for damage done to your ears or speakers. When you unplug the headphones while playthrough is active, the playthrough mode will be terminated automatically.

The Recorder view

This view has a single button, named Start, which serves for starting a recording, and buttons to select the file format, the sample rate, the bit depth and the channel mode for the recording:

The recorder supports the creation of compressed AAC (Advanced Audio Coding) and uncompressed WAV files.

The supported sample rates are 8, 16, 22.05, 44.1, 48 and 96 kHz. However, this does not mean that the audio will be captured in the requested quality, in particular if you are using the device's internal microphone. Furthermore, the capture sample rate will probably be not higher than the current hardware sample rate of the device, which you can see at the bottom of the Settings view. If you select 48 kHz or 96 kHz, but the hardware sample rate is 44.1 kHz, then the audio data of the file will just be upsampled from 44.1 kHz or whatever the microphone or sound source deliver. Whenever the recording sample rate and the current hardware sample rate differ, the app displays a warning at the top of the Recorder view, because this means an additional resampling process that can reduce the quality of the sound data.

The bit depths are 8, 16 and 24 bit for integer and 32 bit for floating point uncompressed WAV files. For AAC, this setting has no meaning.

The channel mode is Mono or Stereo. Again, selecting Stereo does not give a true stereo file if your microphone or sound source delivers a mono signal. You will just get a file with two identical channels. Only if you connect a stereo microphone or stereo sound source, you will get a real stereo file.

AAC offers good sound quality and requires significantly less SSD space than uncompressed WAV. The setting 44100 Hz / 16 bit gives a frequency range and dynamics that comfortably exceed what your ears can perceive and hence is fine for recording music. A lower sample rate means that you loose high frequencies. With a lower bit resolution you can still record the same frequency range, but it gives a lower signal / noise ratio. For voice messages, 8000 Hz / 8 bit / Mono are good enough and result in smaller files. Use WAV format and 44100 or 48000 Hz and 24 or 32 bit for recording sound that you intend to postprocess or use as an impulse response (see later).

You have to set the parameters before you start the recording. As soon as you tap the Start button, the recording begins and the view displays the buttons Pause, Cancel and Finish. Starting with version 5.2, you can, in the Settings view, set the recorder to a single-button mode where there is only one button which alternates between Start and Finish. This is useful for operating the recorder without looking at the screen, in particular when you use it with the audible recorder confirmations which, too, are new in version 5.2 and can be configured in the Settings view.

While the recording is performed, you can observe the number of elapsed seconds, which is also displayed at the icon of the Recorder view. By tapping the bar graph icon, you can activate a two-channel peak meter. The channels are displayed at the left and the right side of the view:

The usage of the buttons Pause, Cancel and Finish is obvious. Only after you press the Finish button, the recording will be saved to the documents directory and can be seen in the Files view. For the recording's name, you can enter a base name and let it be prefixed or suffixed either with the date or with a counter. The file name pattern is displayed at the lower left of the Recorder view and can be changed after tapping at the text. Of course you can later change the name in the Files view, see below.

The behaviour when a recording is finished can be configured in the Settings view. You can advise the app to either stay at the Recorder view or automatically switch to the Files view and select the recording file.

The behaviour when you cancel a recording can be configured as well in the Settings view. You can choose that cancelled recordings will be deleted or be saved. In the latter case, you can see the files in the section Cancelled Recordings of the Files view. You can later decide if you would like to restore or really would like to delete a cancelled recording.

Furthermore, a recording in progress is not neccessarily lost in case of a system crash. At the next start of Rooms!, the app will see the unfinished recording file and ask if you would like to recover it. Note however that this file will be incomplete and structurally broken. You need an external audio file tool to repair it.

To ensure you don't loose any data in case of an incoming phone call, in this situation the recording is being finished and saved.

The Files view

The Files view is built of up to four sections, each of which shows the files of a certain type and exists only if there are any files of the respective type. The specifics of each of the four sections will be described below.

At the top right of the Files view there is an action button, which opens a selector for the type of operation: Sorting, Copying/Importing, Deleting and iCloud.

When you select Sorting, you will be presented another menu with the entries by date, by length, and by name, furthermore by date, reversed etc. The meaning of these options is obvious. The currently selected sorting method is marked with a hook. This setting affects only the Audio Files section. Cancelled recordings are ordered by date, impulse archive files and image files are ordered by name.

Copying/Importing gives you a menu with two entries:

Deleting opens a menu with deletion actions:

Finally, selecting iCloud gives you the option to move all audio files from the device to iCloud or vice versa.

Now we come to the specifics of the four sections of the Files view.

Audio Files section

This is a list of all audio files in the app's documents directory, whether they were created by the app's audio recorder, uploaded by iTunes File Sharing, imported from the media library, or handed to the app by Document Interaction.

Rooms! supports iCloud to make it easy to share files with your other iOS devices. When you enable iCloud for Rooms! in the device settings, you see an icon to the left of each audio file which indicates if the file is stored locally (iPhone symbol) or in iCloud (cloud symbol). The action menu that you get by long-tapping a file has an entry for moving the file from the device to iCloud or vice versa.

When you select an audio file, you get play controls at the bottom of the view and volume controls either at the left or at the bottom of the view (the location is configurable in the Settings view). Tap the file again to deselect it. When an audio file is selected, the slider shows the playing position and can be moved to jump to a different position. You can also long-tap the time display and enter the number of seconds. During playback, the label in the tab bar shows the elapsed time:

If you have activated reverb in the Parameters view, then when you select a file in the list, reverb will be added when you play this file. However, when you select a file whose name has the suffix "+ Reverb", the app will deactivate the reverb.

The behaviour is this way because the suffix "+ Reverb" is appended by the Copy with reverb function, which shall be described shortly. However, if you would like to add a second layer of reverb, you can, after selecting the file, still reactivate the reverb in the Parameters view.

When you later select a file that does not have this suffix, the app will restore the previous state. I.e. when reverb was / was not active before you selected the file with the suffix, the reverb will / won't be active when you later select a file without the suffix.

Deactivated reverb is indicated by "‐" as the icon of the Parameters view:

You can delete an audio file by swiping its entry to the left. By long-tapping you select the file and get an action menu with a subset of the following options:

If a files is being used for a Sounding Preset, then this is indicated by a button symbol before its name:

You will get a warning when you try to delete a file of this kind. When you rename an audio file, all affected presets are modified automatically.

Cancelled Recordings section

Because it may happen that you cancel a recording by accident, or cancel it by intention but decide later that it was not so bad after all, we thought it would be a good idea to preserve the files in the first instance. Remember, however, that cancelled recording are kept only if the appropriate option in the Settings view is set.

The action menu that you get by long-tapping a cancelled recording has options to play the recording, to restore it to the Audio Files section, to rename it, or to move it from the device to iCloud or vice versa. Swipe to the left to delete a cancelled recording.

Impulse Response Archives section

The Files view does also serve for managing impulse response archives in the app's documents directory. An impulse response archive is a zip file with extension zip or irset, containing impulse response files. You can use iTunes File Sharing to transfer impulse response archives. You can also use the Download zip archive function that you find in the action menu of the Convolution tab of the Parameters view. Or you can use Document Interaction, for example by long-tapping e-mail attachments or tapping a suitable link in a web page. Again, you can share IR archives with your other iOS devices by iCloud.

As usual, you can delete a file by swiping its entry to the left, while long-tapping opens a menu to unpack the archive to the impulse response library, as well as the usual rename etc. functions. Even when you have unpacked an impulse response archive, it is a good habit to preserve the archive in the documents directory. This helps keeping the impulse response library tidy. If you don't need an impulse response set, you can delete it from the library and possibly re-install it later by unpacking the archive once again.

Image Files section

This section shows image files that you have uploaded to the app with any of the common methods or (in Rooms! 5.2 and later) taken with the camera or imported from the photo library. The images are intended to be used as button images for the presets grid view that is new in version 5.0 of Rooms! (see below for a description of this feature). For example, images of guitar amplifiers would be appropriate if you use Rooms! for cab simulation.

The Fender Guitar Amplifier image in this screenshot is a Wikimedia Commons preview file, see commons.wikimedia.org.

Image files that are linked to a preset (see User Presets) are handled like audio files that are used in a Sounding Preset, i.e. they are marked with a button image, they can be deleted only after a warning, and renaming leads to an automatic modification of all affected presets.

The Parameters view

In this view you can select the reverb type:

The available settings are:

The iOS AU reverb

This is an algorithmic reverb created by an iOS Audio Unit. There are seven sliders to control the reverb:

You can operate the sliders while a file is playing in the Audio Files view or while playthrough is active, and the change will take effect immediately. If you would like to enter a specific numeric value, you can do this after long-tapping a parameter name. Tapping the Random button gives random values to all parameters. The parameters Dry/Wet and Gain are exempted from the randomisation.

If you discover a parameter combination that you would like to remember, then you can save it as a user preset by tapping the Save button. When there are iOS AU user presets, the view offers the button User Presets to load the parameters of a user preset. There is also a button Factory Presets to load any one of the five factory presets:

The Convolution reverb

This is real convolution reverb, not just a half-hearted mix of early reflections and algorithmic reverb. You are presented a list of available impulse responses. The free version of Rooms! allows you only to use the included demo impulse responses which you can access after selecting the Create Demo IR set entry of the action menu. To select an impulse response (IR), simply tap its name. The selected IR is marked by a checkmark. If you tap the selected IR again, it gets deselected.

Impulse responses are organised in impulse response sets. The IRs of the free app are subsumed in the IR set "Demo", which can be created by tapping the corresponding entry of the action menu at the left bottom of the view. These are four short IRs of Fokke van Saane (see below) which allow you to test the suitability of your device to act as a cabinet simulator (short IRs, short audio buffer sizes for low latency), and four longer IRs of simple geometric rooms whose purpose is to let you check your device's capability to create reverb (long impulse responses, longer audio buffer sizes). When you purchase the convolution reverb, you can upload and use more interesting IRs.

The IRs of the Demo set are free. You are allowed to use them for any purpose, without any restrictions. If you would like to use one of these IRs outside of Rooms!, then copy the IR to the documents directory (there is a menu entry Copy to Audio Files in the action menu that you get after long-tapping an IR). In the Audio Files view, you can export the IR file by E-Mail or by Open In.... You can also download these files directly from polaron.de: Small Square.wav, Large Triangle.wav, Large Square.wav, Very Large Octogon.wav.

Technically, an IR set is just a subdirectory of the subdirectory ImpulseResponses of the app's Library directory. The IR set list view shows the names of these subdirectories and all sound files in the respective subdirectory and its nested subdirectories.

The "+" icon at the top right of the view is for creating a new, empty IR set. This and the options Copy to other IR set and Move to other IR set in the IR context menu (which you get after long pressing an IR entry) help when you have many impulse responses and would like to organise them in a certain way. The context menu also allows you to rename an IR or copy it to the documents directory (so it can be seen in the Files view). An IR can be deleted by swiping to the left.

Left to the name of each IR set there is an action button. Its action menu has options to show the description file, the comment file and the license file of the IR set (if these files exist), to rename the IR set, to delete the IR set, and to export it as an archive (see below).

Convolution is a computationally rather expensive mathematical operation. The convolution engine of Rooms! works with FFT (Fast Fourier Transform). It uses all processor cores in versions < 6.0 and, thanks to speed optimisations, just two cores in versions 6.0. More optimisations made it feasible to limit the processing to one core, so for version 6.1 we decided to abandon parallel operation in favor of better cooperation with other apps. Rooms! employs vector operations to achieve the highest possible throughput. Offline reverberation (Create copy with reverb in the Files view) is usable on all devices, but to be able to process juicy impulse responses in realtime (i.e. playing a file while adding reverb, using the playthrough function or using Rooms! as an Audiobus filter or IAA effect) you need the fastest available devices.

Dropouts of the sound are a no-no. It is better to accept a downgraded reverb quality than to get stuttering sound or dropouts. If Rooms! is not able to complete the calculation in time, then the convolution operation will be terminated prematurely. Starting with version 6.1, the allowed time can be configure in the Settings view. When a timeout happens, this means a loss of reverb quality, which is indicated by a yellow warning triangle:

In Rooms! versions before 6.0, this warning was displayed above the tab bar and tool bar. Starting with version 6.0, it is shown at the right of the tab bar. Due to the limited space, it is placed on top of the Settings button if the app is running on iPhone. Do not worry – the Settings button can still be used.

The convolution reverb can deal only with audio buffer sizes that are a power of 2. Depending on the settings, on the device model and on connected audio hardware, it may happen that the audio callback is using odd buffer sizes. In this case a warning is displayed which indicates the requested number of frames:

Usually, this situation is only temporary, for example when audio hardware is being attached or detached, or it happens when sample rate conversions are done in an IAA or Audiobus setup. It is advised to keep the values of Preferred HW Sample Rate and Preferred IO Buffer Duration in the Settings view at the selection Sys to reduce the risk of getting odd buffer sizes. If you still happen to get this problem, you can try to switch the sample rate to some other value and then return to the Sys setting. Usually this will remedy the situation.

Rooms! measures the time needed to calculate the convolution. When you select Show convolution time in the Settings view, you get a milliseconds display at the icon of the Parameters view (if convolution reverb is activated):

Version ≤ 6.0: The displayed value is the average time needed for the 'tail' processing that is done concurrently to the audio thread. The 'head' processing that is done inside the audio callback is much faster and negligible compared to the 'tail' processing.

Version ≥ 6.1: No concurrent processing is done anymore. The displayed value is the maximum time needed for a complete run of the convolution reverb function.

Again, there is a Save button in the bottom right of the view, which lets you create a preset from the currently selected IR.

Furthermore there is an action button in the bottom left of the view, which opens an action menu with the following entries:

Here you can select whether the IRs within an IR set are displayed sorted by file date, by file length, or by name. To install the included demo impulse responses set, select Create Demo IR set. This does not need network access, and if you have deleted some or all of the demo files, you can install them again at any time.

When you have purchased the convolution reverb, you can also download impulse responses from within Rooms!. There are two ways to do this.

One option is to download zip archives. After tapping Download zip archive, enter or paste an HTTP address of a zip file. The file name needs to have one of the extensions zip or irset.

The app has no safe way to detect whether an entered address contains escaped characters or not. Hence an unescaped address is assumed, and the app cares for doing the transformation when it creates a download URL. If the downloaded file is suprisingly short and cannot be unpacked, then maybe you have typed an address with escaped characters and downloaded an error page.

This is an unsatisfactory state, and typing or copying/pasting HTTP addresses is inconvenient, anyway. As there are nowadays other options to download files from the internet into Rooms! (tapping a link in Safari; using the Files app), we are considering to drop this internal download functionality altogether.

The other method is file-by-file download of IR sets by tapping Download IR set. We have prepared IR sets with impulse responses of Fokke van Saane and of Voxengo so you can download and install them with a few taps. We would like to point out that we are not selling these impulse responses. They are available for free at http://fokkie.home.xs4all.nl/IR.htm and http://voxengo.com/impulses/, respectively. We only offer you a convenient way to install the IRs so you don't need to import them manually.

Fokke offers only some of his IRs in WAV format. We used Audacity to convert some of the others. For the case you would like to use the converted IRs with software other than Rooms!, download http://polaron.de/Rooms/van Saane.irset to an empty directory on your PC or Mac, replace the suffix "irset" by "zip" and unzip the file. Like Fokke's files, the converted files are freeware.

The impulse responses of Fokke van Saane are recordings captured with a microphone in real rooms, including funny setups like a vacuum cleaner tube or a bathtub. You can create IRs like this yourself, for example with the audio recorder of Rooms! and a good external mic (use Audacity or another sound editor to postprocess the files). The Voxengo IRs on the other hand were designed with Voxengo's Impulse Modeler software. Creating IRs by software has the advantage that you can model any room geometry, real rooms as well as rooms that exist only in your imagination, and you can simulate arbitrary positions of the sound source and of the listener. Besides that, other than microphone-captured IRs, modelled IRs are free of noise. The larger Demo IRs were created with the Voxengo Impulse Modeler, too.

When you select Download IR set in the action menu, you are asked for an HTTP address. The field is pre-filled with the address polaron.de/ImpulseResponses/. This is the place where we have prepared the above-named IR sets, and where you can also download the Demo set if you have deleted it from your device. Before you download a set you are offered to view the description file, the comment file and the license file of the set. When you select a Voxengo set, for example, the license file looks like this:

When you install many IR sets, the IR table can get quite long. The index at the right side helps to speed up the navigation. Just tap the name of an IR set to scroll to its impulse responses:

The button Tweak can be used only if you have purchased Convolution Reverb. There are following parameters to fiddle around with:

Reset sets all convolution parameters to their default values, which are Stereo, 100% wet and no manipulation of the impulse response.

Starting with version 6.0, the Tweak button is coloured red when the parameters are different from their default values, which is particularly helpful when you work with a Dry – Wet setting of 0% at some point and then forget about this and later wonder why there is no reverb.

Convolution reverb changes in version 6.1

The computation of convolution reverb in Rooms!, which has previously used concurrent processing and distributing of work to several CPU cores, has undergone considerable changes in Rooms! 6.1

The User Presets views

This is the area where the most changes happened in Rooms! 5.0 compared to the previous version 4.15. Up to 4.15, the User Presets view was just a list of presets that could be installed by tapping, renamed or deleted. Starting with 5.0, there are now actually two presets views, a list view and a grid view. You can toggle between these two views by tapping at the User Presets toolbar icon.

Furthermore, as the presets are now stored in files, they can be moved to iCloud. Attention: For Sounding Presets, and for presets that refer to images (as decorations of preset buttons in the User Presets grid view), you also need to move the corresponding audio and image files to iCloud if you would like to use these presets on another device.

The User Presets list view

This view is still extremely simple. It is just an alphabetical list of the reverb presets that you have saved by tapping Save in the Parameters view or by selecting Create Sounding Preset for an audio file in the Files view. Long-tap to get an action menu with the following options:

Furthermore, there are the usual iCloud options, and you can swipe to the left to delete the preset. Simply tap an entry to load the preset. For a Sounding Preset, this starts a playback of the corresponding audio file. If the Sounding Preset includes reverb parameters, then beforehand these reverb parameters are installed, but only if no other Sounding Preset is already playing. While Sounding Presets are playing, the top left of the view shows a stop sign. As you might have expected, you can finish the playback by tapping this button.

Presets whose reverb settings coincide with the currently activ settings are indicated with a checkmark. The detail text of each preset shows information about the reverb parameters (if the preset contains reverb settings), the linkage to an audio file (if the preset is a Sounding Preset), the label and image for preset buttons (if these are set), and the MIDI control configuration of the preset (if MIDI is activated in the Settings view and the preset has MIDI control information:

The User Presets grid view

To use the functionality of this view, you need to perform the in-app purchase "Preset Buttons".

The User Presets grid view can hold any number of pages, where each page is built of a 3×3 grid. The user can place preset buttons at the positions of these grids. Browse through the pages by swiping horizontally. The view title gives some orientation about the current page. For example, the title ○○●○ means that there are four pages, the third page being current. The action menu at the top right of the view offers the possibility to add more pages and to remove the current page.

The following must be understood: In this view you do not create presets, but you create buttons for existing presets. More than one button can be created for the same preset, on the same or on different pages. Removing a button does not delete the preset. However, the button data is stored in the preset. Consequently you cannot create two buttons with different labels or images for one preset. Instead, you need to create two presets, each with its own label or image, and then use one preset for one button and the other for the other button.

If you work with several devices and create a button on device 1 with preset A and a button on device 2 with preset B, both at the same position, and then synchronise preset A and B via iCloud, then you get a situation where two buttons are placed at the same position. It is undefined which button will be displayed in this case, so better avoid to do this.

At the beginning, there are no buttons defined. Grid positions with undefined buttons have a dashed border:

Tapping or long-tapping an empty grid position gives you an action menu for adding a button at this position by selecting a preset. Tapping a button loads its preset, long-tapping a button lets you remove this button.

The look of a button depends on its preset's properties:

Buttons with presets whose reverb parameters match the currently active reverb are displayed with a red border.

For Sounding Presets, the behaviour is as described in the User Presets list view: Reverb parameters get established only when no other Sounding Preset is playing, and while Sounding Presets are playing, there is a stop button in the right top of the view that lets you finish the playback at any time.

Starting with Rooms! 5.1, there is an expansion button in the bottom right of the view. This is for changing to full screen mode which shows only the preset buttons and a contraction button for returning to the normal view. There is no edit functionality in the full screen mode and no pages display at the top, but you can still swipe horizontally to change pages. The full screen mode is not allowed during recording.

The Settings view

In this view you can set some parameters that control the operation of the app:

Keep the value Sys for the preferred hardware sample rate and for the preferred IO buffer duration if you do not want to change the system's current settings. It is also better to keep the Sys values if you would like to use the app with Audiobus or Inter-App audio. For example, if you start Rooms! before Audiobus, set the preferred hardware sample rate to a value different from 44.1 kHz, start a file playback or activate playthrough in Rooms! and then start Audiobus, then Audiobus will fail to connect to Rooms!.

For the preferred IO buffer duration use a value that corresponds to 1024 or even 2048 or 4096 frames when latency is not an issue. Use smaller values when you need fast response. This reduces the latency but means higher computational demand. The sound may drop out if your device is not fast enough.

At the bottom of the view you see the current hardware sample rate (in Hertz) and buffer size (in frames and in milliseconds). This sample rate and buffer size, usually 44100 Hz and 1024 frames, is used by iOS when it asks the app for audio data, hence for playing audio files and for the playthrough mode. Some apps, like Audiobus or GarageBand, change this to 512 or even 256 frames. Again, low buffer sizes can lead to stuttering sound, even if you don't actually use Rooms! with Audiobus or with GarageBand or other IAA-capable apps.

At the top of the view there is an action button. The action menu offers the options to display a short info about the app, to view the available in-app purchases, and to open the app support page in Safari. Furthermore there is an option to display the app's log, which collects up to 10 of the latest messages of the MIDI system as well as messages related to in-app purchases. You can close the log display by tapping it. In normal operation, the log display is opened automatically whenever a new entry is added (e.g. when you connect a MIDI device) and closed automatically shortly after.

Starting with Rooms! 5.2, there is also a menu entry Edit Access Rights. This takes you to the iOS settings page where you can edit the permission of the app to access the camera (for taking images for preset buttons), the microphone (for recording and playthrough), the media library (for importing audio files) and the photo library (for importing photos as images for preset buttons).

MIDI control

When you have purchased MIDI control, you can operate the following functions of the app by MIDI messages:

Defining MIDI controls for preset selection is done in the User Preset view, as mentioned above. The audio recorder functions and iOS reverb parameters, on the other side, are handled by the MIDI Control view, which you get by tapping the Configure button in the Settings view. The MIDI Control view also serves for selecting the supported MIDI paths:

There are four ways to receive MIDI messages:

Below the Supported MIDI paths section there is a section Recorder control and a section iOS reverb parameters. After tapping a Learn button for a recorder control you can operate a key of a MIDI keyboard or another switch that sends MIDI note or program change messages to connect this switch to the respective recorder function. In case of a reverb parameter, you have to operate a MIDI controller. The detail text of each entry shows the current state. Entries for which a MIDI control was defined have a cross button besides the Learn button. This is for deleting the respective control definition.

Audiobus support

On iOS 7 and later, Rooms! can be used as an Audiobus filter to add reverb to audio streams. Following the Audiobus philosophy, the user does not need to configure anything inside Rooms! to enable this, but uses the Audiobus app in the well-known way to add Rooms! to an Audiobus processing path. When Rooms! is operating as an Audiobus filter, you cannot use its playthrough function – you will get a warning if you try to. All other functionality of Rooms! is available in this mode.

Rooms! supports Audiobus state saving. When you create a new preset in the Audiobus app, or update an existing preset, the parameters of the current reverb configuration are saved in Audiobus as they would be saved in a Rooms! user preset. This also allows you to share the parameters of an iOS AU reverb setting with the Audiobus community. It does currently not include the sharing of impulse response files, though.

Inter-App Audio support

Rooms! has basic IAA support and can act as an IAA effect. In this mode, the IAA host's icon is displayed at the bottom left of the screen:

Tap this icon to change to the IAA host app.

Starting with version 6.0, the host icon is displayed at the left of the tab bar, which in case of iPhone means it is on top of the Recorder icon. As you are not supposed to use the internal audio recorder of Rooms! during IAA operation, we do not see a problem in this.

Background operation, access to microphone

Rooms! does normally deactivate its audio session when the app is sent to the background and in consequence gets suspended by iOS. There are however a number of situations where the audio session is kept active:

In any of these cases, Rooms! stays running in the background, which is signalled by a red status bar. This signal cannot be suppressed; it is a means of iOS to protect your privacy by pointing to the fact that an app with the audio session category AVAudioSessionCategoryPlayAndRecord is active in the background, which could potentially be recording the microphone input. The signal is given even if the app is not actually in recording state. The only way to get rid of the red status bar would be to change the category to AVAudioSessionCategoryPlayback, but unfortunately an iOS bug prevents this. You can read about this issue here and here. Rest assured that Rooms! does not capture microphone input unless you tap the Start button in the Recorder view. On iOS 7 and later, you can use the device's privacy settings to prevent Rooms! from accessing the microphone (in the Settings app of your device, go to PrivacyMicrophone and deactivate the switch for Rooms!). In this state neither the audio recorder nor playthrough functionality can be used – you will get a warning when you tap Start in the Recorder view or tap the microphone icon.

Avoid keeping Rooms! active in the background when you don't need this. This consumes processing power that might be missing for other apps, and of course it is a waste of battery energy.

Impulse response handling

There are various ways to transfer IRs and IR sets to or from your device. One way to transfer IRs is via the documents directory of Rooms!, the contents of which you see in the Files view. Audio files can be transferred to the documents directory by iTunes File sharing or by Document Interaction. They can be exported from the documents directory in the same way. To use Document Interaction, long-tap on a file name and select Open In....

Next, you can copy audio files from the Files view to the User IR set. You can either copy single files (long-tap the file name and select Copy to impulse responses) or bulk-copy short files (action menu in the bottom left of the view). There is also the other way around: You can copy IR files from the Convolution tab of the Parameters view to the Files view (long-tap the IR file name).

Rooms! also supports importing and exporting IR sets as zip archives. A zip archive must have the file extension irset or zip to get accepted by Rooms!, meaning that Rooms! will be offerred as a handler application whenever you long-tap an irset or zip file, be it an impulse response archive or not. You can submit irset or zip files to Rooms! for example via e-mail attachments, via Dropbox, by clicking a link in a web page or by Document Interaction in any app that supports this (like the Files app in iOS 11). If you are right now viewing this page with Safari on your iDevice, and Rooms! is installed on the device, then you can use the links at the shortcuts section to install the corresponding IR sets.

Furthermore, Rooms! can create zip archives from its installed IR sets: Select Create zip Archive in the action menu of an IR set X. Then the files of the IR set will be zipped to an archive file named X.zip in the app's documents directory. Change to the Files view to process the file further (e.g. with Open In... to give it to another app).

Even if you see just a flat list of impulse responses, an IR set that was imported from an archive can contain a hierarchy of subdirectories, and non just audio files, but other files as well. Create zip Archive creates an archive of the complete directory tree of an IR set.

Finally, a collection of IR sets can be offered on a web server for download by the app's Download IR set function (action menu in the bottom left of the Convolution tab of the Parameters view). This needs a description file ImpulseResponseSetList.txt and for each IR set a description file ImpulseResponseSetDescription.txt. The details are explained below. The advantage of this method is that the user can inspect the description file and, if present, the comment file and the license file, before downloading the IR set.

IR set format for http download

In Rooms! versions before 3.2, http download file-by-file, as described in the following, was the only way to distribute IR sets. In fullfilment of user wishes, Rooms! 3.2 introduced the importing and exporting of IR set archives. As the archive distribution is easier, we are considering to drop support for the old method in a future versions of Rooms!.

As another way to distribute impulse response sets, you can place the files in a directory on a web server. This directory, for example http://polaron.de/ImpulseResponses/, has to contain a text file named ImpulseResponseSetList.txt which lists the available IR sets. For example the file http://polaron.de/ImpulseResponses/ImpulseResponseSetList.txt looks like this:

Impulse Response Set:van Saane
Impulse Response Set:Voxengo 1
Impulse Response Set:Voxengo 2
Impulse Response Set:Voxengo 3
Impulse Response Set:Voxengo 4

For each IR set there has to be a subdirectory of the same name. For example http://polaron.de/ImpulseResponses/ has subdirectories Demo, van Saane, Voxengo 1, Voxengo 2, etc.

Each IR set subdirectory has to contain a text file named ImpulseResponseSetDescription.txt. To explain the format we again take an example. http://polaron.de/ImpulseResponses/Voxengo 1/ImpulseResponseSetDescription.txt looks like this:

Impulse Response:Five Columns Long.wav
Impulse Response:Five Columns.wav
Impulse Response:French 18th Century Salon.wav
Impulse Response:Going Home.wav
Impulse Response:In The Silo Revised.wav
Impulse Response:Narrow Bumpy Space.wav
Impulse Response:Nice Drum Room.wav
Impulse Response:Parking Garage.wav
Impulse Response:Rays.wav
Impulse Response:Trig Room.wav

The version and date information is currently not used by the app, but it can help the user to see if the offered IR set is newer than a version downloaded in the past.

The label Comment: (if present) defines the name of a comment file which gives some general information about the IR set. In the given example, we have created this file when we constructed the IR set from Voxengo's files.

The label License: (if present) defines the name of a license file which states the usage conditions of the IR set. In the given example, this is the original, unaltered license file of Voxengo.

The other entries define the names of the IR files. All listed files have to be within the IR set subdirectory. All text files are supposed to be UTF-8-encoded.

Known deficiencies of the application

The first mention of a bug does not mean that is new in the respective version of Rooms!. Earlier versions can be affected as well.

Rooms! 1.0 (2013-04-26):

Rooms! 1.1 (2013-05-10):

Rooms! 1.2 (2013-05-18):

Rooms! 2.0 (2013-05-31):

Rooms! 2.1 (2013-06-28):

Rooms! 2.2 (2013-09-17):

Rooms! 2.3 (2013-09-26):

Rooms! 3.0 (2014-01-06):

Rooms! 3.1 (2014-01-22):

Rooms! 3.2 (2014-02-17):

Rooms! 3.3 (2014-03-06):

Rooms! 3.4 (2014-03-28):

Rooms! 3.41 (2014-04-02):

Rooms! 3.50 (2014-08-20):

Rooms! 4.0 (2014-08-28):

Rooms! 4.1 (2014-09-27):

Rooms! 4.2 (2014-11-25):

Rooms! 4.3 (2015-02-20):

Rooms! 4.4 (2015-02-27):
Rooms! 4.5 (2015-03-23):
Rooms! 4.6 (2015-07-30):

Rooms! 4.7 (2015-09-12):

Rooms! 4.8 (2015-10-14):
Rooms! 4.9 (2016-03-14):

Rooms! 4.10 (2016-04-18):

Rooms! 4.11 (2016-12-12):

Rooms! 4.12 (2017-01-08):

Rooms! 4.13 (2017-05-16):

Rooms! 4.14 (2017-09-25):

Rooms! 4.15 (2018-01-23):

Rooms! 5.0 (2019-02-13):

Rooms! 5.1 (2019-03-14):

Rooms! 5.2 (2019-03-27):

End of support for iOS 5 (iPad 1, iPod touch 3g) because of App Store requirements.

End of support for iOS 6 (iPhone 3GS, iPod touch 4g) because of App Store requirements.

End of support for iOS 7 (iPhone 4) because of Audiobus 3 requirements.

End of support for iOS 8 as there are no devices that can run iOS 8 and cannot run iOS 9.

Minimum supported iOS version is now iOS 9.3.5.
We cannot anymore fix bugs on earlier iOS versions and hence these will stay.

Rooms! 6.0 (2019-06-08):

Rooms! 6.1 (2019-07-02):

Rooms! 6.2 (2019-07-09):

Demo videos

Auguste Larriu, Antienne, played with Wersi OX7 YouTube
Nicolas Lebègue, Duo du 4e (ton), played with Wersi OX7 YouTube