CSound игнорирует присвоение 0dbfs и немедленно завершается - PullRequest
1 голос
/ 19 апреля 2020

Я работаю с руководством по CSound FLOSS и озадачен результатами, которые я получаю на одном конкретном примере, демонстрирующем использование RMS в CSound. Пример можно найти на странице 28 в PDF-версии или на этой странице под заголовком «Измерение RMS» в версии html.

<CsoundSynthesizer>
<CsOptions>
-odac
</CsOptions>
<CsInstruments>
;example by Martin Neukom, adapted by Joachim Heintz
sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1

giSine    ftgen     0, 0, 2^10, 10, 1 ;table with a sine wave

instr 1
a3        init      0
kamp      linseg    0, 1.5, 0.2, 1.5, 0        ;envelope for initial input
asnd      poscil    kamp, 440, giSine          ;initial input
if p4 == 1 then                                ;choose between two sines ...
 adel1     poscil    0.0523, 0.023, giSine
 adel2     poscil    0.073, 0.023, giSine,.5
else                                           ;or a random movement for the delay lines
 adel1     randi     0.05, 0.1, 2
 adel2     randi     0.08, 0.2, 2
endif
a0        delayr    1                          ;delay line of 1 second
a1        deltapi   adel1 + 0.1                ;first reading
a2        deltapi   adel2 + 0.1                ;second reading
krms      rms       a3                         ;rms measurement
          delayw    asnd + exp(-krms) * a3     ;feedback depending on rms
a3        reson     -(a1+a2), 3000, 7000, 2    ;calculate a3
aout      linen     a1/3, 1, p3, 1             ;apply fade in and fade out
          outs      aout, aout
endin
</CsInstruments>
<CsScore>
i 1 0 60 1          ;two sine movements of delay with feedback
i 1 61 . 2          ;two random movements of delay with feedback
</CsScore>
</CsoundSynthesizer>

Когда я запускаю csound с файлом в качестве ввода с использованием csound ex5.csd следует следующий вывод:

0dBFS level = 32768.0
--Csound version 6.10 (double samples) 2018-01-27 
[commit: none]
libsndfile-1.0.28
UnifiedCSD:  ex5cp.csd
STARTING FILE
Creating options
Creating orchestra
closing tag
Creating score
rtaudio: ALSA module enabled
rtmidi: ALSA Raw MIDI module enabled

csound command: Segmentation fault
end of score.          overall amps:      0.0
       overall samples out of range:        0
0 errors in performance

Все это происходит немедленно, без вывода звука. Я предполагаю, что это не является целью примера, и что сообщение журнала 0dBFS level = 32768.0 имеет какое-то отношение к проблеме. Я спрашиваю здесь, потому что я получаю тот же результат, даже когда копирую и вставляю программу из книги, так что я немного озадачен.

Любое понимание того, что здесь происходит?

Спасибо

1 Ответ

1 голос
/ 19 апреля 2020

Я не думаю, что это имеет какое-либо отношение к назначению 0dbfs. Вы можете сравнить с любым другим .csd, который работает для вас: вы всегда найдете его сначала в консоли вывода.

Я проверил пример, и он работает для меня, как и ожидалось (csound 6.14 development).

когда вы используете csound 6.10, моя первая рекомендация - обновить ваш csound. проблема заключается в том, что вы получаете ошибку сегментации, поэтому невозможно узнать больше об этой проблеме без специальных инструментов.

кстати, есть новая версия руководства по csound floss на https://flossmanual.csound.com/

примеры теперь можно воспроизводить прямо из браузера (сейчас лучше работает хром / хром).

надеюсь, это поможет - joachim

...