POV-Ray / povray

The Persistence of Vision Raytracer (POV-Ray)
https://www.povray.org/
GNU Affero General Public License v3.0
1.36k stars 282 forks source link

Enhancement: Sound ("Rosaural" ?) #89

Closed afarlie closed 8 years ago

afarlie commented 8 years ago

This is a long term whishlist item, but I had asked in the unofficial IRC channel on Freenode as to the existence of a Povray for 3D soundscapes (which might not be of this earth!)

The IRC chat:-

ShakespeareFan00    Hi
ShakespeareFan00    Anyone here know of a povray for sound?
Vq  SuperCollider?
Vq  http://supercollider.github.io/
ShakespeareFan00    I'll take a look
ShakespeareFan00    but what I was wanting to do was take mono sound sources and place them in 3D to make soundscapes
ShakespeareFan00    Setting up "sound" texture on objects in the environment
ShakespeareFan00    Which may be a slightly higher level abstraction
ShakespeareFan00    Suppercolider looks like to could do the initial generation of mono sound sources... but not necessarily the higher level "place" it in space stuff
ShakespeareFan00    Povray takes a geometric and texture definiton to produce a visual object...
ShakespeareFan00    I was wanting to create a "geometry" and "texture" for audio
ShakespeareFan00    And then position a listner in the scene
ShakespeareFan00    
ShakespeareFan00    A sound "texture" would charcteristics like "resonance", "dampening" etc...
ShakespeareFan00    So in a "Rosaual" tool  you'd define a gemoetry like in povray, but you'd be defining the texture/mmaterial as a sound texture, given that foam transmits sound differently to metal
ShakespeareFan00    I've not seen many software tools that do this, let alone any open source ones
ShakespeareFan00    SuperCollider on first glancce looks to be very low level
ShakespeareFan00    *"Rosaural"
Vq  Ah, I agree.
Vq  I know I read something about such a software.  It behaved more like a physics simulation than a synthesiser.
Vq  It could have been this:  http://gamma.cs.unc.edu/Sound/RESound/
Vq  No software though
ShakespeareFan00    Vq:thanks
ShakespeareFan00    Vq: Does Povray have a bugzilla?
ShakespeareFan00    Because I am consdering putting the above comments into it
ShakespeareFan00    RosAural =" Resonance  of Sound AUdio  EnivRonmentAL Charectristics BTW)
Vq  I don't think sound output will ever be a target for povray unfortunately.
Vq  I think the closest to a bugzilla is the povray usenet group.
ShakespeareFan00    Okay, but some of the techniques my Rosaural would use already exist as math in Povray
ShakespeareFan00    idea
Vq  I don't think the internals of povray is suited for it.  But it's thinkable that a "sound renderer" could reuse povrays scene description language.
Vq  Seems like povray is on github these days: https://github.com/POV-Ray/povray
Vq  didn't know that
ShakespeareFan00    Well if it's on Github , I can ask questions there
Vq  The issue tracker seems active.
ShakespeareFan00    Do you mind If I quote your comments there?
Vq  Not at all, but what do you hope to achieve?
ShakespeareFan00    Hopefully some feedback

Supercoilider seemed to be a low level library.

ReSound is an academic project. (http://gamma.cs.unc.edu/Sound/RESound/)

In terms of my "not of this world comment" there was some research done by Professor Paul White of Southampton University in 2012 on the propagation of sound on extra-terrestrial worlds with different atmospheres..

c-lipka commented 8 years ago

There are two things that make raytracing systems like POV-Ray generally unsuited for simulating sound propagation:

(1) The human eye is very poor at discerning wavelengths, making a three-band model perfectly sufficient for most applications, to the extent that this limitation to three bands is usually hard-coded in raytracing software. The human ear is far superior in this respect, and every high-end equalizer is testimony to the fact that the acoustic properties of a room need at least a dozen or more bands to be modeled properly.

(2) When simulating light in everyday situations, the geometry is always many orders of magnitude larger than the wavelength, causing the particle-like nature of light to be dominant; structures of wavelength size are either too small to be noticed, or so regular in nature that they can be described by simple mathematical laws, leading to the "ray" model used in raytracing. Sound, on the other hand, is typically encountered in situations where the geometry is of similar order of magnitude as the wavelength, making the wave-like nature dominant. For such situations, the "ray" model is fundamentally inadequate, especially in its biased incarnation used throughout POV-Ray.

As far as (1) is concerned, some work has been done in POV-Ray to make it easy to use an alternative colour model, such as a multi-band spectral model, but that work hasn't been finished yet.

As far as (2) is concerned, I suspect this to be a much more fundamental problem. Unbiased rendering approaches might be able to cope with it, provided the notion of phase can somehow be integrated into the "colour" model.

Either way, this will absolutely positively not be a feature of POV-Ray in any foreseeable future. You'll have to write your own patch, or hope for someone else to write a patch for you.

afarlie commented 8 years ago

Thank you for the fast response.

afarlie commented 8 years ago

Given the model limitations you note above, rendering this unsuited to povray's back end, Can you suggest a project where an appropriate back end could be developed? The hope was to utilise parts of the Povray IDE and front end if the license allows for a "fork"