Acoustic software development

Help for Audacity on Windows.
Forum rules
ImageThis forum is for Audacity on Windows.
Please state which version of Windows you are using,
and the exact three-section version number of Audacity from "Help menu > About Audacity".


Audacity 1.2.x and 1.3.x are obsolete and no longer supported. If you still have those versions, please upgrade at https://www.audacityteam.org/download/.
The old forums for those versions are now closed, but you can still read the archives of the 1.2.x and 1.3.x forums.
Post Reply
drdavidholmes
Posts: 5
Joined: Thu Apr 26, 2012 3:15 pm
Operating System: Please select

Acoustic software development

Post by drdavidholmes » Thu Apr 26, 2012 3:49 pm

Dear Colleague,

We need someone to develop an acoustic program that will be integrated into a larger software program. The following is a description of the requirements. If you are interested, my contact information is below. Thank you for your interest.

We are developing a web-based software program (Windows or open source environment) that requires an acoustic section. The specifications for this section are detailed in the attached Requirements file. The basic capabilities are to:

1. Generate an adjustable sinusoidal tone (from 200 Hz to 20 kHz)
a. Minimum increments (<30 Hz)
b. Adjustable intensity from 10 dB to 80 dB SPL
2. Generate an adjustable white noise signal
a. Use slides to adjust low-cut and high-cut filters to establish a narrow band
b. Minimum increments (<30 Hz)
c. Adjustable intensity from 10 dB to 80 dB SPL
3. Special notes:
a. Displays should represent the actual wave forms for the frequencies (Sine and Noise)
i. Ability to adjust the color of the wave display would be nice, but not essential.
ii. Must have SDK with code and instructions.
iii. Guidance and suggestions for best calibration of signals is required.

Please feel free to call me with any questions, or for clarifications.

Best regards,

David


David W. Holmes, Ph.D.
CEO & Senior Scientist

1-817-201-6791 Cell
1-817-442-0316 Fax
[email protected]
http://www.melmedtronics.com

6106 Lansford Lane
Colleyville, TX 76034
USA

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: Acoustic software development

Post by Gale Andrews » Fri Apr 27, 2012 6:29 am

David,

Audacity is a team of loose-knit volunteers essentially, and only one of our developers regularly takes on contract work (subject to current workload).

Two questions;

1. Is the larger program also open source? If not, the work may be less attractive to a developer and the open source code would usually require separate presentation/installation to make clear the different licensing.

2. Are you providing your own functionality to make the larger program work on the web? Audacity has no native ability to run on web servers or be called from web pages.


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

drdavidholmes
Posts: 5
Joined: Thu Apr 26, 2012 3:15 pm
Operating System: Please select

Re: Acoustic software development

Post by drdavidholmes » Fri Apr 27, 2012 2:30 pm

Hi Gale,

Here is a response from one of our team members. I had sent him a copy of your post and his response follows:


David,

This is clearly a NO. They are saying, it will not run in browser. This is where I was saying if they give an API, we can add the slider controls and send the emit frequency to their software (via API). Their software in turn can send to the sound card the right frequency.

When a provider connects the laptop/desktop/tablet to our Web application (for the first time), we can put a check to see if the software (audacity stuff) is present. If not, we can let the provider click a button to download. This button can auto install (if they have one installer), else we can prompt thru screens/wizard to complete Audacity installation.  this is a one time setup operation.
Subsequent logins, will not show it.


Now their second question : they need not worry what type of application is going to access the tone generator. It can be a webapp or desktop app. You can tell them we are developing a web application – custom software using .NET/C#.

I would welcome your comments.

Thanks!

David

steve
Site Admin
Posts: 81627
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Acoustic software development

Post by steve » Fri Apr 27, 2012 2:57 pm

If its for a web app, why not use Java or javascript?
Examples:
http://www.sk89q.com/playground/jswav/
http://www.developer.com/java/other/art ... Sounds.htm
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

edgar-rft
Posts: 347
Joined: Sun Jan 20, 2008 12:03 am
Operating System: Please select

Re: Acoustic software development

Post by edgar-rft » Fri Apr 27, 2012 3:43 pm

drdavidholmes wrote:Generate an adjustable sinusoidal tone (from 200 Hz to 20 kHz)
A standard computer soundcard with 44.1kHz sample frequency cannot produce a 20kHz sine wave in a reliable way, only a 20kHz square wave. Producing a 20kHz sine wave requires audio hardware with a sample frequency of minimum 400kHz.
drdavidholmes wrote:Adjustable intensity from 10 dB to 80 dB SPL
Question: What is the exact purpose of this SPL value?

SPL is an acoustical unit and therefore is solely dependent on external audio hardware (volume knob of the amplifier, loudspeaker parameters, etc.), and therefore an SPL value cannot be implemented in software without acoustical measurement feedback, where standard soundcards have a too poor quality for measurement purpose.

The effective acoustical loudness that a listener hears out of a standard HiFi loudspeaker or headphone cannot be controled by software, because it solely depends on external hardware outside of the computer, with too many inpredictable parameters involved.

Or do your users have special-made audio equipment like calibrated hearing-aids or something similar?

- edgar

drdavidholmes
Posts: 5
Joined: Thu Apr 26, 2012 3:15 pm
Operating System: Please select

Re: Acoustic software development

Post by drdavidholmes » Fri Apr 27, 2012 5:39 pm

Hi Edgar,

First of all, a very good question and thank you for bringing it up! Your assessment is correct and there is no perfect solution (that I can think of). I am contemplating establishing a reference threshold for a 750 Hz tone and then use that as my referance zero (for that particular person). All other intensity measurements for other tones and noise, would then be recorded in dB re: Sensation Level for the 750 Hz reference. That way, all variables (sound card, volume setting and transducer) remain the same, at least for that session. Once the reference level is established re: SPL, then we could subtract the difference in SPL, but use the difference in dB re: SL (Sensation Level). That's the best compromise I could come up with, but I would welcome your thoughts.

