trying to do audio rate compare
| Date | 2017-02-17 08:36 |
| From | Richard |
| Subject | trying to do audio rate compare |
For my 'reversal' project I am trying to read an audio table containing
several guitar notes. I want to find where a note starts and ends, in
order to copy it reversed to another table. When I execute the following
code, the 'found one' message appears only once.
I realize that a prints at audio rate might be too much. In fact it is k
rate, but with setksmps to 1.
So why does it happen only once and what is the best way to to audio
rate compare? I cannot directly compare an a-rate variable to a value,
so it seems:
sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1
gifn1 ftgen 1, 0, 0, 1, "../samples/gitar#gottobe.wav", 0, 4, 0
;deferred-size table
gisize = ftlen(gifn1)
giEmpty ftgen 2, 0, -gisize, 2, 0 ;empty table of the same size
;ftsave "track.txt", 1, 1
instr 1
setksmps 1
atab init 0
isize tableng 1 ;length of table?
print isize
andx phasor 1 / (isize / sr)
asig tab andx, 1, 1 ;has a 0 to 1 range for the index
if (abs(asig)>0.1) then ; this gives: error: boolean expression
'>' with arg types ac not found
;if (k(abs(asig))>0.1) then ; this prints only once
prints "found one"
endif
outs asig, asig
endin
|
| Date | 2017-02-17 09:39 |
| From | zappfinger |
| Subject | Re: trying to do audio rate compare |
Found it, I need to use prinks of course...
Richard
--
View this message in context: http://csound.1045644.n5.nabble.com/Csnd-trying-to-do-audio-rate-compare-tp5754639p5754640.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 | 2017-02-17 10:26 |
| From | Richard |
| Subject | Re: trying to do audio rate compare |
Hmm, this is not as easy as it seems. Now I am copying each sample to
the second, empty table, and play it when done. There was no sound.
The copying happens in the phasor loop:
instr 1
setksmps 1
isize tableng 1 ;length of table?
print isize
andx phasor 1 / (isize / sr)
asig tab andx, gifn1, 1 ;has a 0 to 1 range for the index
tabw asig, andx, giEmpty ; just copy
outs asig, asig
endin
I printed the table and it had some differences in the header:
header 1:
======= TABLE 1 size: 2369995 values ======
flen: 2369995
lenmask: 0
lobits: 0
lomask: 0
lodiv: 0.000000
cvtbas: 1024.000000
cpscvt: 0.000000
loopmode1: 0
loopmode2: 0
begin1: 0
end1: 2369995
begin2: 0
end2: 0
soundend: 2369995
flenfrms: 2369995
nchnls: 1
fno: 1
gen01args.gen01: 0.000000
gen01args.ifilno: 0.000000
gen01args.iskptim: 0.000000
gen01args.iformat: 0.000000
gen01args.channel: 0.000000
gen01args.sample_rate: 44100.000000
header 2:
======= TABLE 2 size: 2369995 values ======
flen: 2369995
lenmask: -1
lobits: 0
lomask: 0
lodiv: 1.000000
cvtbas: 0.000000
cpscvt: 0.000000
loopmode1: 0
loopmode2: 0
begin1: 0
end1: 0
begin2: 0
end2: 0
soundend: 0
flenfrms: 2369995
nchnls: 1
fno: 2
gen01args.gen01: 0.000000
gen01args.ifilno: 0.000000
gen01args.iskptim: 0.000000
gen01args.iformat: 0.000000
gen01args.channel: 0.000000
gen01args.sample_rate: 0.000000
Is this because table 1 was created by a Gen1?
Are the headers (in the printout) part of the tables or are they added
when doing the ftsave?
Richard
On 17/02/17 10:39, zappfinger wrote:
> Found it, I need to use prinks of course...
>
> Richard
>
>
>
> --
> View this message in context: http://csound.1045644.n5.nabble.com/Csnd-trying-to-do-audio-rate-compare-tp5754639p5754640.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 |