electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
go to the radio page Live at electro-music.com radio 1 Please visit the chat
  host / artist show at your time
today> Modulator ESP Adventures In Sound
 Forum index » DIY Hardware and Software
Physical Models
Post new topic   Reply to topic Moderators: jksuperstar, Scott Stites, Uncle Krunkus
Page 1 of 4 [99 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Goto page: 1, 2, 3, 4 Next
Author Message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Wed Feb 13, 2008 9:22 am    Post subject: Physical Models Reply with quote  Mark this post and the followings unread

Is anyone other than me doing physical model experiments?

Since I have a successful physical model synth (Karplus-Strong one dimensional string) working, I want to create more models for different sounds.

My own goal is not necessarily to make an exact model of a piano or any other existing natural instrument, rather, I would like to use principles of physical modelling and create new instruments with natural characteristics.

My current interest is a modification of my string model. Currently, it exists only as a C program that generates raw data which is then converted to .WAV using the "sox" program.

The model uses two delay lines, one is long, the other is short. The first's (the long one) output is coupled to the second's input, both delay line outputs are weighted and summed, IIR filtered and sent to the input of the first delay line. The idea was to create a digital waveguide with a "soft" reflection point. Ultimately, I would like to have multiple reflections by using many short delay lines after the long one, but for now its only two.

Anyone else done something like this?

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima

Last edited by JovianPyx on Wed Feb 13, 2008 11:05 am; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
frijitz



Joined: May 04, 2007
Posts: 1734
Location: NM USA
Audio files: 54

PostPosted: Wed Feb 13, 2008 10:25 am    Post subject: Re: Physical Models Reply with quote  Mark this post and the followings unread

ScottG wrote:
Is anyone other than me doing physical model experiments?

I was interested in PM for quite a while, but not so much any more -- I found a used VL1-m at a price I could afford.

I probably mentioned this before, Scott, but there is a wealth of good info in the old Yamaha patents.

There was a diy PM project on the wind-list a number of years ago. The developer got a simple model running in real time on a Sun workstation, but then he lost interest, so the project ended up pretty much not going anywhere.

Very Happy

Ian
Back to top
View user's profile Send private message
mandrigora



Joined: Jun 04, 2007
Posts: 51
Location: maryland

PostPosted: Wed Feb 13, 2008 2:12 pm    Post subject: Reply with quote  Mark this post and the followings unread

If want something sans DIY, see the Technics WSA-1, it is a modelling synth that does pretty much exactly what you describe.
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Wed Feb 13, 2008 2:54 pm    Post subject: Reply with quote  Mark this post and the followings unread

mandrigora wrote:
If want something sans DIY, see the Technics WSA-1, it is a modelling synth that does pretty much exactly what you describe.


This would definately be DIY, it seems to work in an FPGA.

Ian: yeah, I remember now - I just did some searches, but while googling "yamaha physical model patent" yields lots of hits, I found nothing useful. Is this the wrong way to search?

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
frijitz



Joined: May 04, 2007
Posts: 1734
Location: NM USA
Audio files: 54

PostPosted: Wed Feb 13, 2008 4:03 pm    Post subject: Reply with quote  Mark this post and the followings unread

ScottG wrote:
I just did some searches, but while googling "yamaha physical model patent" yields lots of hits, I found nothing useful. Is this the wrong way to search?

There used to be a big list up somewhere but I don't find it in my bookmarks. It may have been on windsynth.org, which is now defunct.

But here is a good looking page I turned up. It is for NM programmers, but it has plenty of basic info and links.

http://www.cim.mcgill.ca/~clark/nordmodularbook/nm_physical.html

Very Happy

Ian
Back to top
View user's profile Send private message
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24085
Location: The Netherlands, Enschede
Audio files: 278
G2 patch files: 320

PostPosted: Wed Feb 13, 2008 4:31 pm    Post subject: Reply with quote  Mark this post and the followings unread

Maybe try to contact Chet Singer he is really into physical modeling (on the NM and IIRC reaktor). I'm sure he'll have some links for you.
_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24085
Location: The Netherlands, Enschede
Audio files: 278
G2 patch files: 320

PostPosted: Wed Feb 13, 2008 4:34 pm    Post subject: Reply with quote  Mark this post and the followings unread

Also see: http://electro-music.com/pm_tutorial/
_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24085
Location: The Netherlands, Enschede
Audio files: 278
G2 patch files: 320

PostPosted: Wed Feb 13, 2008 4:35 pm    Post subject: Reply with quote  Mark this post and the followings unread

And : http://www.cs.princeton.edu/~prc/AKPetersBook.htm
_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
williamsharkey



Joined: Jul 31, 2005
Posts: 61
Location: usa

PostPosted: Thu Feb 14, 2008 9:10 am    Post subject: Reply with quote  Mark this post and the followings unread

Think of different arrangements for strings. For example, how would you model three strings connect to each other at the center, to form a Y.


Also think about introducing objects near the string. For example, how would you model placing a human finger near a string, to damp it?


Or how might you model a string, that part of lying on a table top. Like this

Code:
_______________string________
 TTTTableTTTT
Back to top
View user's profile Send private message AIM Address
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Fri Feb 15, 2008 8:36 am    Post subject: Reply with quote  Mark this post and the followings unread

williamsharkey wrote:
Think of different arrangements for strings. For example, how would you model three strings connect to each other at the center, to form a Y.

Also think about introducing objects near the string. For example, how would you model placing a human finger near a string, to damp it?

Or how might you model a string, that part of lying on a table top. Like this

Code:
_______________string________
 TTTTableTTTT


Yes, I understand this much, I read somewhere that one should "think physical" or "think physics" when designing these models. Would that I could go back 35 years in time and re-educate myself in physics and a bit more math.

Ian and Blue Hell posted some good links, I may need to buy a book. For now, I've found information on models other than what was my initial interest when I started this thread (drums). It helps me to have the model well described, especially with block diagrams as clues. Articles on many models I've found have too little detail. However, recently I found a description for a "slide flute" model (Perry Cook) with almost enough information to try to implement a design. Once I do this, I can play with the model to change it (or learn by breaking it).

The slide-flute model contains some things that aren't altogether clear to me. First, there is mention of a DC problem (with no articulated solution, only a mention that it was solved) and in another paper on the same subject, the block diagram was modified to include a block called "DC killer" with the notation "Hdcx(z)". From my analog electronics, I understand a "DC killer" to be an AC coupling, as in a series capacitor followed by a resistor to ground - which forms a high pass filter. Is Hdcx(z) a simple highpass filter (like an IIR?).

The other thing I don't fully understand is the significance of the nonlinear element: "The cubic polynomial (x - x ³) models the interaction between energy bouncing back from the end of the flute bore with incoming breath pressure.." - I get that this function forms a spline curve for y when x >= -1 and x <= 1, but I have to wonder if cubic is based on a real fact of physics or if any spline function, like a 5th power would work too, but sound different. From the bits and pieces I've put together on this, it appears that this nonlinearity will give rise to the frequency doubling that occurs when a flute is overblown. A clarinet model I've seen also uses a cubic nonlinearity.

Please pardon my lack of knowledge in the area of physics...

Ref:
http://ccrma.stanford.edu/software/clm/compmus/clm-tutorials/pm.html
http://www.tml.tkk.fi/Research/DIVA/past/publications/NAM96/rjh/html/paper.htm

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
williamsharkey



Joined: Jul 31, 2005
Posts: 61
Location: usa

PostPosted: Fri Feb 15, 2008 9:03 am    Post subject: Reply with quote  Mark this post and the followings unread

>Yes, I understand this much, I read somewhere that one should "think physical" or "think physics" when designing these models. Would that I could go back 35 years in time and re-educate myself in physics and a bit more math.

I agree with the idea of thinking physical.

>Ian and Blue Hell posted some good links, I may need to buy a book. For now, I've found information on models other than what was my initial interest when I started this thread (drums). It helps me to have the model well described, especially with block diagrams as clues. Articles on many models I've found have too little detail. However, recently I found a description for a "slide flute" model (Perry Cook) with almost enough information to try to implement a design. Once I do this, I can play with the model to change it (or learn by breaking it).

I do not use equations or models for strings or drum membranes. Because, to me that takes the physical, fun part out of it. I don't have an intuitive understanding of the equations.

I don't know if this is the way you're supposed to "do it", but I will explain my method:

What I do is create points.

Points are the building block of my models.

I understand points. They only have a few qualities: Mass, Position, and Velocity.

I know the equations for points. It kinetics that I learned in high school. F=MA , things like that.

Then, I think of a thing I want to model. Like a string.

So I simplify it. What is the minimum number of things/relationships that I need to model a string? Here's how I might answer it:

I need 2 dimensions.

I need about 20 points connected to each other.

I need to Fix the position of the start and end point.

I need to give each point two neighbors: Left and right.

I need to decide how the neighbors affect point. For me, I guessed neighboring particles were attached like bowling balls with springs between them.

Okay, so I put all this information into Matlab, or whatever language/system you use.

Then I "pluck" one of the points away from the rest, and run the string program. It starts to vibrate. I watch the graph.

Sometimes I store the position of a point versus time, and export this as a wave. Guess what, it sounds like a string! =)

