Does using inlet~ create latency?
@jameslo I didn't actually go through the code but just in the simple tests I did if you create the entirety of the graph with the [receive~] (including the [receive~]) before the graph with the [send~] (including the [send~]) then it appears to be in the right sort-order.
however when I deleted the [send~] and [receive~] afterwards I couldn't get it back in the right order when I recreated them no matter the order.. maybe something to do with [send~] being at the bottom of a graph and [receive~] being at the top of one or something.
might have a look through the source later and try to figure it out for real.
I would think that this is dependent on the implementation and not guaranteed to stay the same if the implementation changes significantly tho..
Ideally all [send~] graphs would be sorted before their corresponding [receive~] graphs..
Does using inlet~ create latency?
@jameslo i haven't tested it but it might be the case that if you make sure to create [receive~] after [send~] that there will be no latency, (unless the [receive~] is in part of the graph that leads to [send~]). You might have to create the entire graph the [recieve~] is part of after creating the entire graph the [send~] is part of, I'm not sure..
edit: after testing I was not able to get that to work 
edit2: after further testing it seems like if I create the graph with the [receive~] first it gets sorted last, but not if I delete the [receive~] and recreate it afterwards
so there isn't always latency, it depends on how the dsp graph is sorted. If the [recieve~] is sorted earlier in the graph before the [send~], as in the case of feedback, then there will be a block delay since [recieve~] will process the shared buffer's samples before [send~] has had a chance to write to the shared buffer. (so [recieve~] will only get the samples written in the current block by [send~] in the next block, creating a block delay.)
NoxSiren - Modular synthesizer system <- [v15]
NoxSiren is a modular synthesizer system where the punishment of failure is the beginning of a new invention.
--DOWNLOAD-- NoxSiren for :
-
Pure Data :
NoxSiren v15.rar
NoxSiren v14.rar -
Purr Data :
NoxSiren v15.rar
NoxSiren v14.rar
--DOWNLOAD-- ORCA for :
- x64, OSX, Linux :
https://hundredrabbits.itch.io/orca
In order to connect NoxSiren system to ORCA system you also need a virtual loopback MIDI-ports:
--DOWNLOAD-- loopMIDI for :
- Windows 7 up to Windows 10, 32 and 64 bit :
https://www.tobias-erichsen.de/software/loopmidi.html
#-= Cyber Notes [v15] =-#
- added BORG-IMPLANT module.
- introduction to special modules.
- more system testing.
#-= Special Modules [v15] =-#
- BORG-IMPLANT (connects ORCA MIDI system to NoxSiren system)
#-= Current Modules [v15] =-#
- VCO (voltage-controlled-oscillator)
- VCO2 (advance voltage-controlled-oscillator)
- WAVEBANK (additive synthesis oscillator)
- ADSR (Attack-Decay-Sustain-Release envelope)
- C-ADSR (Curved Attack-Decay-Sustain-Release envelope)
- CICADAS (128 steps-Euclidean rhythm generator)
- CICADAS-2 (advance 128-steps polymorphic-Euclidean rhythm generator)
- COMPRESSOR (lookahead mono compressor unit)
- DUAL-COMPRESSOR (2-channel lookahead mono compressor unit)
- STEREO-COMPRESSOR (lookahead stereo compressor unit)
- MONO-KEYS (virtual 1-voice monophonic MIDI keyboard)
- POLY-KEYS-2 (virtual 2-voice polyphonic MIDI keyboard)
- POLY-KEYS-3 (virtual 3-voice polyphonic MIDI keyboard)
- POLY-KEYS-4 (virtual 4-voice polyphonic MIDI keyboard)
- POLY-KEYS-5 (virtual 5-voice polyphonic MIDI keyboard)
- POLY-KEYS-6 (virtual 6-voice polyphonic MIDI keyboard)
- BATTERY (simple manual triggered machine for drumming.)
- REVERB (reverb unit with lowpass control)
- STEREO-REVERB (stereo reverb unit with lowpass control)
- RESIN (advanced rain effect/texture generator)
- NOISE (generates black,brown,red and orange noise)
- NOISE2 (generates yellow,blue,pink and white noise)
- COBALT (6-stage polyrhythm generator)
- SHAPER (basic shaper unit)
- FOLDER (basic wave folding unit)
- STEREO-FOLDER (stereo wave folding unit)
- DUAL-FOLDER (advance wave folding unit)
- POLARIZER (transform a signal into bi-polar, uni-polar, inverted or inverted uni-polar form)
- CLOCK (generates a BPM clock signal for sequencing other modules)
- CLOCKDIVIDER (a clock divider with even division of clock signal)
- CLOCKDIVIDER2 (a clock divider with odd division of clock signal)
- DELAY-UNIT (delay unit)
- STEREO-DELAY (stereo delay unit)
- CHORUS (chorus unit)
- STEREO-CHORUS (stereo chorus unit)
- SEQ (advance 16-step/trigger sequencer)
- KICK (synthesize kick unit)
- KICK2 (synthesize flavor of KICK module)
- KICK3 (synthesize flavor of KICK module)
- SNARE (synthesize snare unit)
- CLAP (synthesize clap unit)
- CYMBAL (synthesize cymbal unit)
- RAND (RNG generator for other modules parameters)
- FMOD (feedback modulation unit)
- AM (amplitude modulation unit)
- RM (ring modulation unit)
- LFO (low-frequency-oscillator)
- LFO2 (advance low-frequency-oscillator)
- COMBINATOR (combine two waves)
- COMBINATOR2 (combine three waves)
- COMBINATOR3 (combine four waves)
- STRING (Karplus-Strong string synthesis unit)
- STRING2 (advance Karplus-Strong string synthesis unit)
- DETUNER (parametric 4-channel detuner unit)
- CRUSHER (basic audio resolution unit)
- STEREO-CRUSHER (basic stereo audio resolution unit)
- DUAL-CRUSHER (advance audio resolution unit)
- FILTER (basic filter)
- VCF (voltage-controlled-filter)
- MAR (Moog-analog-resonant filter)
- VCA (voltage-controlled-amplifier)
- DUAL-VCA (advance voltage-controlled-amplifier)
- FMUX (multiplexer with fast A/D internal envelope)
- MMUX (multiplexer with medium A/D internal envelope)
- SMUX (multiplexer with slow A/D internal envelope)
- FDMX (demultiplexer with fast A/D internal envelope)
- MDMX (demultiplexer with medium A/D internal envelope)
- SDMX (demultiplexer with slow A/D internal envelope)
- MIXER (mix 1-4 possible waves)
- SCOPE (oscilloscope analyzer)
- MASTER (fancy DAC~)
- BOX (useless decorative module)
NoxSiren integrated modules menu system.

