Question about Pure Data and decoding a Dx7 sysex patch file....
Hey Seb!
I appreciate the feedback
The routing I am not so concerned about, I already made a nice table based preset system, following pretty strict rules for send/recives for parameter values. So in theory I "just" need to get the data into a table. That side of it I am not so concerned about, I am sure I will find a way.
For me it's more the decoding of the sysex string that I need to research and think a lot about. It's a bit more complicated than the sysex I used for Blofeld.
The 32 voice dump confuses me a bit. I mean most single part(not multitimbral) synths has the same parameter settings for all voices, so I think I can probably do with just decoding 1 voice and send that data to all 16 voices of the synth? The only reason I see one would need to send different data to each voice is if the synth is multitimbral and you can use for example voice 1-8 for part 1, 9-16 for part 2, 17-24 for part 3, 24-32 for part 4. As an example....... Then you would need to set different values for the different voices. I have no plan to make it multitimbral, as it's already pretty heavy on the cpu. Or am I misunderstanding what they mean with voices here?
Blofeld:
What I did for Blofeld was to make an editor, so I can control the synth from Pure Data. Blofeld only has 4 knobs, and 100's of parameters for each part.... And there are 16 parts... So thousand + parameters and only 4 knobs....... You get the idea
It's bit of a nightmare of menu diving, so just wanted to make something a bit more easy editable .
First I simply recorded every single sysex parameter of Blofeld(100's) into Pure data, replaced the parameter value in the parameter value and the channel in the sysex string message with a variable($1+$2), so I can send the data back to Blofeld. I got all parameters working via sysex, but one issue is, that when I change sound/preset in the Pure Data, it sends ALL parameters individually to Blofeld.... Again 100's of parameters sends at once and it does sometimes make Blofeld crash. Still needs a bit of work to be solid and I think learning how to do this decoding/coding of a sysex string can help me get the Blofeld editor working properly too.
I tried several editors for Blofeld, even paid ones and none of them actually works fully they all have different bugs in the parameter assignments or some of them only let's you edit Blofeld in single mode not in multitimbral mode. But good thingis that I actually got ALL parameters working, which is a good start. I just need to find out how to manage the data properly and send it to Blofeld in a manner that does not crash Blofeld, maybe using some smarter approach to sysex.
But anyway, here are some snapshots for the Blofeld editor:
Image of the editor as it is now. Blofeld has is 16 part multitimbral, you chose which part to edit with the top selector:
Here is how I send a single sysex parameter to Blofeld:
If I want to request a sysex dump of the current selected sound of Blofeld(sound dump) I can do this:
I can then send the sound dump to Blofeld at any times to recall the stored preset. For the sound dump, there are the rules I follow:
For the parameters it was pretty easy, I could just record one into PD and then replace the parameter and channel values with $1 & $2.
For sound dumps I had to learn a bit more, cause I couldn't just record the dump and replace values, I actually had to understand what I was doing. When you do a sysex sound dump from the Blofeld, it does not actually send back the sysex string to request the sound dump, it only sends the actual sound dump.
I am not really a programmer, so it took a while understanding it. Not saying i fully understand everything but parameters are working, hehe
So making something in Lua would be a big task, as I don't know Lua at all. I know some C++, from coding Axoloti objects and VCV rack modules, but yeah. It's a hobby/fun thing I think i would prefer to keep it all in Pure Data, as I know Pure Data decently.
So I do see this as a long term project, I need to do it in small steps at a time, learn things step by step.
I do appreciate the feedback a lot and it made me think a bit about some things I can try out. So thanks
Nek'Sum - An advanced drone/texture monophonic synthesizer <- [v6.0] + // Mandarin Edition //
Nek'Sum-6 drone/texture monophonic synthesizer is compose of 5 stages :
First stage -> 3 main OSC with noise mixer option and generative synthesis support with 5 types of waves (tri,sqr,saw,supersaw,generative).
Second stage -> Filter stage with morph option and 4 filters types : Pass through, Lowpass, Highpass, Bandpass for the first stage.
Third stage -> 3 LFO (sin,tri,sqr,saw) modulators for the second stage.
Forth stage -> 3 Phasor's for the third stage.
Fifth stage -> 1 Deep Reverb with Lowpass filter for the forth stage.
It is capable of generating a large soundscape of drone/texture sounds inspired by The Doctor.
-UPDATE-
Thanks to Seven of Nine Nek'Sum is now at version [v6.0]
- Added Mandarin edition after cyber-brainstorming with Jade Chia-Jung [v6.0].
- Translation of the Ancient Egyption logo into obscure dialect of Anquietas language, thanks to Daniel Jackson [v6.0].
- Thanks to Nox cyberart society now the GUI is much better [v5.0].
- Added reset, randomization and resize for the generative synthesis [v5.0].
- Added generative synthesis support for each oscillator [v4.0].
- Added a noise mixer with 4 types of noise for each oscillator (orange,yellow,blue,pink) [v3.0].
- Added a morphing mechanism for filter stage [v3.0].
- This new version has a better GUI interface powered by a Borg-Casimir engine [v2.0].
-CYBERLOG-
Project manager : Oma Desala
Programming/UX design : Boran Robert Andrei
QA engineer : Anubis
Generative synthesis system design/Lead engineer : Seven of Nine
DSP engineering : Jade Chia-Jung, The Doctor
Testing/debugging system engineer : Lt. Colonel Samantha Carter
Language consultant : Daniel Jackson
Patch Download English Edition :
Nek'Sum 6.rar
Nek'Sum 5.rar
Nek'Sum 4.rar
Nek'Sum 3.rar
Nek'Sum2.rar
Nek'Sum.zip
Patch Download Mandarin Edition :
Nek'Sum 6 - Mandarin Edition.rar
Mandarin special edition :
Snapshots :
CEAMMC PureData distribution 2020.07 and ceammc v0.9 released
The new release of CEAMMC PureData distribution (v2020.07) and library of externals - ceammc v0.9:
https://github.com/uliss/pure-data/releases
main highlights:
- plot.* objects for drawing plots, histograms, freq/amp response
- [ui,plot~] GUI plotter
- [array.,plot] array plotter
- [an.onset]/[an.onset~] Onset analyzer for messages and audio signals based on aubio library
- math module expanded with many objects for audio signals, complex math for audio signals, converters for audio signals ([conv.lin2lin~] etc.)
- chaos.* objects for chaotic numbers generation
- [flt.freqz~] - filter frequency response calculator object
- improved [snd.file] load options (re-sampling support and input ranges added)
- [array.resample]
Full changelog:
https://github.com/uliss/pure-data/blob/ceammc/ceammc/CHANGELOG.md
CEAMMC - Moscow Conservatory’s Centre for Electroacoustic Music
[bang~] bangs before the end of a dsp block at startup
I was hoping to use [bang~] to tell me when a 1024 sample FFT was finished so I could process the results ASAP, but it often bangs after only 64 samples when DSP is first turned on. Here's my test patch after one such run:
And here's what's inside the reblocked subpatch:
bang~runsAtTheEndOfEachDSPblock2.pd
After the first run it consistently reports 1024 as expected, but that first run usually shows 64, and only occasionally 1024. I saw 128 once, but haven't been able to reproduce it. I tried connecting the signal inlets and outlets in various ways but it didn't seem to matter. Am I overlooking something?
Update: I get similar results using [switch~]:
And the switched subpatch:
switch~ vs bang~.pd
Update #2: I added another test to the switch test and it contradicts the other two tests When viewed from inside [pd switchedSubPatch2], [bang~] happens at the right time, But if I run the original test immediately afterward, it still shows 64. There must be something about reblocking I don't understand.
switchedSubPatch2:
switch~ vs bang~.pd
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
Best way to create random seed on [loadbang] with vanilla?
A while a ago i was thinking about a classical system to create random numbers. The idea was to fuse PI-calculus with fuzzy type I in a network system where you can exchange fuzzy type I sets. So the network could output a fuzzy set that could have some specific random properties. I manage to fuse them together but i was still not satisfied by the idea. Now i think that by changing the fuzzy type I to type II together with PI-calculus you can make something like a random number. The monadic-PI-calculus is just for normal fuzzy sets. The Polyadic-PI calculus is a higher order where you can send fuzzy sets of sets over the network.
BlurPD - digital logic framework system for Pure Data [v3]
BlurPD is a framework system to extend Pure Data with the ability to make
digital logic circuits while taking advantage of the DSP capabilities of Pure Data. In order to design and simulate interesting circuits, ASIC chips, DSP processors or entire CPU's, all in Pure Data. It is made from jucy fundamental modules (Lego blocks) that when put together turn Pure Data into a madness of bits ...
Bug Fixes & Notes [v3]
Modules [v3]
- GATES : not,and,nand,or,nor,xor,xnor,cfg,icfg,dna,ro,and3,or3,nand3,nor3,xor3,xnor3
- PLEXERS : 2x1multiplexer,1x2demultiplexer,1x2decoder
- MATH : adder,subtractor,multiplier,divider,comparator,comparator2
- IC : bpd1g8n (integrated 8xNAND gates)
- TOOLS : redled,blueled,greenled,yellowled,magentaled,cyanled,sigv,pininv,gateanalyer
ledmatrix,controller,adipswitch,vled,hexdisplay,sigbridge,pinanalyzer - WIRING : pininput,pinoutput,pin0,pin1,dipswitch,idipswitch
- MODULES : the core library for BlurPD built-in modules
- ICMODULES : the core library for "IC" modules
- DSP : btom,sin~,pha~,ipha~,cos~
- DSPTOOLS : scope~
New Stuff [v3]
- Changes to the Help system. Better GUI and integration [v3]
patch download
BlurPDv3-[3-7-2020].zip
BlurPD archive (older versions)
BlurPDv2.9-[3-3-2020].zip
BlurPDv2.8-[3-3-2020].zip
BlurPDv2.7-[3-3-2020].zip
BlurPDv2.6-[3-1-2020].zip
BlurPDv2.5-[2-29-2020].zip
BlurPDv2.4-[2-27-2020].zip
BlurPDv2.3-[2-26-2020].zip
BlurPDv2.2-[2-25-2020].zip
Multibit modules for more complex circuits [v3]
4-bit Boran-Tsung function using a 4-bit ALU (arithmetic logic unit) circuit made with BlurPD [v3]
4-bit Xi'n function using a 4-bit ALU circuit made with BlurPD [v3]
Snapshot of the modules system and help system [v3]
Making generative sounds using new DSP modules [v2.9]
Polymorphic circuit [v2.7]
Application 1 of BlurPD system from [v2.3]
Application 2 of BlurPD system from [v2.3]
Hexadecimal display [v2.3]
The Ancients [v2.2]
Complex analysis using a DIP-switch analyzer [v2.1]
DIPSwitch from [v2.0]
[pix_share_read] and [pix_share_write] under windows
@whale-av, here is a log running pd with -lib Gem -verbose.
tried both 32bit and 64bit pd 0.48-1...
tried ./Gem.m_i386 and failed
tried ./Gem.dll and failed
tried ./Gem/Gem.m_i386 and failed
tried ./Gem/Gem.dll and failed
tried ./Gem.pd and failed
tried ./Gem.pat and failed
tried ./Gem/Gem.pd and failed
tried C:/Users/Raphael Isdant/Documents/Pd/externals/Gem.m_i386 and failed
tried C:/Users/Raphael Isdant/Documents/Pd/externals/Gem.dll and failed
tried C:/Users/Raphael Isdant/Documents/Pd/externals/Gem/Gem.m_i386 and failed
tried C:/Users/Raphael Isdant/Documents/Pd/externals/Gem/Gem.dll and failed
tried C:/Users/Raphael Isdant/Documents/Pd/externals/Gem.pd and failed
tried C:/Users/Raphael Isdant/Documents/Pd/externals/Gem.pat and failed
tried C:/Users/Raphael Isdant/Documents/Pd/externals/Gem/Gem.pd and failed
tried C:/Users/Raphael Isdant/AppData/Roaming/Pd/Gem.m_i386 and failed
tried C:/Users/Raphael Isdant/AppData/Roaming/Pd/Gem.dll and failed
tried C:/Users/Raphael Isdant/AppData/Roaming/Pd/Gem/Gem.m_i386 and failed
tried C:/Users/Raphael Isdant/AppData/Roaming/Pd/Gem/Gem.dll and failed
tried C:/Users/Raphael Isdant/AppData/Roaming/Pd/Gem.pd and failed
tried C:/Users/Raphael Isdant/AppData/Roaming/Pd/Gem.pat and failed
tried C:/Users/Raphael Isdant/AppData/Roaming/Pd/Gem/Gem.pd and failed
tried C:/Program Files/Common Files/Pd/Gem.m_i386 and failed
tried C:/Program Files/Common Files/Pd/Gem.dll and failed
tried C:/Program Files/Common Files/Pd/Gem/Gem.m_i386 and failed
tried C:/Program Files/Common Files/Pd/Gem/Gem.dll and failed
tried C:/Program Files/Common Files/Pd/Gem.pd and failed
tried C:/Program Files/Common Files/Pd/Gem.pat and failed
tried C:/Program Files/Common Files/Pd/Gem/Gem.pd and failed
tried D:/pd-0.48-1.windows.64bit/extra/Gem.m_i386 and failed
tried D:/pd-0.48-1.windows.64bit/extra/Gem.dll and failed
tried D:/pd-0.48-1.windows.64bit/extra/Gem/Gem.m_i386 and failed
tried D:/pd-0.48-1.windows.64bit/extra/Gem/Gem.dll and succeeded
D:\\pd-0.48-1.windows.64bit\\extra\\Gem\\Gem.dll: couldn't load
tried D:/pd-0.48-1.windows.64bit/extra/Gem.pd and failed
tried D:/pd-0.48-1.windows.64bit/extra/Gem.pat and failed
tried D:/pd-0.48-1.windows.64bit/extra/Gem/Gem.pd and failed
tried D:/pd-0.48-1.windows.64bit/doc/5.reference/Gem.m_i386 and failed
tried D:/pd-0.48-1.windows.64bit/doc/5.reference/Gem.dll and failed
tried D:/pd-0.48-1.windows.64bit/doc/5.reference/Gem/Gem.m_i386 and failed
tried D:/pd-0.48-1.windows.64bit/doc/5.reference/Gem/Gem.dll and failed
tried D:/pd-0.48-1.windows.64bit/doc/5.reference/Gem.pd and failed
tried D:/pd-0.48-1.windows.64bit/doc/5.reference/Gem.pat and failed
tried D:/pd-0.48-1.windows.64bit/doc/5.reference/Gem/Gem.pd and failed
Gem: can't load library```
3 shader adaptions: sonogram / vectorscope and conway
I realized recently that Gem has some very similar (and nice) shader examples, like a game of life, or a multi pass rendering (I learned that this is what I am doing with the effect chain in the video player).
And the timbreID library has some nice Gem patches for visualizing audio.
And Gem has of course a video player.
I ask myself now, because I do not want to reinvent the wheel, what are the advantages and disadvantages if I compare Gem to Ofelia?
I did some experiments with Gem some time ago but at a certain point I got stuck, whether because of my lacking knowledge or because the patch was getting slow.
So it could be possible to do exactly the same with both libraries?
Here I found a very old paper about Gem that states Gem is using openGL up to 1.2.
https://puredata.info/downloads/gem/documentation/manual/pub/zmoelnig2004gem.pdf
Has that changed? Or could that be a difference? I think the openGL versions that Ofelia can use depend only on the hardware.
What I like about ofelia so far is (in comparison to Gem):
To compile the patch as a standalone application.
To make nice interfaces.
(but I think those points are not openGL related...)
That it gives access to lua and open frameworks (which could make it easier to do complex graphics calculations / interfaces?).
Is anyone else in the position to compare those libraries, or has an opinion about them?
Add a new line to [textfile]. How?
@RetroMaximus Trigger is used to control the order of operations.
This is not good practice:
This is better:
Not good:
Better:
Not good:
Better: