GithubHelp home page GithubHelp logo

oxesoft / oxefmsynth Goto Github PK

View Code? Open in Web Editor NEW
176.0 176.0 27.0 890 KB

Oxe FM Synth official repository

Home Page: https://oxesoft.wordpress.com/

License: GNU General Public License v3.0

Makefile 0.08% C++ 17.62% C 81.93% Objective-C 0.37%

oxefmsynth's Introduction

Daniel Moura

linkedin Gmail Badge

Senior Technical Software Manager at CESAR

oxefmsynth's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oxefmsynth's Issues

Port Oxe FM Synth to GPLv3-ed VST3

It seems that Steinberg has released the VST3 SDK under the GPLv3 license (on a repo here on Github). At the same time, it seems that VST2 support is coming to an end.

It's possible to build both VST2 and VST3 versions of plugins. I suggest that at the very least, users can choose to build a VST3 version. This would require some modifications to the code, of course, since it seems that the APIs are different (I am no VST expert but I can't find AudioEffectX in VST3, for example).

Black window instead of gui

It is not possible to use gui as I can only see a black window.
plugin built from sources (AUR)
Arch Linux x86_64, kernel 4.4.5-1-ARCH, gcc 5.3.0, mesa 11.1.2-1, nvidia 361.28-4
Tested hosts: Bitwig Studio, Renoise, Ardour

Binary version does not load at all with message (undefined symbol: glDrawArrays)

oxe linux vst crashes Ardour 4.4

Hi...The latest version 1.3.4 crashes Ardour 4.4.621+r14315 in Linux Mint 17.3 64bit. I downloaded the plugin tar, then put the so files in ~/.vst. Ardour sees the plugin but inserting it into a track all by itself crashes Ardour. Running Ardour from terminal, here's the error displayed:

actually writing state to /home/mo/Numero Uno/Numero Uno.tmp renaming state to /home/mo/Numero Uno/Numero Uno.ardour /usr/lib/x86_64-linux-gnu/ardour4/ardour-4.4.621+r14315: symbol lookup error: /home/mo/.vst/oxe/oxevst64.so: undefined symbol: glXQueryExtension

Please let me know if you need any further information to reproduce this issue. Thanks!

osx

@oxesoft me dá uma ideia de como rodar num osx? só com VM mesmo? preciso de uma luz, hahaha, C definitivamente não é a minha praia... até tentei fazer o build dentro de um docker, mas por motivos óbvios que pensei agora isso não faz sentido nenhum hahaha.

Plogue Bidule does not recognize oxefmsynth on MacBook Pro

Dear programmer, Greetings. The demos posted on YouTube for this program are simply amazing. I have downloaded oxefmsynth.vst to my Apple MacBook Pro, which is equipped with OS X 10.11.6 El Capitan operating system. I am using Plogue Bidule version 0.9752 as the host program. I have had no problem using Bidule as a host for other softsynths. Bidule does not recognize oxefmsynth.vst, even though it is located in the same folder as are the other softsynths. (~Library/Audio/Plug-Ins/VST). I am new to the Apple operating system. My skills at computer programming are insufficient to solve this problem by myself. Any suggestions or assistance would be greatly appreciated. Thank you. 3261Lee

Is the reverb mono?

I was a bit surprised to notice that the reverb effect doesn't seem to produce any stereo image.

Removing from renoise causes a crash

I'm using the latest 64 bit binary in renoise (linux) and I have found that oxefmsynth can crash renoise.

Load the synth, right click on it in the instrument list, choose delete. At this point renoise crashes. It doesn't seem to do it every time but is fairly consistent .

Saving Presets

Hi, first thank you for making this great VST/Plug in, love the sounds.

I'm wondering if there is a way to save new or customized sounds as presets?
I tried and it saved the entire preset library

OS: Windows 7
DAW: FL Studio 12

Please make pitch bend range configurable

I really love this synth but it's missing an essential (IMO) feature: configurable pitch bend range (up to 24 semitones).

Can you please add it? :)
It would just require one more knob (there is still GUI space below the Oxe logo).

Btw, does the synth respond to the pitch bend range RPN?