The cool thing about this model, it that I can add more strings to it, or place objects (like a "finger") in proximity of it. Its really easy to do.

Now, my challenge to people who use a K-S model of a string, how would *you* place an object near the string? I just insert some points. But, i guess that for you, you must rework the entire model/equations. It is not easy to modify. (I think, I know very little in this area.)


I'm not sure if what I do is actually Physical modeling. It might be better described as physical simulation...
Back to top
View user's profile Send private message AIM Address
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Fri Feb 15, 2008 9:17 am    Post subject: Reply with quote  Mark this post and the followings unread

Again, please pardon my ignorance...

I see what you're doing, you're thinking in an almost quantum manner it seems, predigitalizing things by resolving them to quantum points? That would fit the Karplus-Strong string model I implemented where the delay line that represents the string is actually 2048 points (the delay line) with the endpoints fixed. If I smack one of the points (the simplest way to energize the system), the string vibrates.

However, a string vibrating in one dimension with infinitely rigid endpoints seems easy to envision this way.

How would you, using "the points method" go about designing what Mr. Cook describes as a slide flute - with the ability to make "overblown" frequency changes?

From the Cook paper, it seems he started with a Karplus-Strong model and modified it with the embouchure delay line and nonlinearity and the coupling of the two systems.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
williamsharkey



