Menu
Home
Forums
New posts
Search forums
What's new
Featured content
New posts
New media
New media comments
New resources
Latest activity
Media
New media
New comments
Search media
Resources
Latest reviews
Search resources
Nyuuz
Jinaral kantent
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Menu
Log in
Register
Install the app
Install
Home
Forums
Labrish
Nalij
Jinaral kantent
DevOcean scripting goes beyond the stock module library
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
[QUOTE="Bombastus, post: 92287, member: 2178"] DevOcean Modular includes three scripting environments, with DSP Script, MIDI Script, and Radio Script running as ordinary modules inside a patch. Each one handles a different layer of the system, so custom code can process audio, reshape MIDI events, or turn raw radio data into something the rest of the patch can use. The [B][URL='https://goldmidi.com/community/threads/ocean-swift-expanded-devocean-modular-1-2-with-35-modules.77648/']DevOcean Modular 1.2 module library[/URL][/B] is already broad, but scripting matters when the behavior you need does not exist as a stock node. You are not writing a separate utility and piping the result back later. The script becomes part of the graph. DevOcean also avoids lumping every programmable job into one editor. Audio-rate math, event logic, and software-defined radio have different timing and data requirements, so they get separate modules and separate authoring models. It is a cleaner split than one giant scripting box trying to be good at everything. [HEADING=2]Three scripting environments split the work cleanly[/HEADING] DSP Script is the direct route into custom audio and CV processing. Ocean Swift describes it as a C-like environment that compiles in real time, with assignable inlets for signals and controls. Oscillators, filters, waveshapers, utility logic, and odd little processors that would never justify a factory module can live there. Underneath, DevOcean uses ExprTk as the mathematical expression engine for DSP Script. More importantly for patching, the finished script behaves like a normal graph node. It gets the same polyphonic-aware treatment as built-in modules and can sleep when idle instead of chewing through processing simply because it exists on the canvas. MIDI Script solves a different problem. It runs Lua for generators, transformers, sequencers, arpeggiators, and event processors, with sample-accurate scheduling, transport-locked callbacks, and a zero-allocation event API. Those details are far more useful than the vague promise of “MIDI scripting” because timing is the whole game once a script starts creating notes. Lua already has serious audio history, including [B][URL='https://mat.ucsb.edu/Publications/08_SmithWakefield_TANS_ComputationalAudiovisual_CompositionUsingLua.pdf?utm_source=chatgpt.com']real-time Lua work in computational audiovisual composition[/URL][/B] that treated time, sound, and computation as one live system. DevOcean uses the language for event logic rather than forcing MIDI behavior through the audio-rate expression layer. [HEADING=2]MIDI Script can build behavior stock modules never cover[/HEADING] A normal MIDI effect tends to expose one fixed idea. A scale module keeps notes in a scale, an arpeggiator follows a defined pattern, and a humanizer shifts timing or velocity within limits. MIDI Script becomes useful when the rule itself is the thing you want to invent. You could write a generator that reacts differently on every fourth bar, a transformer that remaps notes according to velocity, or a sequencer that changes pattern length when transport crosses a chosen position. Sample-accurate event scheduling means those decisions can land at defined sample positions instead of being pushed out whenever the user interface happens to wake up. Transport-locked callbacks are equally practical. A scripted rhythm can know where the host timeline is instead of free-running beside it, which is important when a generated phrase must survive looping, tempo changes, or a stop and restart. DevOcean is giving the script musical time, not just a stream of note messages. One small limitation is worth knowing before you build a library around it. DSP Script and MIDI Script are deliberately excluded from the normal module snapshot system, so their state is not managed exactly like a filter or oscillator snapshot. Treat the script itself and the enclosing project as the durable source of the behavior. [HEADING=2]Radio Script turns raw spectrum into patchable signals[/HEADING] Radio Script reaches further outside conventional synthesis. Paired with DevOcean's RTL-SDR Radio module and compatible USB hardware, it receives raw complex baseband data rather than a finished station feed. From there, Lua code can build the receiver chain instead of accepting a fixed demodulator. Ocean Swift supplies liquid-dsp as the standard toolkit, including building blocks for oscillators, polyphase decimation, resampling, automatic gain control, demodulation, and symbol synchronization. You can write an AM or narrowband FM receiver, shift a signal in frequency, or extract signal strength and turn it into control voltage for another part of the patch. The useful part is the output boundary. Radio Script does not trap the result inside a specialist radio window. Demodulated audio and derived control signals return to the same modular graph as oscillators, filters, envelopes, and effects, so a receiver can become a sound source, a modulation source, or both. Each scripting module therefore has a narrow job and a normal place in the signal flow. DSP Script handles sample-stream math, MIDI Script handles timed musical events, and Radio Script handles receiver logic built from raw spectrum. The stock module library is no longer the limit once those three programmable paths are available. [/QUOTE]
Insert quotes…
Name
Post reply
Home
Forums
Labrish
Nalij
Jinaral kantent
DevOcean scripting goes beyond the stock module library
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.
Accept
Learn more…
Top