David

edgar-rft
Posts: 347
Joined: Sun Jan 20, 2008 12:03 am
Operating System: Please select

Re: Acoustic software development

Post by edgar-rft » Fri Apr 27, 2012 8:52 pm

drdavidholmes wrote:... there is no perfect solution (that I can think of).
There is no perfect solution for nothing in life, and I'm not perfect, too. My questions were not about nit-picking. I am an electrician for audio and video recording equipment and have already worked for several medical institutions in Germany. I just simply wanted to know if you need software to implement it in medical environment of if it is planned to write e.g. a simple tinitus test that people can do at home via internet and standard consumer level equipment.
drdavidholmes wrote:I am contemplating establishing a reference threshold for a 750 Hz tone and then use that as my referance zero (for that particular person). All other intensity measurements for other tones and noise, would then be recorded in dB re: Sensation Level for the 750 Hz reference. That way, all variables (sound card, volume setting and transducer) remain the same, at least for that session.
This is true, the parameters remain the same but the problem is that the acoustical energy produced by a loudspeaker (no matter how expensive) is very non-linear and strongly depends on the reproduced frequency. This means with the same amount of electrical energy (the volume knob doesn't change) a loudspeaker will produce different SPL levels at 750Hz compared to e.g. 500Hz or 1000Hz.

A typical non-linear SPL curve for a semi-professional studio monitor can be seen here:
The only way to circumvent this is first to measure the frequency-dependent SPL curve of the specific loudspeaker and then implement a counter-curve in the software to compensate the non-linearity. This measurement procedure must be repeated with *every* loudspeaker, even if it's the same louspeaker model from the same manufacturer, because even after more than 100 years of loudspeaker research it's still not possible to produce two loudspeakers with exactly the same acoustical properties. Data sheets of loudspeaker manufacturers only provide statistical approximations. Microphones and loudspeakers are still the weakest parts of the audio chain.
drdavidholmes wrote:Once the reference level is established re: SPL, then we could subtract the difference in SPL, but use the difference in dB re: SL (Sensation Level).
Yes, but only if the SPL curve of the specific loudspeaker is known...

- edgar

drdavidholmes
Posts: 5
Joined: Thu Apr 26, 2012 3:15 pm
Operating System: Please select

Re: Acoustic software development

Post by drdavidholmes » Fri Apr 27, 2012 9:17 pm

Edgar,

It is a pleasure getting your feedback. Here is the Cliff Note version:

1. We want to have a patient adjust a sine wave to "approximate" their perception of tinnitus for frequency and also for intensity.
2. If they report that their tinnitus sounds more like noise, the we would have them adjust white noise until the narrow band "approximates" the sound of their tinnitus for frequency (narrow band) and intensity.

David

edgar-rft
Posts: 347
Joined: Sun Jan 20, 2008 12:03 am
Operating System: Please select

Re: Acoustic software development

Post by edgar-rft » Sat Apr 28, 2012 3:40 am

Hi David,

I think (hope) I have finally understood what the problem is. The exact SPL value is not really important here, it's the exact frequency range that matters. This can be tested with standard computer equipment, but the loudspeakers should not be too cheap.

I live in Germany and therefore I'm too far away from Texas to be a real help, also I'm an electrician (RFT = German abbreviation for "radio/television broadcast technician"), and not a really good software programmer.

But I can translate your specification from otorhinolaryngology language (ear, nose, throat doctor) to audio software engineer language, so this may help you to find the person you need to accomplish this task:

1. Generate an adjustable sinusoidal tone (from 200 Hz to 20 kHz)
a. Minimum oscillator frequency increments: 1/6 octave
b. Adjustable oscillator amplitude in a range of 70dB minimum
2. Generate an adjustable white noise signal
a. Use slides to adjust low-cut and high-cut filters to establish a narrow band noise from the white noise signal
b. Minimum filter cutoff increments: 1/6 octave
c. Adjustable noise amplitude in a range of 70dB minimum
3. Special notes:
a. Displays should represent the actual wave forms for the frequencies (Sine and Noise)
i. Ability to adjust the color of the wave display would be nice, but not essential.
ii. Must have SDK with code and instructions.
iii. Guidance and suggestions for best calibration of signals is required.

Background information: For an audio developer "1/3 octave" is the frequency range of a standard bandpass audio filter, as used in audio measurement equipment, where "1/6 octave" means "double precision is needed". This assumes that (<30Hz) was meant for 200Hz, because (<30Hz) at 20kHz is an irrational demand.

The "amplitude range" limit of a standard computer soundcard is 96dB, so implementing an adjustable amplitde range of 70dB is no real problem, but the acousical loudness in SPL must then be set by the volume knob of the audio amplifier.

The frequency adjustments for sinewave or noise can be easily done by the patient him/herself, but for the intensity level medical assistance is needed.

- edgar

drdavidholmes
Posts: 5
Joined: Thu Apr 26, 2012 3:15 pm
Operating System: Please select

Re: Acoustic software development

Post by drdavidholmes » Sat Apr 28, 2012 12:40 pm

Hi Edgar,

Again, I thank you for your professional comments, as they are very helpful. I would very much appreciate your assistance in finding someone to build this program. If I had your email address, i could send you some more in-depth documentation, that wouild greatly benefit anyone working on the project. My email is: drdavidholmes_AT-gmail-DOT_com.

David
Last edited by drdavidholmes on Fri Apr 24, 2015 3:58 pm, edited 2 times in total.
Reason: obfuscated e-mail address

Post Reply