Joined: Jul 31, 2005
Posts: 61
Location: usa

PostPosted: Fri Feb 15, 2008 9:22 am    Post subject: Reply with quote  Mark this post and the followings unread

Quote:
How would you, using "the points method" go about designing what Mr. Cook describes as a slide flute - with the ability to make "overblown" frequency changes?


This is a GREAT challenge. I'll see if I can do this with my point-system this weekend, though I suspect I will fail. But I like a well-defined challenge =)
Back to top
View user's profile Send private message AIM Address
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Fri Feb 15, 2008 9:30 am    Post subject: Reply with quote  Mark this post and the followings unread

williamsharkey wrote:
Quote:
How would you, using "the points method" go about designing what Mr. Cook describes as a slide flute - with the ability to make "overblown" frequency changes?


This is a GREAT challenge. I'll see if I can do this with my point-system this weekend, though I suspect I will fail. But I like a well-defined challenge =)


Cool Well, I'm just here to learn, and then to make synthesizer systems (for me, it's FPGA designs) that I can play as a musician - so I will appreciate this if you have the time and interest. And my sister is a professional flautist and music teacher, I'm sure she'd be interested to hear a synflute. I don't want to model a flute per se, I want to model something like a flute that acts in similar ways, but doesn't necessarily sound exactly like a real flute.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
frijitz



