what are the technical parameters to generate nokia sms sound? - audio

Does anybody know the specs (or where to find them) for the traditional generic incoming SMS sound on Nokia phones (beep beep ..... beep beep .... )? (frequency, duration, pauses etc). seems, mobile phones of other makers have other sound palettes.
Capture/replay is too much overhead, when knowledge of some technical parameters would be enough.
making noise on a specific platform (java, .net) is not the problem here.

The note played is a Bb5, so that's 932.33Hz. Assuming BPM = 210, the note on and offs are at seconds
0.000 On
0.169 Off
0.285 On
0.454 Off
1.142 On
1.310 Off
1.428 On
1.596 Off
(Source: https://rs32tg.rapidshare.com/#!download|32dt|8016175|Message.mid|1|R~0)
I found an MP3 here: http://gallery.mobile9.com/f/62550/. The timbre of the sound is packed with overtones, but looking at the spectrum, it appears that even multiples are more prominent than odd multiples. Here's a linear spectrum taken from Audacity:
http://i55.tinypic.com/33mscg6.png

Related

Maximum frequency of any mobile phone speaker

I want to know , what is the maximum frequency of mobile speaker
look at this image :
I want to create and android application to generate sounds with particular frequency , but before that I want to know what frequencies can be generated by mobile phone speakers
what I really want to know is range of mobile phone speakers frequency , and know whether can I generate infrasound or ultrasound by mobile speakers , or any speaker.
sry for my bad english
I'm guessing at your purpose, but I think the answer might be more interesting in terms of how much energy at each frequency sub-range can a speakerphone produce.
You can play any frequency sound here: https://www.szynalski.com/tone-generator/
Try this on your phone, say around 75Hz, 200Hz and 1800Hz
I think speakerphone conversations sound tinny because the lower frequencies are lost and people crank up the volume to make up for it, and only the higher frequencies are audible at a distance.
On the high end of the range, you'll probably probably hit a hardware or software limit at 44kHz / some other high number.

audio processing in labVIEW( Is stream process possible ?? )

I am quite new to LabVIEW and NI devices.
I am working on Active Noise Cancellation Project, where I will be using two microphones input and one loud speaker as output. I have NI myRIO 1900 and CDAQ 9178 devices in our university lab. I need to do real time audio processing, I will collect data from microphone and process it using filtered XLMS algorithm to produce anti noise from loud speaker and other microphone is error microphone. I want to process data so quickly( within 1.7 msec ) so I will have real time response at 44100 sample rate !! My question is , 'is it possible to do with labview ?? and is stream processing possible in labVIEW?? and can I achieve so small audio latencies as mentioned above ??'
I have searched for audio processing objects in labview help. I can only find 'Acquire Sound', 'Play Waveform', surprisingly 'Acquire Sound configuration ' will work only for duration of minimum of 1 second not less than that !!! I can't input the time milli seconds !!!( I am still facing problem installing myRIO, so I have used host computed VI to do this.)
Please help !! Thank You
The thing you should be looking into is the FPGA part of the myRIO. You’re never going to be able to get 1.7ms response time via the host computer. The FPGA can access the Analogue inputs and outputs, so if you can get your algorithm to compile onto the FPGA then it should work.
Yes, it is possible with LabVIEW, insofar as any algorithm you want to code up can be executed by LabVIEW. If you're asking whether there is a library that already exists to do the filtering you're wanting to do, you may want to explore the NI Sound & Vibration toolkit, which is sold separate from LabVIEW, or explore third-party libraries.
The raw waveform mathematics abilities that come with LabVIEW are fairly extensive. You should be able to code whatever transforms you want if you know the base math.

setFrequency in FMOD doesn't work satisfactorily

I'm trying to use FMOD to develop an application that is expected to be able to play audio more slowly than normal so that the user could hear the audio more clearly. In my code, I called Channel::setFrequency like this:
float normal_frequency;
channel->getFrequency(&normal_frequency);
channel->setFrequency(normal_frequency * speedSelected);
If the value of speedSelected is lower than 1, for example 0.8, the audio will indeed be played more slowly than normal, but the voice sounds really odd. Playing slowly doesn't enable me to hear audio more clearly at all.
By contrast, Microsoft's Windows Media Player works perfectly when it plays audio more slowly than normal.
Is there a way to solve this problem?
If by "sounds really odd" you mean the pitch has been altered then this is the expected outcome. If you want to correct the pitch while adjusting the speed you will need to use the pitch shifter DSP.

How to reproduce C64-like sounds?

I did some of my own research and found out that SID-chips had only few hardware supported synthesizing features. Including three audio oscillators with four possible waveforms (sawtooth, triangle, pulse, noise), with ADSR envelopes and ring modulators. Accompanied with oscillator sync and ring modulators. Also read there was a way to play single PCM sound as well.
It is all so little, but still I heard lots of different sounds from my TV sets. How were they combined to produce all that variety of audio?
To give some specifics, I'd like to know how to combine those components to produce guitar, piano or drum -like audio? Another interesting things would be different buzzes and sounds specific to C64.
I used to write music on the C64 for games, demos and even services (I wrote the official QuantumLink theme, even). As for your question, the four different waveforms were typically overlaid with the sync and ring mods (less often ring, because it was unpredictable on different versions of the SID chip), and sometimes used cleanly.
For example, a typical 'snare' sound would be composed of a noise waveform with a very fast attack and sustain, and depending on whether you wanted a drumstick or brush sound, either a very fast decay and moderately short release, or a short decay and slower release.
Getting the right sound was typically trial and error, and the limitations were pretty heavy. You really never got to the point of piano or guitar sound due to the simple waveforms without overlayable harmonic waveforms, about the best you could get was things that sounded beepy, things that sounded marimba-y, and things that sounded like a snare drum.
One of the tricks used most often to extend sound was done with fast machine code playback routines that could change the played notes on voices so quickly as to give the impression of a fuller, harmonic tone. We just called it arpeggiation, although at 10 to 12 note changes a second it sounded more like a buzzy chord.
As for the sampled waveforms, they were only available as single bit and later 4 bit samples. These sounded terrible despite our best attempts, because basically the method of playback for a sample on the 64 was to play a white noise waveform and rapidly alter the volume on the SID chip to produce a rising and falling wave. Do it fast enough and it sort of sounds like the original sound, poorly tuned in on a staticky radio.
I suggest you grab hold of a C64 emulator for the PC (CCS64 is a good one) and a 64 BASIC programming guide and just play around.... the SID chip is entirely manipulatable from BASIC.
To sum up, how did we get all of those piano and guitar sounds on a C64? We didn't, really.
Take a look at some of these docs related to producing music on the C64:
http://sid.kubarth.com/articles.html
This type of music you are describing falls into the category of "chiptunes". I'd recommend checking out some modern trackers like MilkyTracker, which are used to create music in this style. There are libraries like libmodplug that allow you to play tracker in your software.
Check out some of the C64 emulators out there. I've read that some of them are 100% accurate in ther sound reproduction, true to the original.

Best Voice Compression Algorithms/Formats

We have some raw voice audio that we need to distribute over the internet. We need decent quality, but it doesn't need to be of musical quality. Our main concern is usability by the consumer (i.e. what and where they can play it) and size of the download. My experience has shown that mp3s do not produce the best compression numbers for voice audio, but I am at a loss for what the best alternatives are. Ultimately we would like to automate the conversion process to allow the consumer to choose the quality vs. size level that they would like.
You should give Opus a try. Example compression command line:
ffmpeg -i x.wav -b:a 32k x.opus
Start here.
As you rightly point out, voice compression is different from general audio compression. You'll find many codecs dedicated to telephony applications, ranging from PCM and ADPCM through later packet based encodings such as CELP used on GSM cellular networks.
Still, VOIP voice encoding is slightly different from that due to the medium used. you can find a good, free (unencumbered and open source (BSD)) library for speech encoding/decoding in the Speex software library.
Again, which you choose depends on the speech you're encoding and the medium it's being transmitted over. Also note that many libraries have several algorithms they can use depending on the circumstances, and some will even switch on the fly based on conditions of the sound and network.
To get more help, narrow your question down.
-Adam
The most frequently used compression formats used in live voice audio (like VoIP telephony) are μ-Law (mu-Law/u-Law is used in the US) and a-Law (used in Europe, etc.) which, unlike Uncompressed PCM, don't support as wide of a frequency range (a smaller range of possible values ignores sounds outside of the necessary spectrum and requires less space to store).
For usability sake it is easiest to use mpeg compressions (mp2/3/4) for streaming to standard media players as the algorithms are readily available and typically quite fast and almost all media players should support it, but for voice you might try to specify a lower bitrate or do your conversion from a lower quality file in the first place (WAV can be at several sampling rates and voice requires a much lower sampling rate than music or effects, it's basically like frame-per-second on video). Alternatively you can use Real Media, WMA or other proprietary formats, but this would limit usability since the users would require specific third party software for playback, though WMA has an excellent compression ratio as well as compression options specific to voice audio.
Assuming your users will be running Windows, there is a WMA speech compression codec that you can use with the Windows Media Encoder SDK. Failing that, you can use ACM to use something like G723/G728, ADPCM, mu-law or a-law, some of which are installed as standard on Windows XP & above. These can be packaged inside WAV files. You'll need to experiment a little to find the right bitrate/quality (probably don't bother with mu-law or a-law). With voice data you can get away with quite low sample rates - e.g. 16000 or 8000, as there isn't much above 4Khz in the human spoken voice.
I think AMR is one of the best speech codecs. I was using it about a year ago and I remember that quality was very good and size levels were rather small.
One drawback, especially in your case is that, as far as I know, it isn't supported by wide range of media players. QuickTime and RealPlayer are two which I know to play .amr files.
Try speex ... unencumbered by patents, good performance both sizewise and CPU-wise. I've been having good luck using it on iPhone.

Resources