u-he Hive UHM-DTM 프로그래밍 언어 탐색

6411 단어 hiveDTMwavetable
DTM 프로그래밍 언어 탐색

u-he Hive UHM


개요


u-he의 파형표 합성기Hive는 파형표 데이터를 생성하는 언어 UHM을 준비했다.

용도

  • 파형표 데이터 생성(파형 및 시간 변화)
  • 파형표 데이터의wav 파일 출력
  • 언어 규범

  • 고유 언어
  • 공식 처리
  • 시스템 변수
  • 파형 버퍼
  • wav 파일 출력
  • 읽기만 하는 시스템 변수가 있어 이 상태에 따라 분기 처리를 할 수 있지만 조화에 적합한 프로그래밍 언어는 아니다.사용자정의 함수도 만들 수 없습니다.
    main,aux1,aux2 세 개의 버퍼 메모리가 있는데 계산 과정의 파형을 저장하는 데 사용되며 일반 프로그래밍 언어의 배열에 사용된다.
    계산 공식은 주기 2048개의 견본의 파형을 생성한다.
    한 프로그램에서 최대 256개의 파형을 정의할 수 있다.이것들을 틀이라고 하는데 틀의 순서에 따라 파형을 변형시키고 발음한다.즉, 한 주기의 파형×프레임 수는 파도표 데이터입니다.
    파형표 데이터는wav 파일로 내보낼 수 있습니다.내보낸 wav 파일은 Hive 이외의 웨이브 테이블 작성 소프트웨어에서도 사용할 수 있습니다.
    공식 참조Hive Wavetables

    GUI 사양


    UHM에서 개별 GUI를 만들 수 없습니다.
    Position 손잡이는 프레임에 대응하며 Off를 변형할 때 지정된 프레임 위치의 파형에 따라 울립니다.손가락이 유효할 때 지정한 위치의 프레임을 사용하여 변형합니다.

    주제 밖의 말을 하면 하이브를 비롯한 u-he의 합성기 소프트웨어는 독특한 이미지로 GUI 피부를 만들 수 있고 사용자들 사이에서도 자주 자제 피부를 나누어 줄 수 있다.피부는 텍스트 형식이다.h2p 파일로 기술할 수 있지만, 규격이 열리지 않았습니다.
    u-he/Hive.data/Presets/Hive/default.h2p 파일에서 다음과 같이 화면을 오른쪽 단추로 클릭하면 각종 GUI 위젯의 파라미터를 설정하고 조정된 결과를 h2p 파일로 출력하여 독립된 스킨을 만들 수 있다.
    default.h2p
    !EDITOR=YES
    

    프로그램 예


    각종 파형 합성


    정현파 생성
    phase는 0~1.0으로 1주기의 변화를 나타내는 시스템 변수다.
    Sine.uhm
    // Sine wave
    Wave "sin(2 * pi * phase)"
    
    감법 합성
    2*phase-1에서 톱니파가 발생하는 물체에 대해 저통 여과기를 실시한다.
    SubtractiveSynthesis.uhm
    // Subtractive synthesis
    Wave "lowpass(2 * phase - 1, 0.3, 0.5)"
    
    합성하다
    blend = add를 사용하여 이전에 생성된 파형에 대한 더하기를 지정할 수 있습니다.
    AdditiveSynthesis.uhm
    // Additive synthesis
    Wave "sin(2 * pi * phase * 1) * 0.5"
    Wave "sin(2 * pi * phase * 2) * 0.3" blend=add
    Wave "sin(2 * pi * phase * 4) * 0.2" blend=add
    Wave "sin(2 * pi * phase * 8) * 0.1" blend=add
    
    주파수 변조 합성
    sin(θ + sin(2θ))예.
    FMSynthesis.uhm
    // FM synthesis
    Wave "sin(2 * pi * phase + sin(2 * pi * phase))"
    

    프레임 번호 지문 지정


    파형 1에서 파형 2로의 매끄러운 변화를 지정합니다.이 예에서 일반적인 정현파에서 8도 이상의 정현파로 변화한다.
    Morphing.uhm
    NumFrames = 2
    
    Wave start=0 end=0 "sin(2 * pi * phase)"
    Wave start=1 end=1 "sin(4 * pi * phase)"
    
    몰드를 지정하여 One Shot 또는 Loop을 지정하면 손가락을 더 효과적으로 사용할 수 있습니다.

    테이블 시스템 변수의 지문 사용하기


    table은 0에서 1.0까지 256 프레임을 바꾸는 시스템 변수입니다.
    아래의 기술을 통해 저통 여파기가 점차적으로 열리는 파형을 지문으로 나타낼 수 있다.
    FilterMorphing.uhm
    // Filter morphing
    Wave "lowpass(2 * phase - 1, 0.1 + table * 0.5, 0.5)"
    

    Wav 파일로 내보내기


    Export 문을 통해 wav 파일로 내보냅니다.
    출력은 NumFrames에서 지정한 주기만 생성합니다.생략 시 256 주기.
    ExportWav.uhm
    NumFrames = 1
    Wave "sin(2 * pi * phase)"
    
    Export "sine.wav"
    

    실행 방법


    미리 u-he/Hive.데이터/Wavetablesuhm 파일을 배치합니다.
    제목 표시줄을 마우스 오른쪽 버튼으로 클릭하여 Init를 선택합니다.설정을 초기화합니다.

    OSC1의 웨이브 표시줄 제목을 클릭하여 Wavetable 선택

    중앙 육각형 위쪽의 웨이브타블1 버튼을 클릭

    클릭 here to browse wavetables가 적힌 곳을 클릭하면 uhm 파일을 선택할 수 있습니다

    uhm 파일을 편집해서 저장할 때 업데이트를 자동으로 감지하고 다시 읽습니다.

    감상


    한 주기를 생성하는 파형을 겨냥한 매우 독특한 언어다.신호 처리가 가장 재미있는 곳에 집중하는 느낌이 들어 기쁘다고 적혀 있다.
    통용어에 비해 표현력의 자유도가 낮다는 것은 부인할 수 없지만, 목적을 위해 소규격 전용 언어를 디자인한 DSL은 이상적인 형태다.
    본 집필을 신청할 때 사운드퀘스트의Wavetable 언어 "UHM"의 기본 사항를 참고하였다.
    DTM 프로그래밍 언어 탐색

    좋은 웹페이지 즐겨찾기