Joined: May 04, 2007
Posts: 1734
Location: NM USA
Audio files: 54

PostPosted: Fri Feb 15, 2008 11:33 am    Post subject: Reply with quote  Mark this post and the followings unread

ScottG wrote:
The other thing I don't fully understand is the significance of the nonlinear element: "The cubic polynomial (x - x ³) models the interaction between energy bouncing back from the end of the flute bore with incoming breath pressure.." - I get that this function forms a spline curve for y when x >= -1 and x <= 1, but I have to wonder if cubic is based on a real fact of physics or if any spline function, like a 5th power would work too, but sound different. From the bits and pieces I've put together on this, it appears that this nonlinearity will give rise to the frequency doubling that occurs when a flute is overblown. A clarinet model I've seen also uses a cubic nonlinearity.

A driven instrument such a a woodwind, brass or bowed string, will not oscillate unless there is a nonlinear element. The exact nature is often not critical as far as getting oscillations.

I hope you have looked at my explanation of the simple model for clarinet. It's a "slide" clarinet with many simplifications of the physics, but it is probably the simplest -- and the earliest -- physical model of a wind instrument. It is basically the same as the "delay line" models of JO Smith and the Yamaha VL instruments.
http://home.comcast.net/~ijfritz/pm_close.htm

You should be able to find the early Stanford digital waveguide work at the CRMA website. I sent you links for that and other references, including Yamaha VL patents, yesterday.

I hope this is helpful. I worried that I'm not understanding your questions.

Very Happy

Ian

Last edited by frijitz on Fri Feb 15, 2008 11:50 am; edited 1 time in total
Back to top
View user's profile Send private message
frijitz



Joined: May 04, 2007
Posts: 1734
Location: NM USA
Audio files: 54

PostPosted: Fri Feb 15, 2008 11:49 am    Post subject: Reply with quote  Mark this post and the followings unread

williamsharkey wrote:
I agree with the idea of thinking physical.

I do not use equations or models for strings or drum membranes. Because, to me that takes the physical, fun part out of it. I don't have an intuitive understanding of the equations.

Well, it's probably not too fruitful to get into a semantic argument here, but physics *is* the mathematical description of natural phenomenon. You almost seem to be using the word "physical" more in the sense of "physical education" or something.

Quote:
I don't know if this is the way you're supposed to "do it", but I will explain my method: ...

It seems to me that what you are describing is a finite element model of a linear system. You certainly do have real physics with math in there, or you wouldn't be able to write your equations.

The question I have to ask you is whether you can do this in real time, because that is what Scott is looking for.

Quote:
I'm not sure if what I do is actually Physical modeling. It might be better described as physical simulation...

Sure it is. But you couldn't do a clarinet with it.

Very Happy

Ian
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Fri Feb 15, 2008 12:17 pm    Post subject: Reply with quote  Mark this post and the followings unread

frijitz wrote:
I hope this is helpful. I worried that I'm not understanding your questions.Ian


No no, it's me - I am starting with such a vacuum of knowledge that I am perhaps unable to articulate questions properly, so along I stumble. I'll have a look at your clarinet info for filling in the gaps (thanks). Often the college papers I read aren't written in layman's English and may contain jargonic references to things I'm expected to already understand, but clearly I do not. I realize that implementing the K-S string model is a first basic step, so I'm looking for all kinds of guidance. Your last post or so suggests to me that I need to implement some different known working models as the primary steps in learning this. This flute model looked simple enough to get going in an FPGA.

And yes, you're very right about real time, I want to build FPGA based MIDI instruments that play like any other.