(Both would be desirable but the latter would be sufficient as a workaround for now (easier to implement because it doesn't require changes to the GUI)).

Sometimes clipping happens when reverb volume is on maximum

When I put the reverb volume on maximum and play certain notes with certain patches (e.g. program 48: PercOrgan) the sound is clipping.
Maybe it makes sense to have a master volume knob or a simple internal compressor like sylenth? (or a tube waveshaper as soft knee limiter)

Can't set up Mingw for OxeFMSynth + scaling issues?

SOLVED: [Oxe Synth is really small, and is hard to use, especially for a beginner. I wish, if there were a drop-down option, or maybe for now, a bigger GUI. Is it possible to do that?]

And would there be a guide on how to build for Windows? I think that I have mingw - which comes preinstalled with Git Bash, or Railsinstaller. What next? Because maybe, I could figure it for myself?

Aliasing and quantization distotion

I've noticed two problems with the sound quality, even when using the "HQ" option.

  • Aliasing distortion for high pitched notes (best heard with Saw waveforms)

  • Quantization distortion for quiet notes (best heard with quiet Sine wavesforms with long decay)

Here's a video demonstrating this (you'll need to listen loudly to be able to hear that, but the spectrogram shows the problems very cleanly):

https://youtu.be/8kb7at02WgM

Black GUI on Linux

Hi,

I managed to build the latest version of OXE on Linux and the VST works inside recent Bitwig soundwise.
The GUI though is black inside the host as well as in the standalone version.

Do I put a skin folder next to the vst plugin into my vst path to use the skin inside my host
like I should with the standalone version?

I'm on Linux Xubuntu 15.10 XFCE 4.12.

Rework user interface

There's a room for improvement.

Some possible improvements:

  • Switch programs via a list or arrows, add a dialog with folders and categories to load/save banks/programs.
  • Draw envelope curves
  • Modulation matrix: connect values with lines to form circuit (FM8 style)
  • Add a midi keyboard (yes, very please)
  • Make UI less ugly (not a UX issue, but still)

Look at Helm and Dexed (both are free software) to see how a good UI can look like.

How do I name preset?

I swear the only thing I haven't figured out is how to enter letters into the GUI to name my preset, something really wrong if the GUI can't handle something like this easy.

Fix: Reverb wrapping distortion caused by integer overflow in calculation

This has been an outstanding issue for a while, but after looking at the output from a wave recording in a sound editor, the shape of a sine wave with reverb turned on and playing them at the loudest volume made it obvious.

Been trying to fix it on my own in the code but there seems to be some funny quirks with the coefficients in the calculation in synth/reverb.cpp (even after trying to simply clip to the INT_MAX/INT_MIN of possible culprits in the equations). In any case, here's a WAV recording of the symptoms in its obvious form (you can see it wrap the sine waveform in an oscilloscope): https://dl.dropboxusercontent.com/u/1287967/oxefmsynth-reverbwrappingdistiort.mp3

EDIT: on further investigation, it may well also be an issue with synthesizer.cpp unctions for SumStereoMono() and SumMonoStereo() since they sum integers without taking into account of any possible overflow wrapping?

Where can I find vstsdk2.4?

I'm trying to compile from clone of this repository on Fedora 32. Converter/demo/standalone are working, but VST build gives me this:
Makefile.vstlinux:18: *** Please set the VSTSDK_PATH environment variable to the vstsdk2.4 path. Stop.
make: *** [Makefile:27: all] Error 2

Links to vstsdk2.4 on steinberg site are all broken. Can someone add it to this repo?

Linux LFO doesn't work

Using oxevst64.so (from oxevst133.zip)

When I edit a LFO parameter while playing a note I can hear the changes to the sound.
However when a new note is played the LFO no longer has any effect on the sound.

Hope I made myself clear :-)

Other waveforms?

I wonder if it'd be possible to allow using other waveforms apart from sine waves?
I think It'd really kick up it's possibilities.

I have no idea if that's feasible with the synth's internal design.

Crash in Qtractor 0.7.1

