Writing data into table (core )
Can someone point me in the right direction
I have no trouble reading from the (read only ) table ,but writng into an array ..phew
In pure dat it's as simple as selecting the index and writing the value at that position
In core , I assume it would be something like this , the index of the table is accesed via the index knob , and then the value knob writes into that index postion , obc of index out is connected to mem write .
This should write data into it , no ?
Comments
-
Yep. If you have a problem, it's elsewhere
0 -
I'm still in the dark about writing into the table , for both audio and event ( meaning small size )
For reading a table it makes sense that a ramp wave is used ( multiplied by the table size ) to read the index , but for writing an audio file this doesn't really makes sense .
Are we supposed to use a ramp wave for indexing alongside the signal for recording ?Also , how do we know if the signal is recorded properly since the array does not have a visual buffer indicator ( unlike the read buffer )
The screenshot shows audio going into the write mem .
The index is read by a ramp wave of freq 1 , amplitude 1 mulitplied by size of he array (44100 samples )Eventually the read memory is triggered by sr.c , sure I get audio at the end but this just becasue of of the write-read connection , there is no way to determin if the audio is coming from the buffer .
0 -
It's core, there are integers. So you can guarantee that you store values exactly where you want them.
I wouldn't think of it as a ramp 'wave', rather an index generator starts at zero (or some other value), adds exactly 1 every tick and can be reset to whatever value is required. Use integers for this. It is simple enough that I usually just scratch build it when required.
0 -
partial succes by reversing the obc order of read-write (master slave )
Still some clicks though , whcih I am sure is becasue of the ramp wave indexing is not in sync with the audio in signal0 -
Don't use a wave, particularly from primary, to drive a core read or write process. You can make it work, but it's a pain to debug (conversion to integer for the index rounds, so index=1 when the wave is in the range 0.5…1.5 etc. so not ideal, you can work around this, but it's no fun. Rounding rules are not intuitive.
Here is a basic core implementation:
This writes the audio input into the array (not table, tables are read only), and wraps to the size of the buffer.
For greater efficiency, use a buffer that is a power of two in size!
here the buffer is 2^16 = 65536
if the input is not audio, then use 'in' to drive the index process instead of SR.C
It really is worth getting to grips with integer arithmetic, it's one of the many advantages of working in core.
0 -
Note that an anti-aliased audio oscillator is not a pure ramp, usually at least the first and last samples (either side of the discontinuity) are altered to reduce aliasing. That makes it particularly bad as a phase accumulator.
0
Categories
- All Categories
- 19 Welcome
- 1.4K Hangout
- 60 NI News
- 749 Tech Talks
- 3.9K Native Access
- 16.1K Komplete
- 1.9K Komplete General
- 4.2K Komplete Kontrol
- 5.6K Kontakt
- 1.5K Reaktor
- 369 Battery 4
- 825 Guitar Rig & FX
- 421 Massive X & Synths
- 1.2K Other Software & Hardware
- 5.6K Maschine
- 7.1K Traktor
- 7.1K Traktor Software & Hardware
- Check out everything you can do
- Create an account
- See member benefits
- Answer questions
- Ask the community
- See product news
- Connect with creators