Jeanette, * Jeanette C. [2021-09-02 11:44]: > Hey hey, > I'd like to create a piano like instrument (for starters). Some research > lead me to a paper about modelling a piano based on waveguides: > https://quod.lib.umich.edu/i/icmc/bbp2372.1987.013/--modeling-piano-sound-using-waveguide-digital-filtering?rgn=main;view=fulltext > The author basically works with one-dimensional bidirectional waveguides. I > expect the work was based on general purpose programming language(s). > > I ran into quite a few challenges starting out. waveguide1 with higher > frequencies would quickly decay, far too fast. I experimented with different > cutoff settings and, naturally, the feedback. The pitch versus decay issue is already handled in the first paper by Karplus&Strong, as is tuning issues (for high pitches, semitones can amount to delay differences of less than one sample). You might want to look there. > Reading about waveguides with junctions and two delay lines, I wonder: > following the above paper, should I model one string with two waveguide1 > opcodes partially feeding back into each other? > > Or is there perhaps a newer or different approach to modelling a piano that > is easier to implement in Csound? Also check the work by Clayton Otey, http://large.stanford.edu/courses/2007/ph210/otey2/ which has some code here https://github.com/claytonotey/qiano and a neat OteyPianoStrings class in supercollider. best, P Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here