Top 3 cay nuoc nong lanh Karofi ban chay nhat nam 2020
Bạn đã biết về top 3 cây nóng lạnh Karofi tốt nhất tại dienmay Sakura chưa? Nếu chưa biết đến 3 sản phẩm này bạn có thể tham khảo bài viết dưới đây để tìm hiểu thêm thông tin về những sản phẩm cây nóng lạnh bán chạy nhất năm 2020.
Cây nước nóng lạnh Karofi HC 15 tiết kiệm điện - mẫu úp bình hiện đại
Các thông số kỹ thuật của máy
● Kích thước máy: 285 x 336 x 1004 (đơn vị: mm)
● Mức điện áp: 220V/50Hz
● Công suất máy nóng lạnh: 500W/ 85W
● Trọng lượng máy: 13.5 kg
● Nhiệt độ làm nóng nước: Từ 85 đến 95 độ C
● Nhiệt độ nước lạnh: Từ 5 đến 10 độ C
● Màu sắc: Màu trắng
● Dung tích của bình nước nóng lạnh: 1.1 / 2.8 lít
● Khóa an toàn của vòi nước nóng: Có
● Khoang chứa đồ: Có
Ưu điểm nổi bật của mẫu cây nóng lạnh HC15
● Có hệ thống làm nóng và lạnh nước uống tự động. Đây là ưu điểm vô cùng tiện lợi và đơn giản cho người dùng trong bất cứ hoàn cảnh nào. Khi nào bạn cần sử dụng chỉ cần mở vòi và lấy nước là được.
● Trang bị khóa an toàn cho trẻ nhỏ đối với vòi nước nóng. Đây là một ưu điểm được đánh giá cao và cực kỳ phù hợp với những gia đình có trẻ nhỏ.
● Sử dụng công tắc nóng và lạnh riêng biệt. Người dùng có thể linh hoạt trong việc bật hoặc tắt bất cứ khi nào có nhu cầu sử dụng. Nhờ có điều này mà người dùng có thể tiết kiệm điện năng.
● Dễ dàng hơn trong việc quan sát để có thể chủ động thay bình mới khi hết nước.
● Có khoang chứa đồ vô cùng tiện lợi nằm ngay bên dưới cây nước. Vị trí được thiết kế thích hợp để đặt cốc nước, cà phê hoặc những gói đồ uống khác, …
● Hệ thống hai vòng nóng lạnh riêng biệt với hai màu sắc khác nhau giúp người dùng dễ dàng hơn trong việc phân biệt.
● Thiết kế hiện đại, trang nhã, phù hợp với không gian hiện đại lẫn truyền thống.
Máy nước nóng lạnh Karofi tốt nhất - HC18 mẫu hút bình khác biệt
Thông số kỹ thuật mẫu HC18
● Kích thước cây nóng lạnh: 300 x 330 x 1010 (đơn vị mm)
● Trọng lượng của máy: 13.9 kg
● Mức điện áp: 220V/ 50Hz
● Công suất làm nước nóng / lạnh: 500W /90W
● Nhiệt độ làm nước nóng: 85oC - 95oC
● Nhiệt độ làm nước lạnh: 5 đến 10 độ C
● Màu sắc: Trắng đi cùng với tấm ốp mặt màu đen
● Dung tích tổng thể của cây nóng/ lạnh: 1.1 lít/ 3.2 lít
● Khóa an toàn của vòi nước nóng: Có
● Khoang chứa đồ: Không có
Ưu điểm của cây nóng lạnh mẫu HC18
● Thiết kế bắt mắt, trang nhã và tinh tế. Dễ dàng trở thành điểm nhấn trong không gian nhà ở hoặc chốn văn phòng làm việc.
● Hệ thống làm nóng hoặc lạnh tự động nguồn nước uống đầu vào. Đơn giản, dễ dàng sử dụng và cực kỳ tiện lợi cho người dùng. Khi người sử dụng có nhu cầu, chỉ cần mở vòi và lấy nước dùng.
● Khóa an toàn cho trẻ nhỏ ở vòi nước nóng hỗ trợ các gia đình có em nhỏ an toàn hơn trong trường hợp bất cẩn.
● Thiết kế hai công tắc nóng và lạnh với hai màu sắc dễ dàng phân biệt. Dễ dàng hơn cho người sử dụng dùng độc lập tùy theo nhu cầu sử dụng của từng đối tượng. Đồng thời với thiết kế riêng biệt như vậy giúp cho người dùng tiết kiệm được nhiều điện năng hơn.
● Sử dụng công nghệ hút bình mới: Thao tác thay bình nước mới sẽ dễ dàng hơn, đồng thời nâng cao tính thẩm mỹ của sản phẩm. Thiết kế nhỏ gọn không chiếm nhiều không gian diện tích
● Có ba vòi lấy nước với từng chế độ riêng biệt: Nóng - lạnh và chế độ nước ở nhiệt độ thường cho người dùng thoải mái lựa chọn.
Review cây nước nóng lạnh Karofi HC300-RO tốt nhất - không cần thay thế bình nước
Thông số kỹ thuật máy nóng lạnh Karofi HC300-RO
● Trọng lượng của máy: 14 kg
● Kích thước máy: 300 x 395 x 1110 (đơn vị: mm)
● Mức điện áp: 220V / 50Hz
● Công suất làm nước nóng/ lạnh: 500W/ 85W
● Nhiệt độ nước nóng: từ 85oC đến 95oC
● Nhiệt độ của nước lạnh: từ 5oC đến 10oC
● Màu sắc: Trắng trang nhã
● Dung tích tổng của cây nước nóng/ lạnh: 1.1 lít / 3.2 lít
● Khóa an toàn của vòi nước nóng: Có
● Khoang chứa đồ: Không có.
Ưu điểm nổi trội của sản phẩm
● Hệ thống tự làm nóng và lạnh nguồn nước uống đầu vào: Tiện lợi hơn cho người dùng trong mọi trường hợp cần có nhu cầu sử dụng.
● Khóa an toàn ở vòi nước nóng: Đảm bảo sự an toàn cho những gia đình có trẻ nhỏ trong những trường hợp bất cẩn.
● Thiết kế công tắc hai vòi nóng và lạnh riêng biệt với hai màu sắc khác nhau: Giúp người dùng có những sự lựa chọn độc lập đồng thời hỗ trợ tiết kiệm điện năng.
● Tích hợp với hệ thống lọc nước RO hiện đại: Nguồn nước đầu vào trong hệ thống máy nóng lạnh được lấy ra từ hệ thống lọc RO để đảm bảo được nguồn nước sạch và hợp vệ sinh. Thiết kế tiện dụng, người dùng không cần phải thay thế bình nước trong quá trình sử dụng sản phẩm. Đồng thời cũng sẽ chủ động kiểm soát được nguồn nước một cách đảm bảo chất lượng nhất.
● Không cần thay thế bình nước mà sử dụng trực tiếp nước từ nguồn nối.
● Có 3 vòi nước nóng, lạnh và thường tùy nhu cầu sử dụng.
Hệ thống lọc RO hiện đại tích hợp trong máy làm nóng/ lạnh nguồn nước
● Lõi lọc PP 5 micron
● Lõi lọc OCB
● Lõi lọc PP 1 micron
● Màng lọc RO 100GPD Hàn
● Lọc lọc T33
● Lõi lọc Nano Silver diệt hơn 99% vi khuẩn ở trong nước
Nguồn: https://dienmaysakura.vn/top-3-cay-nong-lanh-karofi-ban-chay-nhat-nam-2020.html
issue with array bounds rectangle inside gop subpatch (purr data)
Hi all,
Part of my patch involves a looping sampler with envelope generator. I had it working just fine with sliders to control the points of the envelope but they were kinda clunky GUI-wise so I am trying to draw an envelope on top of the sample array using Purr Data's [draw]. This is giving me some issues:
- I want a grid of instances of my sample abstraction, like a drumrack, and I want individual ADSR envelopes with each sample. In vanilla I could put a [namecanvas] inside the array but this doesn't seem possible anymore with Purr Data. I figured the way to go would be to put the array in a graph-on-parent subpatch, and use [namecanvas] and [draw] to draw the envelope on top of it. But the bounds rectangles do not seem to be following even though the graphs are, and I'm wondering if I need to use something like [donecanvasdialog( to hack it into shape. Image of this phenomenon attached. The first label is covered up by its symbol box as intended but the next two show up on top of it. When I make another instance on the parent parent patch, the array shows up all the way at x=0 no matter where I put the abstraction. Maybe I need to pass the (x,y) coords of each abstraction as arguments too?

- In vanilla I could set the arguments of [drawcurve] to variables and it would automatically let me interact with those via click-dragging. I see the "drag" mouse event in the documentation for the new SVG functions, but I am used to the old way and wondering what the new way to do this is.
- It seems like my initial attempts at using [draw] were drawing underneath whatever was already there, is there a way to make it draw on top instead?
I have put many many hours into this crazy just intonation synthesizer project, have made a ton of progress and would love to share it with you guys once I have something a little more polished, I am just trying to get this GUI a little nicer and it is giving me headache. So thanks in advance for any guidance you may be able to offer.
Vanilla programable curve, advice welcomed.
Pretty much [line~] with curve per segment added in. The number range for curves is stupid, it assumes you are smarter than it is, and at their extremes the curves can go fast enough to click when used for amplitude mod, but it fills my needs and its issues are easy enough to work around, fixing them would remove some of its ability as well. Perhaps I will pollish it off sometime down the road. curve.zip
Edit; I no longer think the number range for the curve is stupid, it is intuitive, easy to type and plays well with sliders set to log.


A-weighting Fletcher-Munson equal-loudness curve?
@lacuna It is only "measured" in the sense that it is what a healthy human perceives as equal loudness, and it has been improved upon over the years.
You can hand draw your curve into a Hann window to use with a regular Fir filter, but you should be able to program (expr) the curve for the Hann window from the A weight formula.
It has to be easier than building an Eq to match an A weight curve.
http://www.katjaas.nl/minimumphase/minimumphase.html ........ the [pd spectfilter~] part.
But if you are using this with external components like a microphone and speakers then you need to compensate for their foibles and you could use 07.adaptive_equalisation from the adaptive library to make an overlay for the Hann A-weight curve.
I.e. multiply by the A weight Hann window and multiply again by the inverted curve from adaptive.
I don't think phase will be a concern, but that depends what you want to do with it.
You might be stuck with a download of Pd-extended to use adaptive without too much fuss..
David.
best practices, sample-accurate polyphonic envelope, note stealing
Hi everyone. I have frequently revised designs for polyphonic envelopes. i've often misunderstood things about vline~ and scheduling voices in such a way to avoid unwanted clicks while also keeping things on time and snappy.
i'd be really happy to know what your methods are for envelopes.
i submit this patch, a reflection on envelope practices and how i address certain challenges. envwork.pd
this patch makes these assertions:
1- because vline~ maintains sample accuracy by scheduling events for the next block, you can switch dsp on in a subpatch with block~ while sending a message to vline~ and the dsp will be active by the start of the vline~ output. This also works if you need to configure a non-signal inlet before triggering a voice. send a message to such an inlet concurrently with a vline~ message and the parameters will update on the block boundary before the vline~ plays.
2- accounting for note stealing can cause issues in a polyphonic patch. if the stealing note has a slow attack and the envelope of the stolen note is not closed, there will be a click as the pitch of the new note jumps. the voices in my patch apply slight portamento to smooth out this click. if, however, the attack time of the stealing note is faster than this slight portamento it is counterproductive and will soften the attack of stolen notes. Stolen notes need every bit of snap they can get because the envelopes may be starting at a non-zero value. so i limit the time of the portamento to the attack time.
3- to make sure a note that is still in its release phase is treated as a stolen note, it is necessary to monitor the state of the envelopes like so:

switching the dsp off too close to the end of the release causes clicks. after testing, my system liked a full 50ms of extra delay after the end of a release before it was safe to switch off dsp. I don't think this is attributable just to the scheduling delay of vline~ but it's a small mystery to me. possibly there's a problem with my voices.
This all gets a little more complex when there are multiple envelopes per voice. The release time that affects the final output of the voice must reset all envelopes to when it is finished and before dsp is switched off. Otherwise an envelope with a long release affecting something like filter frequency can be held at a non-zero value when dsp is switched off and spoil the starting state of the vline~ on a new note.
finally, on vline~ and sample accuracy and timing, let me type out what i believe is the case. i could be wrong about this. if you programmed a synth using line~ for the envelopes, it would be faster than vline~ but not all notes equally faster. all notes would sound at the block boundary. Notes arriving shortly after the last block boundary might take 90% of the block period to sound. notes arriving just before the block boundary might take 10% of the period to sound.
vline~ will always be delayed by 100% of the block boundary. but the events will be scheduled sample-accurately, so the vline~ will trigger at exactly the real time intervals of the input. a synth with line~ envelopes will trigger any two events within a single block at the same time.
this should mean that vline~ envelopes can be accurately delay compensated and stay absolutely true to input timing, in the case of something like a Camomile plugin.
however, if one was to build a synth for something like a raspberry pi that will act as hardware, would it be better to use line~ envelopes and gain a little bit of speed? is the restriction of locking envelopes to block boundaries perceptible under normal playing conditions?! i could test some midi input and see if the notes in a chord ever achieve a timing spread greater than the block period anyway...
16 parameters for 1 voice, continued...
@H.H.-Alejandro Hello Ale.
Not finished....... just for testing..... Ale4.zip
All effects and audio meters etc. removed...... and only the first 2560 sines have micro adjustment.
In 1_vod_12_2560 it takes curves 3 to 18.
When running iannix I seem to get some distortion...... but if I stop sending the curves from iannix it is better.
This suggests that the messages are interfering with the audio..... but I am not sure...... in fact I think not....... something else.... maybe high frequency beating.
When you stop iannix....... or it gets to the end of the curves.... you can hear the beating at different rates of the sine waves....... it is interesting..... but starting the curves again makes it less audible.
Maybe massive sines controlled by curves are less interesting than massive sines on their own?
I will build one with only one curve for every sine..... to hear what Pieter suurmond expected..... so with a fixed note.
vod_13_20480 and vod_14_50960 are there for you to try..... (20480 sines and 50960 sines).
They take a while to load...... and for me they just distort..... but they really are a massive "ask" of the computer.
As I said above they are not finished. A lot of work needs to be done for all the curves to be used....... and as I think they will not work I have not done the work yet.
I really like 1_vod_12_2560 when iannix stops...... it is endlessly changing and interesting......
David.
16 parameters for 1 voice, continued...
@H.H.-Alejandro Probably the wrong word....... it adds an adjustable very small change to every sine wave oscillator so that their frequencies are very slightly different..
The ocillators in bank 0 are
curve freq
curve freq x 2
curve freq x3....... etc.
and in bank 1 they are
curve freq + small amount from blue fader x 1
curve freq x2 + (small amount from blue fader x 1).. etc.
and in bank 2 they are
curve freq + (small amount from blue fader x 2).. etc.
until
curve freq + small amount from blue fader x 15.. etc.
If you stop Iannix output, and drag the blue fader you will see all the frequencies change except in bank 0.
Useful? I don't know how to use 128 oscillators and keep the basic note otherwise.
Also, because I am unsure about what you will need I am trying to keep to abstractions and keep the changes minimal.
David.




