Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some notes on synth design #1

Open
suhr opened this issue Jul 28, 2018 · 6 comments
Open

Some notes on synth design #1

suhr opened this issue Jul 28, 2018 · 6 comments

Comments

@suhr
Copy link

suhr commented Jul 28, 2018

  • Please, don't hard code 12edo. Allow the user to choose any tuning he wants.
  • Is Thiran allpass the best choice for a fractional delay? Here you'll find an overview of various fractional delay filters as about deinterpolation filters.
  • There's no UI, so why not add an OSC instead? This will allow you to control the synth via Open Stage Control.
@imchristina
Copy link
Owner

  • Obviously different tunings can be very useful. Most code here is probably temporary and will be rewritten once I understand how things work, including any user-accessible options.
  • I was just going off of what was done here. It's probably not ideal, but at least there's example code to go along with it. I have absolutely no experience in DSP whatsoever, so I have no idea what I'm doing.
  • That looks like a good idea, but right now I'm only focusing on getting the thing working.

Thank you very much for your suggestions.

@suhr
Copy link
Author

suhr commented Jul 28, 2018

I see. Well, you may also take a look at my little synth. It is rather Karplus-Strong like and doesn't do anything advanced, but it works.

Note though that Lagrange5Fd might be overkill and the PowerMeter hack doesn't work the way I wanted it to work.

I have absolutely no experience in DSP whatsoever, so I have no idea what I'm doing.

I don't have much experience either, but I have some knowledge to understand what's going on. So I could help (it is always good to have an another microtonal instrument).

@imchristina
Copy link
Owner

Wow, your synth looks very nice and clean. If I can't figure this out I might just steal some of your code.

If you want to help I would greatly appreciate it. This project has been moving at a snails pace.
I can start a group chat or something to make collaboration easier. Tell me if there's anything you want me to do.

@suhr
Copy link
Author

suhr commented Jul 28, 2018

Tell me if there's anything you want me to do.

  1. Make a great microtonal synth

Some points:

  • A great thing about physical modelling is it is highly modular. You don't have to implement everything at once, you can start from the most simple thing. For example, a single string without inharmonicity excited by a noise burst
  • Though on diagrams the string is often spilt into many parts, you don't have to do the same in the implementation. The junction can just access the vector in the middle. Just indexing is enough for approximate position, indexing plus (de)interpolation can be used for precise position
  • In fact, you could even have only one buffer per string. But I believe it can be more practical to have two
  • Make sure your synth is in tune! Filters add a delay, so adding them into the loop affects the tuning
  • Don't worry much about the soundboard, it's unlikely you can reproduce it any precisely (unless you have got an impulse response of the soundboard). An electric grand piano is fine too. But you should care about string coupling, even electric pianos have it.

I can start a group chat or something to make collaboration easier.

For now, the github issue is enough.

@imchristina
Copy link
Owner

unless you have got an impulse response of the soundboard

I found this from a quick search.

@suhr
Copy link
Author

suhr commented Jul 28, 2018

Quite interesting, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants