인터페이스 설계
인터페이스는 사용자와 시스템이 상호작용 할 수 있도록 입력과 출력을 제공하는 창구 역할을 한다 . 웹 프로그래밍 관점에서 인터페이스를 바라보면 브라우저를 사용할 때 우리가 자주 보는 웹사이트 화면이 바로 인터페이스에 해당한다 . 물건을 구매할 때 구매 버튼을 클릭하면 인터페이스는 사용자의 요청을 웹서버에 전달하고 웹서버에 있는 프로세스는 입력 값에 알맞은 동작을 수행하고 데이터를 조회 / 수정 / 저장한 후 결과를 다시 인터페이스인 브라우저에게 전달한다 . 브라우저는 웹서버가 보내준 결과를 사용자가 이해할 수 있도록 변경해 화면에 보여준다 .
인터페이스 설계를 시작하기 전 시스템이 제공하는 기능과 데이터를 정의해야 한다 . 앞서 살펴봤던 프로세스 설계가 이에 해당한다 . 이 단계에서 정의되는 기능과 데이터는 개념적인 수준이다 . 설계자는 개념적인 설계도를 머릿속에 가지고 인터페이스 설계를 시작해야 한다 . 인터페이스 MT4보다 개선된 인터페이스 설계 과정에서 프로세스 설계도 (DFD) 또한 점점 구체화되고 처음 작성했던 것에서 많이 수정되고 개선된다 .
인터페이스 설계가 진행되면서 설계자는 논리적 데이터와 물리적 데이터 설계 방향을 머릿속으로 점점 구체화 시킨다 . 설계자는 인터페이스를 만들지만 인터페이스 안쪽에서 있는 프로세스와 데이터가 어떻게 동작하는지에 대한 개념을 항상 염두에 두기 있기 때문에 인터페이스 설계 과정에서 프로세스와 데이터 설계가 동시에 구체화되게 된다 .
인터페이스 설계 원칙
인터페이스 설계할 때 일반적으로 많이 고려되는 세가지 원칙에 대해 살펴보자 . 첫 번째 인터페이스는 직관적으로 설계되어야 한다 . 설명서를 보지 않아도 사용자가 쉽게 사용법을 알 수 있도록 설계하는 것이 무엇보다 중요하다 . 사용자가 쉽게 사용할 수 있도록 설계하기 위해 가장 많이 사용하는 방법은 지금 사람들이 많이 사용하고 있는 상용 프로그램들을 참조하는 것이다 . 사람들이 익숙한 패턴으로 설계하는 것이 쉽게 이해할 수 있는 인터페이스를 만드는 지름길이다 .
두 번째로 인터페이스는 일관적으로 설계되어야 한다 . A 화면과 B 화면이 시선 흐름이 서로 다르다면 MT4보다 개선된 인터페이스 사용자는 프로그램 이용에 많을 불편을 느낄 수 있다 . A 화면에 외쪽에서 오른쪽으로 위에서 아래로 시각의 흐름이 흘러간다고 하면 기타 다른 프로그램도 동일한 흐름으로 화면을 만들어야 한다 .MT4보다 개선된 인터페이스
마지막으로 인터페이스는 효율적으로 설계되어야 한다 . 구매를 하기 위해 여러 화면을 오가면서 이것저것 버튼을 눌러야 하는 인터넷 쇼핑몰이 있다면 사용자가 많이 찾지 않을 것이다 . 시간도 많이 걸리고 사용하기도 불편하기 때문이다 . 인터페이스를 설계할 때 직관적이고 일관적으로 설계 하는 것도 중요하지만 사용자의 클릭 수를 줄여주는 효율성 또한 인터페이스 설계에서 반드시 고려해야 할 특성 중 하나이다 .
대표적 인터페이스 설계 방식
인터페이스는 대표적으로 5 개의 영역으로 구성된다 . (1) 상단 메뉴는 대부분의 프로그램에서 메뉴가 위치하는 대표적인 영역이다 . 상단 메뉴는 보통 메인 메뉴과 서브 메뉴 2 단으로 구성되며 메뉴의 종류가 적은 경우 1 단으로도 구성된다 .
(2) 좌측 메뉴는 상단 메뉴와 함께 많이 사용되며 상단 메뉴의 하위 메뉴가 위치한다 . 프로그램 종류가 많은 경우 상단 메뉴와 좌측 메뉴 두 개로 구성하며 좌측 메뉴 또한 2 단 구성으로 많이 구성된다 . 좌측 메뉴의 단점은 본문 공간 일부를 사용한다는 것이다 . 프로그램 내용을 보여줄 공간이 줄어들기 때문에 공간이 상대적으로 협소한 모바일 프로그램에서는 좌측 메뉴보다는 상단 메뉴가 많이 선호된다 .
(3) 본문은 사용자가 요구하는 기능을 표현하는 영역이다 . 본문에 복잡한 내용이 많이 들어 간다면 상단 메뉴와 좌측 메뉴 중 하나를 포기하고 본문 영역을 넓히는 경우가 있다 . 모바일 화면의 경우 좌우 보다는 상하에 많은 공간을 쓸 수 있고 PC 화면의 경우 좌우 공간을 여유롭게 사용할 수 있기 때문에 어떤 디바이스를 타겟으로 할지에 따라 설계 패턴이 좌우된다 .
(4) 하단 메뉴는 웹페이지에서는 주소 , 연락처 , 관련 사이트를 보여주는 영역으로 많이 사용되고 업무 화면에서 열려있는 페이지 정보를 표현하는 공간으로 많이 활용된다 .
(5) 화면 우측에 위치한 퀵메뉴 영역은 자주 사용하는 프로그램을 모아 놓은 공간이다 . PC 화면에서는 화면이 스크롤됨에 따라 같이 움직이는 플로팅 방식으로 많이 설계 된다 .
대부분의 프로그램은 5 가지 영역을 모두 사용하는 것이 아니라 꼭 필요한 부분만 선택되어 인터페이스가 설계되어 있다 . 5 가지 영역 중 어떤 영역을 사용해 화면을 설계할지 결정하는 것은 사용하는 디바이스 프로그램의 종류와 사용자의 특성에 따라 많이 좌우된다 . 만일 대상자가 고령층이 많다면 메뉴와 본문의 폰트를 크게 하는 게 좋기 때문에 메뉴 영역을 줄이고 본문 영역을 넓히는 것이 좋다 . 업무용으로 PC 를 사용하고 다양한 기능을 제공하는 시스템이라면 5 개 영역을 모두 활용해 화면을 MT4보다 개선된 인터페이스 설계하는 것이 유리하다 .
인터페이스 설계 도구는 일반적으로 파워포인트가 많이 사용된다 . 하지만 그리드 ( 엑셀의 셀과 같은 ) 위주의 화면이라면 파워포인트 보다는 엑셀을 사용하는 것이 더 효율적이다 .
인터페이스 구성은 프로세스 설계에서 도출한 업무 분류를 많이 따라간다 . 프로세스 설계서는 업무 분류가 있고 분류 별 세부 프로세스가 있는데 , 이 프로세스들이 서로 어우러져 하나의 업무를 완성한다 . 따라서 세부 프로세스를 하나의 업무 분류로 묶었기 때문에 인터페이스를 설계할 때 업무 분류가 대메뉴가 되고 세부 프로세스가 소메뉴로 분류될 수 있다 .
하지만 , 내부적으로 이루어지는 프로세스와 달리 사용자와 상호작용하는 인터페이스는 약간 성격이 다르기 때문에 인터페이스로 구현되는 화면의 종류는 세부 프로세스와 설계 방식이 조금 다르다 . 예를 들어 영업일지를 관리하는 프로세스는 목록조회 프로세스와 세부화면 조회 프로세스가 따로 들어갈 필요가 없다 . 모두 정보조회 성격을 가지고 있기 때문이다 . 반면 인터페이스의 경우 목록과 세부화면은 엄연히 다른 성격을 가지고 있기 때문에 별도의 화면으로 구성해야 한다 .
인터페이스는 프로세스 설계서를 기준으로 작성되지만 인터페이스의 특성을 반영해 화면이 분할되기도 하고 하나로 합쳐지기도 한다 . 인터페이스 설계는 백그라운드에서 실행되는 프로세스와 데이터를 모두 고려해야 하기 때문에 어느 정도 프로그램 개발 경험이 있어야 가능하다 . 인터페이스 설계 과정에서 데이터 설계의 윤곽이 그려지며 이를 바탕으로 논리적 / 물리적 데이터를 설계할 수 있다 .
일상, 핸드메이드 감성 플라워 소품샵
인터페이스는 예약어로 class 대신 "interface" 키워드를 사용하면 되며, 접근 제어자로는 public 또는 default를 사용합니다.
인터페이스는 추상 클래스와 같이 추상 메서드를 가지므로 추상 클래스와 매우 흡사합니다.
인터페이스도 추상 클래스처럼 인스턴스를 생설할 수 없고, 상속 받은 클래스에서 구현한 뒤 자식 클래스를 인스턴스하여 사용합니다.
다만, 추상 클래스와는 아래와 같은 차이점들이 있습니다.
- 추상 클래스는 일반 메서드와 추상 메서드 둘 다 가질 수 있다.
인터페이스는 오로지 추상 메서드와 상수만을 가집니다. (구현 로직을 작성할 수 없습니다.)
- 인터페이스 내에 존재하는 메서드는 무조건 public abstract로 선언되며, 이를 생략할 수 있습니다.
- 인터페이스 내에 존재하는 변수는 무조건 public static final로 선언되며, 이를 생략할 수 있습니다.
private int a = 1; // interface 의 제약 조건을 따르지 않았기 때문에 오류가 발생합니다.
public int b = 2; // 컴파일러가 자동적으로 public static final b = 2로 추가해줍니다.
static int c = 3; // 컴파일러가 자동적으로 public static final c = 3으로 추가해줍니다.
int d = 4; // 컴파일러가 자동적으로 public static final d = 4로 추가해줍니다.
- 인터페이스는 Java class의 다중 상속을 허용하지 않는 MT4보다 개선된 인터페이스 점을 보안하고자 다중 상속을 제공합니다. (implements를 사용.)
인터페이스의 사용 이유 (장점)
- 개발 시간을 단축 시킬 수 있습니다.
이러한 특징을 가진 인터페이스를 사용하면 다른 개발자들이 각각의 부분을 완성할 때 까지 기다리지 않고 서로 규약만 정해두어 각자의 부분만 따로 나눠서 작성된 코드를 컴파일 할 수 있습니다.
# 비행 콘트롤러 선정
(opens new window) 지원 보드 목록을 참고하십시오. 주요 목록은 아래와 같습니다.
# Pixhawk 시리즈
Pixhawk시리즈는 NuttX OS 기반의 PX4 오픈 하드웨어 비행 콘트롤러입니다. 다양한 폼 팩터를 기반으로 다양한 적용 사례와 높은 시장 점유율을 자랑합니다.
아래의 Pixhawk 표준 자동조종장치들은 PX4 지원팀의 테스트를 거친 제품들입니다. 그 외의 자동조종장치들은 제조사에서 지원 하고 있습니다.
콘트롤러 | 설명 |
---|---|
Holybro Pixhawk 4 | 픽스호크 4는 PX4 버전 MT4보다 개선된 인터페이스 1.7에 최적화 되어 있으며, 연구용 개발이나 상업용 개발들에 적합합니다. 이전 버전에 비하여, 뛰어난 컴퓨팅 성능, 2배의 RAM, 통합 및 확장을위한 추가 포트, 신규 센서 지원과 내장형 진동 차단 기능들을 제공합니다. |
Holybro Pixhawk 4 Mini | Pixhawk 4 미니는 Pixhawk 4 기능들을 소형 드론에 적용하는 엔지니어와 동호인들을 위하여 설계되었습니다. Pixhawk 4 미니는 Pixhawk 4의 FMU 프로세서와 메모리 리소스는 동일하며, 자주 사용되지 않는 인터페이스들을 제거하였습니다. 이를 통하여, * Pixhawk 4 미니*는 250mm 레이싱 드론에 최적화되었습니다. |
Drotek Pixhawk 3 Pro | Pixracer를 기반으로 일부 기능들이 업그레이드 및 추가되었습니다. |
mRo Pixracer | 조종사 시점(FPV) 레이싱에 최적화된 초소형 초경량 자동조종장치입니다. 6개 이하의 모터를 사용하는 소형 드론에 적합합니다. Pixhawk 3 Pro와 MindRacer도 비슷한 유형에 적합합니다. |
Hex Cube Black | 주로 상용 시스템 제조업체를위한 자동조종장치입니다. 배선을 줄이고 신뢰성을 높였으며, 손 쉬운 조립을 위하여 도메인 별 캐리어 보드를 사용할 수 있도록 설계하었습니다. |
CUAV Pixhack v3 | SOLO Pixhawk ® 2 (PH2) 콘트롤러의 변형입니다. 개선된 인터페이스, 진동 감쇠 및 온도조절기능 등이 추가되었습니다. |
mRo Pixhawk 1 | 인기있는 범용 비행 콘트롤러입니다. 단종된 3DR Pixhawk 1의 FMUv3 버전입니다. |
# 고성능 컴퓨팅 성능의 자동비행장치
아래의 비행 콘트롤러와 개발 플랫폼은 운송체에 보조 컴퓨터를 장착하여 컴퓨터 비전 등의 고성은 연산 기능을 제공합니다.
콘트롤러 | 설명 |
---|---|
Raspberry Pi 2/3 Navio2 | 라즈베리파이를 자동조종장치에 연결하여 보조 컴퓨터로 사용합니다. |
Raspberry Pi 2/3/4 PilotPi | 라즈베리파이를 비행 콘트롤러로 사용할 수 있습니다. |
# PX4를 지원 상용 초소형 드론
PX4는 인기 있는 상업용 드론 제품들에서 사용되고 있습니다. 제품들은 PX4와 함께 제공되거나 PX4로 업데이트할 수 있습니다. PX4를 통하여 차량에 임무 계획이나 기타 비행 모드 적용이 가능합니다.
[JAVA] 자바 인터페이스란?(Interface)_이 글 하나로 박살내자
인터페이스는 뭘까?? 결론부터 말하면, 극단적으로 동일한 목적 하에 동일한 기능을 수행하게끔 강제하는 것이 바로 인터페이스의 역할이자 개념이다. 조금 더 유식하게 말하면, 자바의 다형성을 극대화하여 개발코드 수정을 줄이고 프로그램 유지보수성을 높이기 위해 인터페이스를 사용한다. 자 이게 무슨말인가? 바로 예시 들어간다.
교수님이 학생들에게 논문을 쓰라고 했다.
A학생은 PPT로 논문을 11일날 제출했다.
B학생은 EXCEL 2016 로 논문을 12일날 제출했다.
C학생은 EXCEL 2019 로 자기만의 색깔을 입혀 표 형식으로 12일날 제출했다.
D학생은 메모장에 '논문'을 쓰고 교수님이 말해준 당일 바로 제출했다.
응?? 논문을 쓰라고 지시했지만, 결과물이 너무 개성이 넘친다. 이건 평가할 수 없을 것 같다. 왜 이런일이 일어날까?
가이드 라인 또는 어떠한 규격이 없기 때문에 발생하는 문제이다.
따라서 교수는 다시 명확한 가이드라인 있는 논문을 쓰라고 지시해야한다. 아래처럼.
학생들에게 2019.12.12일 18:00까지 홈페이지 본인 교수 홈페이지 제출란을 통해 논문을 제출해야하고
논문 파일 형식은 .PPT이며 10Page 안에 작성을 해야하고 논문 주제는 '블록체인을 활용한 공인인증서' 이다.
자 이번에 서울시는 밤길 여성들의 안전한 귀가를 위해 30억을 투입해 1000개 유명 중국 H사의 CCTV를 설치했다고 치자. 이제 CCTV에서 송출되는 영상을 각 지역 관할 파출소나 경찰서에서 모니터링 할 수 있도록 1년에 걸쳐 10억을 투자해 CCTV 모니터링 프로그램 시스템을 구축했다. 근데,, 문제가 생겼다 H사의 CCTV는 배터리가 불량고 비가 오면 방수처리가 잘 안되어 고장이 나기 시작했다.. 안되겠다 국산 G사의 CCTV로 전부 다 교체하기로 했다. 그런데 맙소사..중국 H사 CCTV의 영상 송출 모듈에만 특화된 프로그램을 만든 것이다. 다시 프로그램을 만들고 시스템을 구축해한다..응?
만약 현재 시중에서 판매되고 있는 CCTV 제조사가 CCTV의 송출 모듈을 모두 공통적으로 규격에 맞는 모듈로 개발했다면 이런 유지보수성의 불편함은 발생되지 않을 것이며 호환성이 높아질 것 이다. 정리하면, 제조사가 다른 CCTV여도 영상 송출이라는 동일한 기능을 제공하게 하는 것이 바로 인터페이스이다.
자 이제 인터페이스의 개념을 정리하자!
인터페이스란? 극단적으로 동일한 목적 하에 동일한 기능을 보장하게 하기 위함!
어떻게? 자바의 다형성을 이용하여 개발코드 수정을 줄이고 유지보수성을 높인다!
2. 인터페이스 문법과 다형성 이해
자.. 이제 인터페이스가 어떤 놈인지는 알았고 실제 문법과 코드를 통해 이해해보자.
인터페이스는 interface 키워드를 통해 선언할 수 있으며 implements 키워드를 통해 일반 클래스에서 인터페이스를 구현할 수 있다.
또한, JAVA8 이전까지는 상수, 추상메소드만 선언이 가능하지만,
(상수, 추상메소드만 가능케했다는 것을 통해 그만큼 강제성이 강했다는 것을 유추할 수 있다.)
JAVA8부터 디폴트메소드, 정적메소드가 추가되었다.
(디폴트메소드, 정적메소드를 통해, 구현 강제성 안에 유연함을 심었다고 우선 이해하자)
왜 MT4보다 개선된 인터페이스 추가되었는지는 아래에서 따로 설명하고 우선 인터페이스에선 4가지를 정의하거나 구현할 수 있다.
public interface 인터페이스명
default 타입 메소드명(매개변수, . )
static 타입 메소드명(매개변수)
그럼 각각 어떤 의미가 있는지 직역해보자.
상수 : 인터페이스에서 값을 정해줄테니 함부로 바꾸지 말고 제공해주는 값만 참조해라 (절대적)
추상메소드 : 가이드만 줄테니 추상메소드를 오버라이팅해서 재구현해라. (강제적)
디폴트메소드 : 인터페이스에서 기본적으로 제공해주지만, 맘에 안들면 각자 구현해서 써라. (선택적)
정적메소드 : 인터페이스에서 제공해주는 것으로 무조건 사용 (절대적)
참고로 절대적이란 정말 아무것도 손댈 수 없음을 의미하고, 강제적이란 그래도 인터페이스를 implements하지 않으면 피할수는 있기에 강제적이라고 표현했다. 강제성이 있다고 해서 절대적인 것은 아니니.
이제 아래 실제 코드를 보면서 자연스럽게 이해해보자.
하나의 예를 들어보겠다. 대한민국에서 은행 사업을 하려면, 금융결제원에서 정의한 어떠한 가이드를 따라야한다고 치고, Bank 라는 이름으로 인터페이스를 만들었다.
이제 어느 은행이든 은행 시스템은 운영하려면 Bank라는 인터페이스 가이드에 맞게 구현해야한다.
인출메소드, 입금메소드는 각 은행에서 오버라이딩 해서 재구현을 해야하며 블록체인 인증 메소드는 무조건 금융결제원에서 제공해주는 메소드를 사용해야 한다. 따라서 정적메소드로 구현하여 오버라이딩을 할 수 없게 만들었다. (그냥 가져다가 쓰라는 소리)
그런데 여기서 디폴트 메소드에 대해서 생각해보자. 도대체 디폴트 메소드는 무엇일까? 하나의 예시를 들어보겠다.
금융결제원에서 이미 인터페이스를 각 은행사에 가이드 하였고 정상적으로 서비스가 되고 있는데 갑자기 금융 트렌드가 바뀌면서 고객의 휴면계좌를 찾아주는 서비스를 정부에서 점진적으로 도입하라고 지시를 하였다면.. 어떤일이 벌어질까??
추상메소드를 그냥 추가해서 다시 가이드 하면 되지 않을까?? 라고 생각했지만 쉽지 않다. 왜냐. 각 은행사마다 MT4보다 개선된 인터페이스 개발환경 및 운영환경이 다르고, 휴면계좌 찾아주기 신규 프로세스를 도입하는데 있어 은행사마다 개발기간이 모두 상이하기 때문에 조금은 러프한 메소드를 추가해줘야 한다. 즉, 만약 추상메소드를 인터페이스에서 추가한다면, 이를 implements한 모든 클래스에서 강제적으로 추상메소드를 구현해야하고 구현하지 않을시 전부 에러가 난다.
하지만 디폴트 메소드를 정의하고 기본 구현부를 제공하고 만약 기본 구현부가 맘에 들지 않으면 각자가 오버라이딩을 하여 재구현할 수 있도록 선택적인 메소드를 가이드한다면 시스템 운영 유지보수성이 확보가 될 것이다.
이를 더 쉽게 말하면, 결국 이미 운영되고 있는 시스템에서 추가 요건으로 인해 불가피하게 반영을 해야할 때 디폴트메소드를 쓰면 효과적 이란 소리다.
자 이제 KB은행, SH은행은 규격화 된 Bank 인터페이스를 통해 각자에 맞는 스타일대로 은행 인출/입금 서비스를 제공한다. 아래 코드를 보자.
KB은행은 휴면계좌 찾아주기 메소드를 재구현하지 않았다. 즉 금융결제원이 제공해주는 메소드를 사용하겠다는 뜻이거나 혹은 아직 사용하지 않겠다라고 이해하면 된다.
하지만 SH은행은 휴면계좌 찾아주기 메소드를 재정의하여 SH은행사 만의 휴면계좌 찾아주기 로직을 재구현했다.
마지막으로 아래 신규 인터넷 은행사 카카오뱅크 코드를 보자. 위 코드에서 볼 수 있듯이 카카오뱅크는 인터페이스를 implements를 하지 않은 채 자신만의 메소드를 구현했다. 어떤 문제점이 있을까? 당연. 금융결제원에서 제공해주는 그 어떠한 서비스도 사용할 수 없으며 호환성이 없으며 연동이 불가할 것이다.
아래 메인 소스를 보면, bank = new kakaoBank(); MT4보다 개선된 인터페이스 부분에서 type mismatch 에러가 날 것이다.
또한, 자바의 다형성을 극대화 하여 개발 코드 수정을 줄일 수 있다고 했는데 어떤부분에서 가능한 것일까?
만약 이 메인함수가 특정 대학교에 등록금 인출, 입금 등의 업무와 관련있는 소스라고 하자. 대학교는 간혹 등록금 납부 주관 은행을 교체하기도 한다. 물론 가상계좌를 통해 납입하지만 주은행을 변경하게 되면 대학교 등록금 납부 시스템에
기존은행에서 교체할 은행으로 변경을 해줘야한다.
이럴 경우 간단하게 인스턴스만 바꾸면 호환성이 보장된 상태에서 동일한 기능을 수행할 수 있을 것이다. 물론 해당 소스에서 보면, 금액, 고객ID, 은행명 등 하드코딩이 들어가 있지만 예시니까 이해해 주시길. ^^;;
카카오뱅크 부분을 제거하고 수행하면 아래와 같은 결과를 얻을 수 있다.
자 오늘 인터페이스에 대해서 알아보았다.. 정리하면 인터페이스는 추상메소드와 상수를 통해 강력한 강제성을 가지게 하여 인터페이스를 implements한 클래스가 동일한 동작을 수행하도록 보장한다. 또 JAVA8 부터 디폴트 메소드를 허용하면서 추가요건에 대한 대처를 할 수 있도록 유연성을 확보해주었다. 아무튼 인터페이스에 대해서 글을 마무리하고..
노마의블로그이야기
HALion 3 은 VST 샘플러로서 기존 버전에 비해 50 여 개 이상의 새로운 기능과 27 개에 해당하는 이펙터를 추가적으로 제공하는 MT4보다 개선된 인터페이스 소프트웨어 샘플러의 최강자입니다 . 특히 샘플을 관리하기위한 새로운 툴과 RAM 을 보다 효율적으로 사용하기 위한 RAMSave™ 기술이 이번 버전부터 적용되었습니다 . 변화된 새로운 인터페이스와 보다 자유로워진 라우팅 기능을 사용하여 보다 편리하게 샘플 작업이 가능합니다 .
HALion 은 Steinberg 의 최신 기술이 적용된 최신 소프트웨어로서 보다 강력한 기능은 물론 호환성에서도 중점을 두었습니다 . 기본적으로 32 Bit Floating Point MT4보다 개선된 인터페이스 파일을 지원하지만 , 새롭게 출시될 소프트웨어에서 구현될 수 있도록 64 Bit 시스템도 지원하고 있으며 , 오디오 출력을 곧바로 VST Mixer 로 라우팅하여 믹서의 채널로 사용할 수도 있습니다 .
l 드래그 앤 드롭을 지원하는 새로운 파일 브라우저 , 즐겨 찾기 시스템 적용 , 사운드 카테고리 및 데이터 베이스 정렬 – 다양하고 많은 사운드 샘플을 보다 편리하게 관리할 수 있는 툴을 지원하며 , 연관성 있는 사운드를 카테고리화 하여 정리할 수 있습니다 .
l 새롭게 제공되는 Insert 및 Send Effect 섹션 - 27 개의 고품질 이펙트를 인서트 또는 센드 이펙트 형태로 사용할 수 있습니다 . 이펙트 센드를 사용하여 할리온의 내부 이펙트나 직접 VST 믹서로 보내 외부 플러그 인의 사용이 가능합니다 .
l RAMSave™ 기능 – 샘플러는 기본적으로 많은 RAM 을 요구합니다 . 결국 RAM 이 부족한 환경에서는 시스템이 정상적으로 구동하지 않을 수 있습니다 . RAMSave™ 기능은 RAM 리소스를 항상 일정하게 유지하여 샘플러가 항상 안정적으로 구동될 수 있는 환경을 제공하는 새로운 기능입니다 .
l Alternate 모드 – 하나의 노트 메시지에 서로 다른 샘플을 적용하여 벨로시티에 따라 서로 다른 소리가 날 수 있도록 적용할 수 있는 기능으로 드럼 사운드나 스트링의 업 / 다운 액션 사운드를 보다 리얼하게 연주할 수 있습니다 .
l 보다 다양한 파일 포맷 지원 – Kurzweil 및 Kontakt 사운드 샘플 지원 및 Zero-X BeatCreater 및 BeatQuantizer Groove-Slice 포맷을 지원합니다 .
l 보다 개선된 인터페이스 – HALion 3.0 은 기존 버전의 전체 인터페이스는 그대로 유지하면서 사용자가 보다 편리하고 빠르게 사용할 수 있도록 개선된 인터페이스를 지원하며 , 자주 사용하는 인벨로프 설정의 경우는 프리셋 기능을 추가하였습니다 .
l 32 Bit / 384 kHz 파일 지원
l 최대 256 보이스 사용 가능
l 프로그램 마다 최대 16 개의 멀티팀벌 지원
l 128 개의 프로그램 사용 가능 , 레이어를 사용하여 사실상 무한대의 프로그램 사용
l 드럼 샘플과 같은 경우 , 각각의 샘플에 독립된 파라미터 적용 가능
l Notch / High Pass / Low Pass / Band Pass 12 dB 및 24 dB 필터 사용 가능
l 2 개의 동기가 가능한 인벨로프
l 32 단계의 모듈레이션 소스 및 2 개의 LFO 를 곧바로 시퀀서와 연동 가능
l 키존을 사용한 샘플 사운드의 편집 및 드래그 앤 드롭 기능
l 5.1 서라운드 포맷 지원
l 새롭게 제공되는 이펙트 : Reverb, Phaser, Talkbox, Delays, EQs, BitCrusher, AutoWahWah 등 27 개의 이펙트
l 인서트 이펙트 사용 가능
l 센드를 사용하여 이펙트를 연결하거나 VST 믹서의 입력으로 라우팅할 수 있는 기능
l crossfade, snap to zero, loop, release loop, loop tuning 설정이 가능한 웨이브 루프 에디터 제공
l 정확한 샘플 타이밍 및 오토메이션 적용 가능
l 지원 임포트 포맷 : AKAI, E-MU, Roland, Kurzweil, GIGA, Kontakt, EXS24, SF2, LM4, LM4 MkII, REX, ZeroX BeatCreator, WAV, AIF, SD II (Mac only), ISO & Nero Disc Image, Toast CD-Image
0 개 댓글