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


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.