더 높은 차원의 생성 문법이 있습니까?


9

컴퓨터 음악에 관심이 있는데 음악 조각을 생성 문법이나 L- 시스템의 문장으로 취급하는 방법이 있습니다. 작성하는 대신 문법을 지정하고 컴퓨터에서 음악을 생성 할 수 있습니다. 예를 들어 폴 후닥 (Paul Hudak) 말기 예일 그룹은 매우 강력하다.

우리는 L- 시스템을 이용한 식물 성장과 같은 더 높은 차원의 것들을 표현하기 위해 겉보기에 1 차원적인 정보 표현을 사용한다는 사실에 놀랐습니다 . 나에게는 음악이 최소한 2 차원 인 것 같다 : 명백한 시간 차원과 "악기"차원, 즉 동시에 여러 가지 다른 소리를 낼 수있는 능력. 실제로 음악 표기법은 정확히이 두 가지 차원을 갖습니다.

Befunge 와 같은 2 차원 프로그래밍 언어가 있어서 (아직) 매우 유용하지는 않지만 문장이 2 차원 인 생성 문법에 대해서는 찾을 수 없습니다.

2 차원 문장으로, 나는 문자가 2 차원 격자에 퍼져 있음을 의미합니다.

ab cde
 aabce
dca  b

생산 규칙은 규칙의 양쪽에 2 차원 문장이있을 수 있습니다.

a -> bc
     e

b -> cd
e    ab

이와 같은 것이 이전에 연구 된 적이 있습니까?

예를 들어 컴퓨터 음악에서 이것은 매우 유용 할 수 있습니다. Ravel의 Boléro 와 같은 조각은 다음과 같이 2 차원 생산 규칙에 의해 생성 될 수 있습니다.

t -> tt
      t

"조각의 경우 테마 t1이 악기 1에 t의해 재생되는 경우, 악기 1에 의해 동시에 악기 1 및 2 직후에 재생되는 새로운 조각을 생성 할 수 있습니다 . "


2
적어도 관련이 있거나 유용 할 수있는 "그래프 문법"이 있습니다.
— usul

"n- 차원"에 대한 당신의 개념은 당신 자신의 것으로 보이며 CS에서 그러한 용어로 정의되지 않은 것 같습니다.
— vzn

@ vzn, 나는이 아이디어가 엄격하게 정의되어 있는지 묻고 있습니다. 나는 그것이 왜 유용 할 수 있는지 동기 부여하고 있습니다. 왜 여기에서 다른 방식으로 사용되었다고 생각하십니까?
— Turion

실제로 여러분의 아이디어를 생각할 때, 푸리에 분석은 때때로 개별 악기와 사용자가 참조하는 "치수"를 분리 할 수 ​​있으며 "믹스"(예 : 파티의 여러 음성)에서 개별 악기 또는 음색을 분리하는 것에 대한 CS / 알고리즘 연구가 있습니다. 이 질문은 또한 개별 악기가 고유 한 "오버톤 서명"을 갖는 방식을 상기시킵니다. 모든 문법에 관해서는, 그들은 당신이 말하는 "치수"와 관련된 측면을 가지고 있습니다. 또는 너무 넓습니다 (wrt SE 표준).
— vzn

@vzn, 충분히 공정하게, 나는 내가 의미하는 바를 명확히하려고 노력했습니다.
— Turion

답변:



1

CS 공식 문법으로 모델링 음악에 대한 이론적 / 과학적 / 응용 적 연구가 있습니다. 예를 들어

그러나 문법은 일반적으로 재미있는 음악 을 생성 하기에는 너무 규칙적 일 수 있습니다 . 왜냐하면 유전자 알고리즘과 같은 다른 접근법이 탐색되고 있으며 이에 대한 많은 참조가 있습니다. 다음은 인용이 높은 기사입니다. 이것은 현재 진화 음악 분야로 알려져 있습니다.


또한 참조 컴퓨터 음악 작곡의 cs.se
— vzn

2
나는 2 차원 문법이 어디에서 나오는지 모르겠다.
— Turion
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.