Hi. I tried to launch oxe in qtractor 0.7.1, but it crashes. To reproduce, add midi track with oxe plugin, then in the oxe configuration dialog window click "edit" (see screenshot http://wstaw.org/m/2015/11/25/53_1.jpeg)

Here is Backtrace:

(gdb) bt
#0  0x00007fcc4077f2b1 in _exit () at /lib64/ld-linux-x86-64.so.2
#1  0x00007fcc407766b9 in _dl_signal_error () at /lib64/ld-linux-x86-64.so.2
#2  0x00007fcc4077676e in  () at /lib64/ld-linux-x86-64.so.2
#3  0x00007fcc407725f1 in _dl_lookup_symbol_x () at /lib64/ld-linux-x86-64.so.2
#4  0x00007fcc40775d37 in _dl_fixup () at /lib64/ld-linux-x86-64.so.2
#5  0x00007fcc4077c225 in _dl_runtime_resolve () at /lib64/ld-linux-x86-64.so.2
#6  0x00007fcc283d5027 in CXlibToolkit::CXlibToolkit(void*, CEditor*) () at /home/u1/.vst/oxevst134.vst/oxevst64.so
#7  0x00007fcc283d391b in COxeVstEditor::open(void*) () at /home/u1/.vst/oxevst134.vst/oxevst64.so
#8  0x00007fcc283ea01d in AudioEffect::dispatcher(int, int, long, void*, float) () at /home/u1/.vst/oxevst134.vst/oxevst64.so
#9  0x00007fcc283eb7ed in AudioEffectX::dispatcher(int, int, long, void*, float) () at /home/u1/.vst/oxevst134.vst/oxevst64.so
#10 0x0000000000578da7 in qtractorVstPlugin::vst_dispatch(unsigned short, long, long, long, void*, float) const (opt=<optimized out>, ptr=<optimized out>, value=<optimized out>, index=<optimized out>, opcode=<optimized out>, this=<optimized out>) at qtractorVstPlugin.cpp:447
#11 0x0000000000578da7 in qtractorVstPlugin::vst_dispatch(unsigned short, long, long, long, void*, float) const (this=<optimized out>, iInstance=<optimized out>, opcode=<optimized out>, index=<optimized out>, value=<optimized out>, ptr=<optimized out>, opt=<optimized out>) at qtractorVstPlugin.cpp:1047
#12 0x000000000057a57c in qtractorVstPlugin::openEditor(QWidget*) (pVstPlugin=<optimized out>, this=0x354d520) at qtractorVstPlugin.cpp:208
#13 0x000000000057a57c in qtractorVstPlugin::openEditor(QWidget*) (this=<optimized out>, pParent=0x7fff85c52160) at qtractorVstPlugin.cpp:1088
#14 0x0000000000624e85 in qtractorPluginForm::editSlot(bool) (this=0x3c8e5a0, bOn=<optimized out>) at qtractorPluginForm.cpp:670
#15 0x00007fcc3d5761fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#16 0x00007fcc3e0f0bf2 in QAbstractButton::toggled(bool) () at /usr/lib64/libQtGui.so.4
#17 0x00007fcc3de554f8 in QAbstractButton::setChecked(bool) () at /usr/lib64/libQtGui.so.4
#18 0x00007fcc3de55112 in  () at /usr/lib64/libQtGui.so.4
#19 0x00007fcc3de5523c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib64/libQtGui.so.4
#20 0x00007fcc3df0c16a in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib64/libQtGui.so.4
#21 0x00007fcc3daf6c0a in QWidget::event(QEvent*) () at /usr/lib64/libQtGui.so.4
#22 0x00007fcc3daa776c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#23 0x00007fcc3daaddea in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#24 0x00007fcc3d5622ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4
#25 0x00007fcc3daad5e3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib64/libQtGui.so.4
#26 0x00007fcc3db1ec9b in  () at /usr/lib64/libQtGui.so.4
#27 0x00007fcc3db1d70c in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib64/libQtGui.so.4
#28 0x00007fcc3db445c2 in  () at /usr/lib64/libQtGui.so.4
#29 0x00007fcc3ae8aa04 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#30 0x00007fcc3ae8ac48 in  () at /usr/lib64/libglib-2.0.so.0
#31 0x00007fcc3ae8acec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#32 0x00007fcc3d58f0be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#33 0x00007fcc3db44676 in  () at /usr/lib64/libQtGui.so.4
#34 0x00007fcc3d560e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#35 0x00007fcc3d561165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#36 0x00007fcc3d5665b9 in QCoreApplication::exec() () at /usr/lib64/libQtCore.so.4
#37 0x0000000000435279 in main(int, char**) (argc=1, argv=<optimized out>) at qtractor.cpp:656

Preset saving\loading bugs in Ardour

Hi. I am using Ardour 4.4 on Linux with oxe-fm-synth v1.3.4.
There are two issues:

  1. When previously saved Ardour session is loaded - oxe does not restore previously loaded preset - it always loads first avaliable preset - Glassy Piano. (ardour preset selector says prevoius preset is loaded, but really it is not - you can hear that it sounds like Glassy Piano, and see all the knobs are wrong)
    Expected result: oxe should load prevoiusly saved preset.
  2. When i choose some preset, move some knobs and save the session - this preset gets overwritten by current state of knobs (for this instance of oxe-synth plugin). If i will ever want to return to the original preset - i will have to delete this plugin instance, create another one and select wanted preset. This is not how other plugins handle presets. Preset should never be implicitly overwritten (even for single plugin instance) - there is "save" button for this. Also current knobs state can be saved by user explicitly as new preset. Also current sate should be saved when session is saved, but should not overwrite any named preset.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.