EDIT ADD: Regarding the DC killer, I found this:
http://ccrma.stanford.edu/~jos/filters/DC_Blocker.html#21350

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
doctorvague



Joined: Mar 14, 2007
Posts: 281
Location: new mexico
Audio files: 2

PostPosted: Sun Feb 17, 2008 11:55 am    Post subject: Reply with quote  Mark this post and the followings unread

If you have access to Reaktor, there is a wonderful PM ensemble called Steampipe that is bundled with Reaktor. It sounds excellent and does some very cool overblown effects on the flutes. Perhaps you could look under the hood and see how it was built?

Cheers
Phil
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Sun Feb 17, 2008 12:17 pm    Post subject: Reply with quote  Mark this post and the followings unread

doctorvague wrote:
If you have access to Reaktor, there is a wonderful PM ensemble called Steampipe that is bundled with Reaktor. It sounds excellent and does some very cool overblown effects on the flutes. Perhaps you could look under the hood and see how it was built?

Cheers
Phil

Thanks, I may need to do that, but the last thing I need right now is another learning curve. I'm looking also at the C++ Synthesis Toolkit since I can read C++.

There are really just some small details now that I don't have ironed out. A small amount of inconsistency between model articulations in different documents I have is one of them, but I may be able to iron those out experimentally. I'm about ready to implement the model with a C program (easier than an FPGA design to debug) as a precursor to the final implementation in Verilog. I've done some calculations and it looks like the FPGA I have will accomodate a single flute (Phloot? PhLUTe?) instrument using only the FPGA resources (this approach makes the design easier to implement). It will be capable of a pitch range that extends both above and below a standard concert flute so that it should provide bass flute to the top of standard flute range and a few notes above that.

EDIT UPDATE (Feb 17, 2008): I got the C implementation working in floating point. I must say, it does sound like a flute and I observed overblown octave behavior.

EDIT UPDATE (Feb 19, 2008): The Verilog project is now well on it's way. It will be a monophonic instrument due to RAM demands. I may have it working in about a week and I will post an update with sound when I get it done. It will be called 'phLUTe'.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Fri Feb 22, 2008 8:02 am    Post subject: Reply with quote  Mark this post and the followings unread

I now have a working fixed point model using integer arithmetic in C that I've translated from the first cut code which used double precision floating point arithmetic. It works down to 18 bit signed fixed point which means it's ready for the FPGA. Most of the structure for the FPGA is in place and I will be ready to test it perhaps today. The state machine uses 1 clock for init and 11 clocks for each pass. I will use decimation of a 2 MHz sample rate (running the state machine twice for each DAC enable) to down convert it to 1 MHz. It's fast enough that I could do 4 to 1 (picollo?).

It was indeed a challenge (as usual) to move from double float to fixed point arithmetic using integers, but at least I've proved the concept for the target environment.

As for the DCkiller, it is just a specially designed simple digital high pass IIR type filter. I found the filter specifics on Stanford's Julius O. Smith website where it is called a "DC Blocker". Here.

A funny thing happened to me - I had set the bore length to an arbitrary value and then when I got it working, I noticed that it took a rather long time to come up to full amplitude when resonation began. Then I realized that I had a very l-o-n-g bore... Shortening it fixed the slow amplitude climb.

What surprised me was how little energy is required to sustain resonant behavior once it starts. Due to this fact, a very clear tone is possible even though the system is energized by wideband noise.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima

Last edited by JovianPyx on Fri Feb 22, 2008 1:05 pm; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
bugfight



Joined: Aug 02, 2007
Posts: 188
Location: Arlington, TX USA

PostPosted: Fri Feb 22, 2008 1:00 pm    Post subject: Reply with quote  Mark this post and the followings unread

this is very interesting, scott
looking forward to hearing it.
"soon" i will actually set up my fargin 3e...
so many projects, etc etc
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Fri Mar 07, 2008 7:12 pm    Post subject: Reply with quote  Mark this post and the followings unread

