Orinj version 3.0.0
The following is a list of the known issues in the current version of Orinj.
The following are MIDI related issues.
- Orinj cannot change MIDI devices. To do so, you must change the default MIDI device of your operating system. In Windows, for example, you can do that through the Sound control panel.
- The current version of Orinj does not support all MIDI controllers (see MIDI Controller message). You can, for example, add controllers for volume and pan, but you cannot add one for a legato.
- The MIDI files created with the Orinj MIDI roll view do not contain volume, pan, program change, and similar controllers for each channel. If these are not set, the playback MIDI device can use some set of default volume, pan, instrument, and other values or ones that were selected before, when another file was played. The user can add such controllers to each channel, if needed.
The following are issues related to the playback and recording of wave files.
- Orinj supports various sampling resolutions, including 24-bit and 32-bit wave files. Java on Windows, however, does not support 24-bit and 32-bit playing and recording. For example, when reviewing your device capabilities, Orinj may show that your soundcards do not support 24- and 32-bit audio data, when in fact they do. The 24-bit and 32-bit capabilities of soundcards should be accessible on Linux and Mac.
- Orinj will convert 24- and 32-bit audio data sent and received from your soundcard to 16-bit data, although Orinj will not convert or otherwise change the 24-bit and 32-bit wave files. This means that the dynamic range of recordings may not be any better with a 24-bit session than with a 16-bit session. This said, if you do use a 24-bit or a 32-bit session, most of the internal processing of the audio data will be done in 24 or 32-bit respectively. This includes mixing and effect processing.
- It is also worth noting that 8-bit recordings will contain noise. This is due to the natural limits of 8-bit PCM data. With 8 bits, a sound sample can take at most 256 values – the values between 0 and 256, since by convention 8-bit PCM sound data is unsigned. Here, the "zero" of the signal will be 128 and the maximum peak amplitude of the signal will be 128 as well. When an analog signal is digitized with an 8-bit representation, values are rounded. If, for example, the value of the analog signal at a specific sample is 35.6, this value may be recorded as 35 or 36, depending on the digitizing equipment. This is a quantization error that may be as low as 0 or as high as 0.5. The signal to noise ratio due to the quantization then, in decibels, is 20 log10(0.5 / 128) = 48 dB. This means that the noise will be audible.
- If the user chooses large playback buffers (see Orinj Preferences), Orinj will behave as expected. Playback may take a long time to stop even after all sound data is used and, depending on the number and type of effects, may take some time to start.
Sound file formats
The following are notes on audio file formats recognized by Orinj.
- AIFF files will not be recognized by Orinj. Their extension should be changed to "AIF", if appropriate.
- NeXT .snd files are really .au files.
- Compressor effects (compressor, simple compressor, and side chained compressor) with zero attack, especially if these do not have forward looking time or have zero forward looking time, may introduce distortion.
- The Orinj phase oscilloscope and spectrum monitor are real time monitors of playback data. However, the Orinj effect framework does not allow effects to know the exact playback time and so the timing of these monitors is approximate.
The Orinj version 2 known issues
In version 2 of Orinj, MIDI playback and wave playback are not synchronized. MIDI playback typically has larger latency (larger delay) than wave playback. Hence, while the MIDI roll view of Orinj allows you to play a wave file together with your MIDI file, the MIDI file may be delayed.
In version2 of Orinj, when processed, effects do not extend the recorded audio wave, to which they are applied. A delay of 500 ms for example, will not be heard for the last 500 or so milliseconds of the wave as the wave does not become 500 ms longer to accommodate the delayed signal for its end. In general, this issue applies only to delays, echoes, and reverbs, as those are the only effects that have a significant delay in the wet signal. As delays and echoes are not very computationally intensive the workaround is to leave those types of effects as runtime effects and let them be processed only when mixing the session, in which case the delayed signal will be there. Also, this should not be an issue for normally recorded waves as those usually end with a period of silence. This may be an issue for waves that were cut.