Comments (17)
yes, why not.
for the first: we just change the startup file, and add default orbit args in tidal? One thing to worry about (or rather: to test) is if this might lead to a very large cpu load when you use many at the same time, all with effects. also, it is an aesthetic choice. it sounds very differently.
rms: yes. can we open a port in tidal that dirt can send to?
from superdirt.
Yes default orbit args would be added to the editor startup config. I'll experiment with this and see what the cpu load is like.
(Currently I'd say global effects don't work well when multiple patterns send to the same orbit. I haven't investigated in detail but think when a pattern doesn't set a parameter, it turns off the effect.)
rms - I think it wouldn't be tidal itself that would open the port, but the editor. I'm working on a new text editor in ncurses, so the vu meter would be rendered with extended ascii / unicode blocks, so wouldn't need to be high resolution in this case! FFT might also be nice to experiment with. I'd want to mirror the functionality in classic dirt.
from superdirt.
from superdirt.
yes in the end it just depends on what kind of orbit-effects you use.
from superdirt.
if we would be picky, we would say that a delay is local, but a room is global. we would need nested orbits...
from superdirt.
from superdirt.
from superdirt.
@fdragovic if you don't use them, they don't eat. But if you do, each parallel dirt pattern will use one each instead of one total.
from superdirt.
I am working on a change to the global effects so that messages don't stomp on each other quite so much. It makes it much easier to have multiple things going on in a single orbit.
https://github.com/bgold-cosmos/SuperDirt/tree/global-send
Still in progess, and the solution I came up with is kind of ugly, but it seems to be working so far. I'll have another update to that branch in a few days implementing it for all the global effects.
from superdirt.
In terms of an interface, I guess something like this to start sending rms values:
~dirt.send_rms(addr="127.0.0.1", port=6020, hz=4)
hz being number of times to send the rms values per second.
The OSC message could have path /rms
followed by one value per orbit.
@bgold-cosmos nice one!
from superdirt.
from superdirt.
I implemented sending /rms
out from classic dirt
tidalcycles/Dirt@227b508
from superdirt.
@bgold-cosmos If we really want separate busses per orbit, then we shouldn't add them separately, variable by variable. This makes the system hard to extend.
Your prototype will definitely help in finding the best solution - thanks!
from superdirt.
hey @yaxu this should send the Peak & RMS values at the given refresh rate on the sclang port
{
var busses = ~dirt.orbits.collect { |x| x.dryBus };
(1..~dirt.orbits.size).do { |i|
SendPeakRMS.kr(InFeedback.ar(Select.kr((i-1) /*n*/, busses), ~dirt.numChannels),
4, //refresh rate
3, //peak lag
"/meter" ++ (i-1));
}}.play
3rd parameter is peak and 4th RMS, and it's sending to 57110 because it's assuming it's for sclang, but you can also forward them with and OSCFunc (this one just posts them (: )
OSCFunc({ |msg|
"peak: %, rms: %".format(msg[3], msg[4]).postln
}, '/meter0');
from superdirt.
Thanks @fdragovic, I'll try this out!
For now I have this working with classic dirt: https://www.youtube.com/watch?v=dIXRRfxNH2s
from superdirt.
there is a typo in the code, this should do it (untested!):
(
~dirt.orbits.do { |orbit, i|
{
SendPeakRMS.kr(
InFeedback.ar(orbit.dryBus, ~dirt.numChannels),
4, //refresh rate
3, //peak lag
"/meter" ++ (i-1)
);
}.play
}
)
from superdirt.
Thanks very much!
from superdirt.
Related Issues (20)
- SuperDirt WASM?
- `arp` step patterns not working HOT 3
- Start SuperDirt on a server other than default s HOT 1
- startup code works with 1.7.2, fails with 1.7.3 HOT 5
- module arguments default to 0 instead of default value given in SynthDef HOT 6
- NRPN fails to send value 0 for CC 38
- Q: How do default arguments in the SynthDefs SuperDirt use work? HOT 3
- delay stops working sometimes HOT 4
- amp parameter scaling HOT 3
- playing samples in tune using pitch metadata HOT 2
- unit "s" unexpected behavior HOT 1
- How to add a custom DirtEventType for MIDI over OSC HOT 10
- Supercollider 3.13.0-rc1 / SuperDirt 1.7.3 - High Cpu Usage At Idle - macOS HOT 17
- SuperDirt does not recognize SynthDef variants HOT 2
- superchip is way out of tune HOT 2
- cut groups break on simultaneous events HOT 29
- Should we send RPN Null after NRPN? HOT 4
- d3 onwards not sounding HOT 1
- Lazy Sample Loading doesn't find any samples (Windows 11/SuperCollider 3.12.1) HOT 3
- Effect "dj-filter" should be inactive when value is 0.5 HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from superdirt.