Some success today, the FPGA version of the phLUTe appears to be working. It looks like I need to implement a fractional delay filter in the design. The system works at relatively short waveguide lengths. Getting it to hit the fundamental for the waveguide length requires lower jet energy as the waveguide length is increased. Too much, and it overblows and locks onto a harmonic, usually an octave or a fifth. The more the overblow, the higher the harmonic. Using 18 bit arithmetic, I'm having difficulty getting a bore with a length of 256 to oscillate at it's fundamental because it's overblown even with very low input. Shorter wavelengths lock to the fundamental more easily. I'm trying different things with the jet envelope and that's helping, but I doubt that I can get the length to over 10,000 as I had planned. Hopefully I can find enough information on fractional delays to implement that and then run it at a lower sample rate consistent with the shorter waveguide. If I can get all that working, I may be able to get 8 pipes polyphony.
_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Sun Mar 09, 2008 1:33 pm    Post subject: Reply with quote  Mark this post and the followings unread

A couple of days worth of PDF collecting and reading resulted in a choice between the Thiran Allpass and the LaGrange Interpolator for providing fractional delays. The LaGrange Interpolator (an FIR type filter) of first order is a simple linear interpolator and as such is not computationally burdensome (the Farrow structure is 2 adds and one multiply). Articles regarding waveguide bore instruments having tone holes indicates that a first order filter should be adequate to model waveguides of nonintegral lengths. This type of filter is said to work best when the signal is well oversampled. If 400 delay units is considered to be the lowest note of the phLUTe, (approx 261 Hz), a sample rate of about 100KHz will be used which keeps the highest frequency (around 2400Hz) as 0.024 of the sample rate. Bass flute range, from 130Hz to 1200Hz could be realized using a sample rate of about 50 KHz at the same proportion of sample rate. If 50 KHz is used for both, the proportion is still only 0.048, more than sufficient for using this type of filter.

Regarding the FPGA design, I've been able to get reliable resonation of a waveguide 400 delay units long by careful adjustment of the design parameters, especially the reflection filter. Longer waveguides tend to lock to harmonics instead of the fundamental when the reflection filter bandwidth is too high. This design will require a table to drive the filter bandwidth parameter as well as waveguide length and LaGrange Interpolator parameter for each note of the scale. Also the bore feedback scale factor set to a nominal value of .55 causes the the amplitude of a new note at long waveguide lengths to build slowly. This can be corrected by increasing from 0.55 by an amount that depends upon the waveguide length. This will affect the character of the attack portion of the sound produced.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Tue Mar 11, 2008 4:26 pm    Post subject: Reply with quote  Mark this post and the followings unread

The FPGA design has been modified to include 2 LaGrange Interpolators, one on the bore delay output and one on the jet delay output. The system is working, but needs some help because parameters that resonate well, producing a very near sine output at short wavelengths don't work with lower notes. Some notes don't appear to work at all - this could be some error in my tuning tables or it could be a problem with the LaGrange Interpolator(s). I may also discover a problem of inaccuracy with the interpolators, the bore must be exactly twice as long as the jet. I created the tuning tables with this in mind, but I believe that the interpolator is most accurate with values farther away from 0.5. It may require hand tuning each note, but that just requires a new tuning table.

This method (first order LaGrange Interpolator) was suggested in Perry Cook's web information so that's where I'm starting. It was certainly very easy to implement.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24085
Location: The Netherlands, Enschede
Audio files: 278
G2 patch files: 320

PostPosted: Tue Mar 11, 2008 4:34 pm    Post subject: Reply with quote  Mark this post and the followings unread

It's good to see you have some progress.
_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic Moderators: jksuperstar, Scott Stites, Uncle Krunkus
Page 1 of 4 [99 Posts]
View unread posts
View new posts in the last week
Goto page: 1, 2, 3, 4 Next
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use