JDK-4705306 : RFE: Adding Microtonal support to Java Sound API
  • Type: Enhancement
  • Component: client-libs
  • Sub-Component: javax.sound
  • Affected Version: 1.4.0
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • OS: windows_98
  • CPU: x86
  • Submitted: 2002-06-20
  • Updated: 2009-01-21
  • Resolved: 2009-01-21
Description

Name: jl125535			Date: 06/20/2002


FULL PRODUCT VERSION :
Java 1.3 or 1.4 on all Java platforms.

FULL OPERATING SYSTEM VERSION :Windows 98/XP.


ADDITIONAL OPERATING SYSTEMS :All Java Platforms, including
Mac/Linux.



EXTRA RELEVANT SYSTEM CONFIGURATION :
Standard sound cards and Java Sound API (Java 1.3 & 1.4)

A DESCRIPTION OF THE PROBLEM :
Presently the Java Sound API does not support MIDI Tuning
(microtonality). All pitches produced by the synthesizer are
the standard 128 MIDI frequencies. I would like to see
support added for realtime note tuning as described in the
MIDI Tuning Specification from the MIDI Manufactures
Association. This system uses System Exclusive Messages and
is very flexible. I am familar with the Quicktime MIDI
synthesizer implementation from past work and it provides a
solution for microtonality by having both short and extended
note events available in the Quicktime API. Quicktime
Extended note events specifically handle microtonal notes.

I have discussed this with ###@###.###, in the
Sound API division at Sun and there is a solution that can be
implemented.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1.Only the basic 128 MIDI frequencies are available in Java.
2.Pitch Bend shifts all notes on a channel, very ugly.
3.A single note is not tunable in realtime.

EXPECTED VERSUS ACTUAL BEHAVIOR :
Aside from the chromatic scale (equal temperment) all world
music is essentially microtonal. Please see the Scala
program and website for many more possible ways to tune a
scale and produce music with. All 2600 present Scala scales
should be possible with the Java sound synthesizer.

The Scala website at http://www.xs4all.nl/~huygensf/scala/ has
the necessary information and scales for microtonality (all
2600+ scales, not only the 1 chromatic scale used by MIDI and the
present Java synthesizer).

REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER WORKAROUND :
There is none, microtonality on a realtime note by note
bases is not possible. The MIDI SysEx method implemented in
the Sound API would be best, or an Extended event as in
Quicktime.
(Review ID: 153876) 
======================================================================

Comments
EVALUATION MIDI Tuning is supported by new Synthesizer implementation (integrated into 6-open and jdk7)
21-01-2009

EVALUATION ###@###.### 2002-06-20 A nice-to-have feature.
20-06-2002