Orinj version 7.0.0
The following is a list of the known issues in the current version of Orinj.
On Windows, Orinj may cover the task bar at the bottom of the screen. This pertains to some of the Orinj skins. It will not happen under the Flat White or Candy skins.
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. Choosing a MIDI output device in the MIDI roll view and MIDI input devices when recording MIDI in the multitrack session will be parts of Orinj version 8.
- Orinj does not support all MIDI controllers. For example, you can add controllers for volume and pan, but you cannot add a legato.
- Orinj supports (will play in the MIDI roll view) both coarse and fine volume and pan controls (see MIDI Controller message) but allows changes only to coarse values. The following is an example of what this means. In MIDI, coarse volume values can change between 0 and 127. Fine volume values can similarly change between 0 and 127. Each of these requires 7 bits to store its value and the two can be combined into a 14-bit value that can be between 0x0000 and 0x3FFF (hexadecimal). Let's assume that fine volume is 0 and the MIDI device that synthesizes sound from MIDI chooses a volume scale of 96 dB (allows volume changes between -96 dB and 0 dB). In this case, since you can change the coarse volume to 127, but you cannot change the fine volume value of 0, the maximum volume you can reach has the hexadecimal value of 0x3F80 instead of 0x3FFF. This value, with the chosen 96 dB scale, is approximately -0.135 dB. In short, you can adjust the volume up to -0.135 dB, but not to 0 dB. Similarly, if the MIDI device uses the usual logarithmic pan computations, you can change the pan approximately to 0.999 gain on the right and 0.012 gain on the left, but you cannot reach 1 on the right and 0 on the left.
- By default, 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.
- It is 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 ty-pe 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.
- In certain effects, if the user changes effect controls during playback, the effects may produce pops and clicks. This does not happen during mixing and does not happen if the user changes controls when playback is stopped or paused. This is most typical of the Orinj high pass filter, low pass filter, and wah wah. It is the result of these effects recomputing specific filters, restarting audio data computations, and therefore creating breaks in processed audio data.
- 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 compression ratio in the Orinj Compressor is rounded to one decimal point (i.e., 2.1:1 compression instead of 2.12:1 compression). When adding points to the compressor by clicking with the mouse on the compressor graph, the point may appear in a slightly different place than where the user clicked.
- 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.
- When effects do not start exactly at the beginning of a track or wave or end exactly at the end of a track or wave, the signals between the parts with and without effects are crossfaded. Crossfading happens over 5 milliseconds. This time interval cannot be changed. If the effect introduces significant gain in the signal or reduces the amplitude of the signal significantly, the crossfading may not be enough and there might be audible pops.
- The Orinj Compressor may be applied to a part of the full track or wave (i.e., to a shorter time interval). This compressor works on three separate frequency bands. It splits the signal into three frequency bands, applies compression separately to each band, and combines the three bands into one signal. This splitting and combining of the signal may also happen outside of the time interval, where compression applies. How far outside of the interval this will happen depends on the size of buffers and on the preset. The de-esser, for example, splits the signal so that compression is only applied to high frequencies, but not to mid or low frequencies. Other presets do not split the signal. In other words, the compressor may change the signal not just inside the time interval, where compression applies, but also outside of that interval. The change to the signal outside of the compression time interval will be minimal and the signal will not be compressed.
- The Orinj Notch filter can be slow, especially if at low frequencies and with a narrow width and transition. When the notch filter uses a lot of processing, you can premix the track with the filter (see Orinj Working with session tracks) or replace the notch filter with the Orinj Notch filter 2. The Orinj Notch filter 2 is faster but allows less control over the notch width and transition.
Downloadable Sounds (DLS) files and SoundFont (SF2) files
Orinj uses DLS files or SoundFont files to convert MIDI files into wave files, if the user chooses to do so. The DLS file or SoundFont that will be used during the conversion must be specified in the Orinj preferences. Note that this is the only part of the Orinj preferences that is empty by default. The Orinj installation does not contain a DLS file or a SoundFont file. You must specify one, if you want to include MIDI files in your session or if you want to convert MIDI files to wave files. (On Windows, for example, the gm.dls file is available as part of the Windows installation, in one of the Windows system folders).
Orinj ignores DLS and SF2 specifications related to chorus, reverb, and scale temperament. Specifically, some instruments in DLS and SF2 files choose to apply reverb or a chorus to notes. Some SF2 presets may choose to alter the default equal tempered tuning of contemporary chromatic scale. These three articulations of the sound are not implemented in Orinj.
If a wave, MIDI, or loop block in a session is changed, not saved, and then removed, the user will have the option of saving the file. However, if the file is saved under a new name, undoing the removal of the block will bring the block into the session before the changes and not the newly saved file with the changes.
If a file is removed from a session, it is never completely closed until Orinj exits. For example, the user will not be able to save over it. This is so that undo works properly (e.g., the user can undo the removal of the file from the session).
If a loop in a session changes, the loop may become shorter or longer. The session will reduce the size of the loop block if the loop is shorter, but will not increase the size of the loop block if the loop is longer. Removing the loop from the session and reinserting it fixes this issue.