Конверт из двух таблиц произвольной длины в CSound - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь сделать конверт основного тона из двух таблиц функций. Одна таблица содержит значения основного тона, а другая - соответствующие длительности. Две таблицы будут иметь одинаковую длину, но эта длина может быть любым значением. Кто-нибудь знает какие-нибудь хорошие методы для создания линии с произвольным количеством точек? Или способ соединения двух конвертов один за другим? Спасибо!

1 Ответ

0 голосов
/ 16 марта 2019

это была бы одна возможность:

instr test
 kPitches[] fillarray 60, 62, 61, 63
 kDurations[] fillarray 1, 2, 3, 1
 kTime init 0
 kIndx init 0
 if kTime <= 0 then
  kPitchLine = kPitches[kIndx]
  kTime = kDurations[kIndx]
  kIndx += 1
 endif
 kTime -= 1/kr
 aTest poscil .2, mtof(kPitchLine)
 out aTest, aTest
endin
schedule("test",0,7)

вы можете использовать таблицу функций вместо массива, если хотите.и вы можете заключить это в UDO (см. http://write.flossmanuals.net/csound/g-user-defined-opcodes/ для получения дополнительной информации).

возможно, вы решите присоединиться к списку рассылки csound.там вы получите больше предложений: https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND

...