Synthesizer
Synthesizer
MIDI 신디사이저를 나타내는 인터페이스예요. 신디사이저는 MIDI 데이터를 오디오로 변환하는 장치로, 실제 하드웨어이거나 소프트웨어일 수 있어요.
본문
javax.sound.midi 패키지에 속하는 인터페이스로, MidiDevice를 상속해요. 일반적으로 신디사이저는 MIDI 데이터를 받아 실제 사운드를 생성하며, 채널별로 악기를 할당하고 사운드 뱅크로부터 악기를 로드해요.
public interface Synthesizer extends MidiDevice
getChannels
MidiChannel[] getChannels()
이 신디사이저의 채널들을 얻어요. 채널 수는 신디사이저가 지원하는 MIDI 채널 수에 해당해요. 이 메서드는 신디사이저의 모든 채널을 배열로 반환해요.
- 반환값: 이 신디사이저의 MIDI 채널 배열
getVoiceStatus
VoiceStatus[] getVoiceStatus()
이 신디사이저의 보이스 상태를 얻어요. 각 보이스의 상태를 나타내는 VoiceStatus 객체 배열을 반환해요. 보이스 상태를 노출하지 않는 신디사이저는 길이가 0인 배열을 반환해요.
- 반환값: 보이스 상태 배열
getDefaultSoundbank
Soundbank getDefaultSoundbank()
이 신디사이저의 기본 사운드 뱅크를 얻어요. 신디사이저에 기본 SoundBank가 없으면 null을 반환해요. 기본 SoundBank는 신디사이저의 악기가 포함된 SoundBank예요.
- 반환값: 신디사이저의 기본 사운드 뱅크
isSoundbankSupported
boolean isSoundbankSupported(Soundbank soundbank)
지정된 사운드 뱅크가 이 신디사이저에서 지원되는지 나타내요. 이 신디사이저가 로드할 수 있는지 여부를 알려줘요.
- 파라미터
soundbank: 지원 여부를 확인할 사운드 뱅크 - 반환값: 지원되면
true, 그렇지 않으면false
loadInstrument
boolean loadInstrument(Instrument instrument)
이 신디사이저에 악기를 로드하고 지정된 악기를 포함하는 사운드 뱅크의 일부로 만듦으로써, 신디사이저가 해당 악기의 소리를 낼 수 있게 해요. 로드가 성공하면 true를 반환해요.
- 파라미터
instrument: 로드할 악기 - 반환값: 로드가 성공했으면
true, 그렇지 않으면false
loadInstruments
boolean loadInstruments(Soundbank soundbank, Patch[] patchList)
지정된 사운드 뱅크에서 지정된 패치 목록에 해당하는 악기를 로드하고, 사운드 뱅크의 일부로 만듦으로써 신디사이저가 해당 악기들의 소리를 낼 수 있게 해요. 로드가 성공하면 true를 반환해요.
- 파라미터
soundbank: 악기를 포함한 사운드 뱅크 - 파라미터
patchList: 로드할 악기를 나타내는 패치 목록 - 반환값: 로드가 성공했으면
true, 그렇지 않으면false
remapInstrument
boolean remapInstrument(Instrument from, Instrument to)
신디사이저가 from 악기에서 to 악기로 재매핑하도록 해요. 신디사이저가 from 악기로 재생되는 경우 to 악기로 대체해 재생해요. 재매핑이 성공하면 true를 반환해요.
- 파라미터
from: 재매핑할 원본 악기 - 파라미터
to: 재매핑될 대상 악기 - 반환값: 재매핑이 성공했으면
true, 그렇지 않으면false
getLoadedInstruments
Instrument[] getLoadedInstruments()
이 신디사이저에 로드된 악기 목록을 얻어요.
- 반환값: 로드된 악기 배열
getAvailableInstruments
Instrument[] getAvailableInstruments()
이 신디사이저가 로드할 수 있는 악기 목록을 얻어요. 이 신디사이저에서 사용 가능한 사운드 뱅크의 모든 악기를 포함할 수 있어요.
- 반환값: 사용 가능한 악기 배열