several instances of instruments and global recording
| Date | 2016-11-26 14:31 |
| From | lorangeverte |
| Subject | several instances of instruments and global recording |
Hello,
a little novice user in Csound, first apologies for my bad written
expression in english.
However, I’ll try to explain my problem.
Actually (within Max just like an interface) I’m playing Csound on a
polyphonical way with numerous instances of different instruments.
Per exemple,
. 2 instances of instrument i1 are selected
. 3 instances of iinstrument 2 are selected
. Then 1.01, 1.02, 1.03 and 2.01, 2.02, 2.03 can be played simultaneously.
Each of those instances and instruments depended to two unique audio
channel.
- just for exemple, even if it’s not ma syntax : outch 1, « aL », 2, « aR »
I determined different names of audio channels for each instance, with
sprintf, then any audio variable have the same name but each have the same
channel (1 and 2)
I can record separately each instance which is playing with fout within the
instrument.
A. But it causes to me some problems:
1. as soon as the instrument (1 or 10 instances, it does not matter) is
playing, fout creates automatically on my disk a virgin audio files, and
that even if I don’t start the recording
(for this action, I make something like that :
if (kern == 1)
then fout Sreci1, 18, aL, aR)
2. it’s all the more so problematic because I’m playing with a lot of
turnoff… Sometimes, I can determine that after 4 seconds 1.01 turnoff, but
1.01 can playing again after 4 other seconds and during 10 seconds… so the
fout stop after the first turnoff…
B. So, I have try to make a global recording instrument with fout, using the
same method of severals formatting of audio channel names with the sprintf
opcodes, and using in this case global audio variables… Each instrument is
linked to his own fout on a separate and global instrument (in this global
recording instrument, there are as many fout as instruments)
I think this is the solution that I need, but:
1. It seems that it dosent works when I try to record severals instances of
instruments simultaneously
2. If 3 instances of an instrument are playing, fout records only the last
instance…
So, if 1.01, 1.02 and 1.03 are playing, fout records only 1.03….
Would you have some ideas or advices to adjust my problem?
Many thanks,
Lorangeverte.
--
View this message in context: http://csound.1045644.n5.nabble.com/several-instances-of-instruments-and-global-recording-tp5752772.html
Sent from the Csound - General mailing list archive at Nabble.com.
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here |
| Date | 2016-11-26 15:42 |
| From | Victor Lazzarini |
| Subject | Re: several instances of instruments and global recording |
Try doing something like this: |
| Date | 2016-11-26 16:55 |
| From | joachim heintz |
| Subject | Re: several instances of instruments and global recording |
another solution would be to have this instrument at the end of your orchestra: instr Monitor aL, aR monitor fout "mysum.wav", 18, aL, aR endin then you can use out(ch) in any instrument as you did. joachim On 26/11/16 16:42, Victor Lazzarini wrote: > Try doing something like this: > > |
| Date | 2016-11-27 11:07 |
| From | lorangeverte |
| Subject | Re: several instances of instruments and global recording |
Hello,
thank you for you responses. However, my problem remains.
Of course, it's possible to record different instruments with fout and write
the record on an audio file (sum of all audio events for one audio file),
but I would like to record each voice (instances of instruments) on
different and separated stereo audio files, knowing that all of my
instruments have the same audio channels...
I'm trying to do that with something like that:
(in fact, I control parameters of several instances of instrument using
sprintf and the p1 character, then if p1 = 1.01 I'll control the first
instance, if = 1.02 the second, and I attribute different names of audio
channels with the same method)
1. with fout inside the instrument
instr 1
achani1 oscili p4, p5 , p6
outch 1, achani1, 2, achani1
SCaudio1 sprintf "achani1%.2f", p1
chnset achani1, SCaudio1
krec chnget "rec"
if (krec == 1) then
fout "myAudioFiles.wav", 18, achani1, achani1
endif
endin
This method is not complety ok (but fout creates as many separated audio
files as instances have been played, that I want) and:
. Fout creates automatically a virgin audio file for each instrument which
has been played.
. If I turnoff and instrument and play it again fout erase the first audio
file and create a new.
---
So I tried to make a global instrument following exactly the same method
instr 1
gachani1 oscili p4, p5 , p6
outch 1, gachani1, 2, gachani1
SCaudio1 sprintf "gachani1%.2f", p1
chnset gachani1, SCaudio1
gkrec chnget "rec"
endin
instr 100
if (gkrec == 1) then
fout "myAudioFiles.wav", 18, gachani1, gachani1
endin
. No problem but fout just records the last instance... (so if 1.01 and 1.02
are playing, fout record just 1.02 and creates just one audio file...)
Have you other ideas or advices, please?
Regards
--
View this message in context: http://csound.1045644.n5.nabble.com/several-instances-of-instruments-and-global-recording-tp5752772p5752782.html
Sent from the Csound - General mailing list archive at Nabble.com.
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here |
| Date | 2016-11-27 12:35 |
| From | Victor Lazzarini |
| Subject | Re: several instances of instruments and global recording |
you should use chnmix instead of chnset (and then chnclear after fout used the signals). Victor Lazzarini Dean of Arts, Celtic Studies, and Philosophy Maynooth University Ireland > On 27 Nov 2016, at 11:07, lorangeverte |
| Date | 2016-11-27 15:59 |
| From | joachim heintz |
| Subject | Re: several instances of instruments and global recording |
it makes sense that the global audio signal does not work in your case,
because the latest instance overwrites what the previous one has written.
in addition to what victor explained about chnmix, you could also use
one instrument which records a multi channel file, all pairwise for your
instances. this would require that you know in advance how many
instances you have in total; not sure if this is your case.
joachim
On 27/11/16 12:07, lorangeverte wrote:
> Hello,
>
> thank you for you responses. However, my problem remains.
>
> Of course, it's possible to record different instruments with fout and write
> the record on an audio file (sum of all audio events for one audio file),
> but I would like to record each voice (instances of instruments) on
> different and separated stereo audio files, knowing that all of my
> instruments have the same audio channels...
>
> I'm trying to do that with something like that:
>
> (in fact, I control parameters of several instances of instrument using
> sprintf and the p1 character, then if p1 = 1.01 I'll control the first
> instance, if = 1.02 the second, and I attribute different names of audio
> channels with the same method)
>
> 1. with fout inside the instrument
>
> instr 1
>
> achani1 oscili p4, p5 , p6
> outch 1, achani1, 2, achani1
>
> SCaudio1 sprintf "achani1%.2f", p1
> chnset achani1, SCaudio1
>
> krec chnget "rec"
> if (krec == 1) then
> fout "myAudioFiles.wav", 18, achani1, achani1
> endif
>
> endin
>
> This method is not complety ok (but fout creates as many separated audio
> files as instances have been played, that I want) and:
>
> . Fout creates automatically a virgin audio file for each instrument which
> has been played.
> . If I turnoff and instrument and play it again fout erase the first audio
> file and create a new.
>
> ---
>
> So I tried to make a global instrument following exactly the same method
>
> instr 1
>
> gachani1 oscili p4, p5 , p6
> outch 1, gachani1, 2, gachani1
> SCaudio1 sprintf "gachani1%.2f", p1
> chnset gachani1, SCaudio1
>
> gkrec chnget "rec"
> endin
>
> instr 100
>
> if (gkrec == 1) then
> fout "myAudioFiles.wav", 18, gachani1, gachani1
> endin
>
> . No problem but fout just records the last instance... (so if 1.01 and 1.02
> are playing, fout record just 1.02 and creates just one audio file...)
>
> Have you other ideas or advices, please?
>
> Regards
>
>
>
> --
> View this message in context: http://csound.1045644.n5.nabble.com/several-instances-of-instruments-and-global-recording-tp5752772p5752782.html
> Sent from the Csound - General mailing list archive at Nabble.com.
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
> https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
>
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here |
| Date | 2016-12-19 15:56 |
| From | lorangeverte |
| Subject | Re: several instances of instruments and global recording |
Hello Victor and hello Joachim,
thank you very much for your responses (and excuse me for my late
answer...).
Regarding to my problem (the solution is not perfect), I've finally chosen a
mix between the use of chnmix and a strict declaration of the number of
channels for the fout opcode (this number is equal to the number of
instrument instances which are arbitrarily determined).
It's not completely that I want... even if it's works well!
So another little question... Do you know a way to create "dynamically" -
this point is depending to the number of instances which are playing, the
several channels of the fout opcode?
Thank's again,
Regards,
Lorangeverte.
--
View this message in context: http://csound.1045644.n5.nabble.com/several-instances-of-instruments-and-global-recording-tp5752772p5753498.html
Sent from the Csound - General mailing list archive at Nabble.com.
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here |