Posts by Ace17

    Ruari: it's very hard to estimate the quality of any oscillator only by looking at the waveform. At least, look at the spectrum, which is more important here.

    You do not want to generate a signal whose waveform looks close to the reference signal : you want to generate a signal whose frequency content is close to the reference signal frequency content. Because this is the only thing your ears will pay attention to.

    And guess what : in a digital world, the closest waveform generally sounds like shit.

    Waveforms which contain discontinuities (square wave) or sharp edges (triangle wave) have a spectrum which extends to infinity. But frequencies higher than half the sampling rate can't be represented in a digital signal.
    Unfortunately, those frequencies don't magically disappear, instead, they get reflected into the range of frequencies your sampling rate can represent.

    Which means you now have a signal full of alien frequencies, some of them going down as your pitch increases ; in one word, your oscillator aliases.

    You have to filter all of these non-audible high frequencies, which means smoothing the sharp edges of your signal.

    Take a look at the picture below.
    In red, the reference square wave. In an analog world, this would probably be what you would aim for.
    In blue, the filtered square wave. See what happens on the edges? This is not a bug in the synthesis algorithm, this is something you actually want! Because this is what allows you to stay close to a square wave, but without having edges in your signal.
    [Blocked Image:]

    Please guys, calm down!
    What a pity seeing you fighting on this forum when you obviously both have the knowledge to understand each other ;
    I'm following this thread from the beginning, and I'm disappointed to have to read through your mutual insults to grab the precious pieces of knowledge you're both bringing here.

    Here's my technical understanding, please correct me if I'm wrong :
    1- the output sampling rate and the internal processing sampling rate are two very different things.
    2- an output sampling rate high enough to allow non-audible frequencies is a waste of space
    3- a wav file at 96kHz can be downsampled to 48kHz without any audible difference (for a human).
    4- depending on how the internal audio processing is done, a processing sampling rate higher than the output sampling rate can be beneficial : this is what we call oversampling.

    Here are my questions then :
    5- Are there good reasons for wanting an output sampling rate higher than 48kHz?
    6- Wouldn't running the virus at 96kHz (internally) enhance synthesis/processing quality?
    7- What about processing latency? A lot of processing can't be done in parallel, so halving the polyphony may not suffice. I mean, if one of your processing units is sequential and can only process up to 60k samples every second, no matter what you do to polyphony, you can't achieve real-time performance in 96kHz.

    On the non-technical side, market adapts to what people will buy, not to what people will benefit from ; it's a fact that (for the same price) a 96kHz soundcard will sell better than a 48kHz one. Wether it makes an audible difference or not. Because, in everyone minds, bigger numbers are better. So I think arguments based on what recent gear do are irrelevant here.

    And for chilly7: a feature you're not using can still hurt you. I'm a software developer, and I know that a lot of bugs appear when features interact, even with disabled ones. For example, a lot of Virus users face the "detuned by one semitone" problem. It's due to an output sampling rate selection bug (44.1 vs 48), although a lot of us only use one sampling rate. So now, what would it be with 3 sampling rates? AtonyB is perfectly legitimate not to want this option on his synthesizer. BTW, I think AtonyB's goal is a lot more noble : he believes you're making a mistake and tries to explain his understanding to you (after all, he may teach DSP very soon!). So why so agressive?


    The same way you can upsample the Virus track once you've captured it - which I know you do.

    I think the OP wants the virus to run at 96kHz *internally*, to get the benefits of oversampling. You can't get this by simply upsampling the output.
    By the way, I'm not convinced there would be such a big difference. I think I'm eventually going to do my time-stretching experiment :-) (mentionned in my earlier post)

    What if I :
    1/ divide the tempo by two
    2/ play my sequence one octave lower
    3/ record the output at 48kHz (so during twice the duration of the sequence at the original tempo)
    4/ pretend it's actually 96kHz (so I get the correct duration, and the correct pitches).
    5/ finally downsample the recording to 48kHz

    Would I get something sounding near to what a Virus running internally at 96kHz would produce?

    (for the sake of simplicity let's suppose that all LFO frequencies, delay times, phaser frequency, etc. get updated accordingly).

    Too bad you run Macos, in the next version the plugin will feature knobs for mouse-access to parameters and automation support ! :thumbsup:

    ... and here it is :
    Ace Plugin Pack r280 (tested)
    Ace Plugin Pack r302 (testing)

    The plugin is called "AceVirusTi-rXXX.dll" (beware not to confuse it with the old AceMidiVirus!).

    This time, you need one plugin instance per part, so you can assign one sequencer track to one part of the Virus. Each part remember its settings, and exposes the Virus parameters as VST parameters. The audio still goes through your soundcard (not through USB). Automation is half-supported, there may be glitches if you overflow your MIDI output. Beware!

    [Blocked Image:…rusTi-r302-screenshot.jpg]

    Any comment is welcome!

    For the curious, the full source code is available on Launchpad.

    I've done away with the usb connection of my midi controllers, powered them all via one multi-out 9v adapter, and let the midi interfaces handle the midi. Finally bliss.

    You shouldn't.
    VC plugin, or more generally audio-over-USB may cause glitches ; but MIDI over USB is rock-solid. This is the way I use my Virus TI most of the time.
    As long as you don't instanciate the VC, you shouldn't have any issue.
    This way you can free some MIDI ports in your setup and eliminate two midi cables.
    edit: BTW you may find my plugin of interest :…page=Thread&threadID=2459

    Go to the Distortion menu, then press 'edit' : you're in the Vocoder menu. Then switch menus using "parameters" buttons : there are "vocoder", "input follower", "frequency shifter".
    No very intuitive, I must admit :-)

    Have you considered making aMac version of this plugin ? :)
    I cannot use this as I run OSX :(

    I'm sorry, but I've never developed for Macos. The plugin runs under Windows and I'm currently working on the Linux port.
    At the moment, the plugin uses a lot of Windows-specific MIDI wizardry (which is not needed under Linux) too allow multiple MIDI connections from the same process, I'm not even sure it will be possible to make it work under Macos.
    I may give it a try if some dudes (with minimal programming knownledge) are willing to help me with the testing :whistling:
    Too bad you run Macos, in the next version the plugin will feature knobs for mouse-access to parameters and automation support ! :thumbsup: