The MASM Forum

General => The Workshop => Topic started by: LordAdef on February 01, 2019, 09:18:57 AM

Title: Audio VST plugin needed, simple but non existent in the market
Post by: LordAdef on February 01, 2019, 09:18:57 AM
Hi guys,
Believe it or not, I need the simplest of the simplest Audio VST plugin. But... I searched everything but there isn't any!!!!!
I know Marinus have looked at the VST documentation already, but who knows if anyone here wanted to have a go.
I work with DAWs (digital audio workstation) everyday of my life. When mixing a music track, all separate audio tracks (at al) goes to the DAW's stereo Master track.
What I miss is a simple plugin to draw the resulting waveform representation. Simple right?

But the existing ones are oscilloscopes kind of  plugins with many functions, but the waveform representation is either absent or restricted by the window.



Anyone interesting in making one???


There are thousands of threads in specialized forums of people looking for something like I am proposing, just saying..



Regards Alex
ps: Hutch, I didn't know where to write this thread, Workshop seemed right.
Title: Re: Audio VST plugin needed, simple but non existent in the market
Post by: guga on February 01, 2019, 10:19:09 AM
Hi LordAdef

I never built a vst plugin before, but did you took a look at IsotopeRX ? It is a standalone app, but suitable for usage with plugins and the best available in the market concerning audio restoration.

For open source you could give a try at
https://github.com/webprofusion/OpenAudio
https://vcvrack.com/
Title: Re: Audio VST plugin needed, simple but non existent in the market
Post by: LordAdef on February 01, 2019, 10:58:26 AM
Oi Guga, tudo bem?
So, I sure know Isotope RX. It's an extremely powerful tool, I used a lot and it's used all the time where I work. It's our prime tool to clean audio recorded at live locations. But it's quite too expensive and really off of what I need.
Have you heard of the JUCE framework/SDK? I found a tutorial that do just that, drawing a wave representation. I might have a look a that, although I will have to touch.... arghhhh.... C++..... But let's see...
Title: Re: Audio VST plugin needed, simple but non existent in the market
Post by: Siekmanski on February 01, 2019, 11:47:27 AM
Quote from: LordAdef on February 01, 2019, 09:18:57 AM
Hi guys,
Believe it or not, I need the simplest of the simplest Audio VST plugin. But... I searched everything but there isn't any!!!!!
I know Marinus have looked at the VST documentation already, but who knows if anyone here wanted to have a go.

Only had a look at the VST SDK and just like their (Steinberg) ASIO SDK it's all a mix of COM, STDCALL and C calling conventions.  ::)
I have finished the ASIO translation but don't feel the need to do the VST translation very soon.
Busy with other things....
Title: Re: Audio VST plugin needed, simple but non existent in the market
Post by: felipe on February 01, 2019, 02:37:27 PM
i used a few times nuendo (or something similar) which i think is (or was) from steinberg. and i think nuendo used those vst plugins...but i have never tried to program one...
Title: Re: Audio VST plugin needed, simple but non existent in the market
Post by: LordAdef on February 01, 2019, 05:02:18 PM
thanks guys!
I myself would try to code it myself. I've heard the VST sdk is not for the faint of hearts....
But I will try this JUCE framework, that saves all the hassle and looks like has some nice audio prebuilt  stuff, including a real time buffer drawing routine.
Title: Re: Audio VST plugin needed, simple but non existent in the market
Post by: Siekmanski on February 01, 2019, 06:31:50 PM
Alex, I just found this on kvraudio,
https://www.kvraudio.com/forum/viewtopic.php?t=360390

here is the asm source code,
http://alturl.com/22nas
Title: Re: Audio VST plugin needed, simple but non existent in the market
Post by: guga on February 02, 2019, 04:32:54 AM
Oi Alexandre. Te mandei inbox por aqui e te encaminhei meu face por inbox.

Eu uso o Isotope quase todo santo dia. É incrível para restauração de áudio, sobretudo quando se trata de áudio oriundo de películas telecinadas em 16mm por exemplo.

Hi Siekmanski, judging by the code of VST, it is quite similar to what is found on VirtualDub plugins (basically are simple pointers to structures). Indeed, easier then i expected, though :t :t :t

; NASM asm file

use32
section .text

export VSTPluginMain
global VSTPluginMain

VSTPluginMain:
mov eax, AEffect
dispatcher:
setParameter:
getParameter:
processDoubleReplacing:
; unsupported
ret

process:
processReplacing:
push ebp
mov ebp, esp
jmp .L2
.L3:
mov eax, DWORD[ebp+16]
mov eax, DWORD[eax]
mov edx, DWORD[ebp+20]
sal edx, 2
lea edx, [eax+edx]
mov eax, DWORD[ebp+12]
mov eax, DWORD[eax]
mov ecx, DWORD[ebp+20]
sal ecx, 2
add eax, ecx
fld DWORD[eax]
fld DWORD[one_half_float]
fmulp st1, st0
fstp DWORD[edx]
.L2:
cmp DWORD[ebp+20], 0
setg al
sub DWORD[ebp+20], 1
test al, al
jne .L3
pop ebp
ret

section .data

one_half_float:
dd 0.5

AEffect:
db 'PtsV'
dd dispatcher, process, setParameter, getParameter, 0, 0, 1, 1, 1 << 4, 0, 0, 0, 0, 0, 0., 0x1337babe, 0, 'MSAV', 1337, processReplacing, processDoubleReplacing
%rep 56
db 0
%endrep
; WARNING!
; This is highly experimental and is probably going to crash your host ... it works in REAPER (4.25; running in Linux under WINE) though.