polaron.de Apps Overview Napo / Virtual Organ Apps



What is Rooms! ? The iOS AU reverb Audiobus, IAA, AUv3
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
This text describes Rooms! 5.0 - 5.2 and 6.0 - 6.7. The manual for the current version is available here. The manual for version 4.15 is still available here.

If you experience problems with previewing the content of zip files in the Files app, then please read here.

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.

New in version 6.4: Rooms! now allows employing the convolution reverb as an audio unit extension. There is a separate documentation for this AUv3 functionality. Using the convolution reverb in the app itself, via IAA or as an Audiobus app, is free. The AUv3 extension is an in-app purchase.

As a quick start for convolution users (in-app or via AUv3), there is now a separate page that details how to install impulse response files.

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, Audiobus 3, Inter-App Audio, AUv3). 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.

With version 4.15 and later, it is possible to control some functions of Rooms! by MIDI commands, see below.. This is an 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 of the app is iOS 9.3.5. The embedded AUv3 app extension needs iOS 10.3.3 or later.

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 included demo impulse responses.

Localizations

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, with your Mac, or with other apps. When you enable iCloud Drive 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 via iCloud. For more details about impulse response file management, see here.

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

If you would like to read some general explanations about convolution reverb, please have a look at About Impulse Responses and Convolution.

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. 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. Additionally to the above description of the Impulse Response Archives section of the Files view, see here for an explanation of how to get impulse responses into the library. There are a few demo IRs 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). 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.

Ideally, the impulse response files are located in the top folder of the impulse response set. However, it can happen that you get a zip file which contains impulse responses in some directory hierarchy. Rooms! copes with this case by showing the relative directory path instead of the name of the impulse response. You can use impulse reponses in nested directories as usual. However, you cannot edit directory hierarchies. If you copy or move an impulse response to a another IR set, it will always be placed in the top folder of the other set.

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 a zip archive. Note that, 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.

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.

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, using a format which is explained here. 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. 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 offer the 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.

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.

AUv3 support

Starting with version 6.4, Rooms! exposes its convolution engine as an audio unit. You can use this feature on iOS 10.3.3+ after performing the corresponding in-app purchase. The user interface of the audio unit is explained here.

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.

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):

Rooms! 6.3 (2019-08-05):

Rooms! 6.4 (2019-08-26):

Rooms! 6.5 (2019-09-04),
Rooms! 6.6 (2019-09-19),
Rooms! 6.7 (2020-01-08)

Demo videos

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