CSound 忽略 0dbfs 分配并立即终止
Posted
技术标签:
【中文标题】CSound 忽略 0dbfs 分配并立即终止【英文标题】:CSound ignores 0dbfs assignment and terminates immediately 【发布时间】:2020-04-18 21:21:30 【问题描述】:我正在阅读 CSound FLOSS 手册,并且对我在一个展示 CSound 中使用 RMS 的特定示例所获得的结果感到困惑。该示例可以在 pdf 版本的第 28 页上找到,也可以在 html 版本的“RMS 测量”标题下的 this page 上找到。
<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 ex5.csd
将文件作为输入运行 csound 时,会出现以下输出。
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】:我认为这与 0dbfs 分配无关。您可以与任何其他适合您的 .csd 进行比较:您会在输出控制台中始终首先找到它。
我检查了示例,它按预期对我有用(csound 6.14 开发)。
当您使用 csound 6.10 时,我的第一个建议是更新您的 csound。问题在于您遇到了分段错误,因此如果没有特殊工具,就无法了解更多有关该问题的信息。
顺便说一下,https://flossmanual.csound.com/有新版csound floss手册
现在可以直接从浏览器播放示例(目前,chrome/chromium 效果最好)。
希望这会有所帮助 - 约阿希姆
【讨论】:
以上是关于CSound 忽略 0dbfs 分配并立即终止的主要内容,如果未能解决你的问题,请参考以下文章