symbian C++ downsizing libraries - audio

I wish to record audio at 32 kHz on my Symbian device but it only supports 48 kHz. From searching the internet I believe the term for what I am trying to do is called downsizing. Is there a C++ library that will compile and run on Nokia Symbian phones that will do this for me? Or is the algorithm simple enough for me to implement on my own?

The term you are looking for is downsampling. You can probably get the code you need from the sources of the open source SoX utility.

Related

Cross platform SIMD library with similar API to the Accelerate Framework?

I'm using the Accelerate Framework to improve performance of an audio mixer, with very good results on iOS and OSX. I'm trying to achieve similar results on other platforms and cpu architectures - the usual suspects ( ARM android, x86 x64 PCs ).
I've investigated Yeppp!, which provides a nice C# wrapper, but which only covers very basic operations: no stride can be specified, no ramp functions for vector generation or processing neither ( vDSP_vrampmul is great… ), and no clipping neither.
Does anyone know of a cross platform SIMD library with a similar, audio DSP friendly API?
[ EDIT ]As Paul recommends, KissFFT seems perfect for frequency domain work, so what's left are simpler time domain operations.
Many thanks in advance,
Gregzo
At the risk of promoting our own product, I'd suggest http://Superpowered.com, cross-platform (iOS & Android) pro audio SDK/library.
The Superpowered stereo mixer can be used to ‘split’ interleaved signals to non-interleaved, see here:
http://superpowered.com/pro-audio-sdk-update-android-arm-and-x86-64-bit-positioning/

Corona Lua waveform sound synthesis

I would like to make a sound synth using the Corona SDK, which means in pure Lua. All the Lua synth programs rely on an underlying C program. Is there any Lua library that generates waveforms?
I have no experience when it comes to Audio.
But here are a couple of links to get you started!
http://www.coronalabs.com/blog/2011/07/27/the-secretundocumented-audio-apis-in-corona-sdk/
http://developer.coronalabs.com/forum/2012/02/09/drone-fx
I don't know if Corona has an audio API that would allow that, but the MOAI SDK is a free, open source, Lua-based engine that targets iOS (+ Android, PC, Mac, Linux) which you could add anything you want to.
Unfortunately, Corona SDK has very weak sound support, and there are not good Lua audio libraries that I know of. MOAI appears to be dead, or mostly dead.
AudioKit seems like the way to write synthesis these days, but it is Swift & Objective-C only. Would love to see it in Lua, but there does not seem to be a push in that direction:
http://audiokit.io/

Crossplatform Offline Audio Processing Library

I am looking for an audio dsp library for cleaning up some speech (voice) recording. I have not decided which language to use yet.
Here are the feature I am looking for:
Work in Linux and Windows
Importing MP3
Working with multiple channels mixing
Noise Filter
Bandpass filter
Compressor
I love to have these as well, but I can write my own if they are not available:
De-esser
multi-band compressor
Expender
Envelopes
(if you can suggest an application that do these in scripting / one mouse click, I will accept your answer too)
What about something like SoX?? http://sox.sourceforge.net/
Take a look at Juce from Raw Material Software.
It is free for non-commercial use, and very reasonably priced for commercial use. it also has a lot of built in audio capabilities (mixing, file I/O, etc.) and has a nice cross platform GUI toolkit as well.
Audacity does most of those things.

Looking for an expressive audio programming language or library

I'm looking for an audio processing language or library which will allow me to experiment with different synthesis techniques. I've looked at Processing which I think is great at what it does, but haven't found any inspiring (and simple) audio libraries.
As a baseline, I want to simply create my own sample buffers and play them back (ideally in realtime). As a plus, the ability to handle MIDI events would be great. I'm an experienced C++ programmer so I could do it natively on but had hoped there was a more DSL (domain specific language) approach.
I have access to Windows, Mac or Linux so not too bothered yet about platform. Other languages I can deal with are C#, Java & Python.
Thanks
James
Depending on how much you want to stay out of the low-level housekeeping details, you may want to look at CSound , or if you want to not actually write code, the patching-based system PureData is great to work with. As #Lou points out, ChucK is interesting (but was too buggy to use the last time I checked it out).
If you really do want to write code, look at the Synthesis Toolkit, a set of C++ classes for audio processing and synthesis.
For an app framework, I recommend JUCE, which has incredibly nice cross-platform handling of audio/midi IO and GUI elements.
Max MSP is an audio production tool that is highly expressive.
I guess you could say it's a high-level tool, and not a low-level programming language. My impression of it is that it's geared towards the technical musician or the artistic engineer, but anyway it kicks ass and you could go low-level with it if you want.
I've always been a big fan of SuperCollider. It's designed for Mac OS X but also works on Linux.
The language is mostly based on SmallTalk, and it's pretty easy to pick up if you understand the basics of functional programming. The quality of the sound output by the SC Server is very good and there is plenty of documentation both built into the app environment and available online.
One interesting point of SuperCollider is the usage on android devices, and it's intercommunication with python trough out other modules.
Here goes an example
I know you didn't say Ruby, but check out Archaeopteryx
https://github.com/gilesbowkett/archaeopteryx/wiki
or ChucK
http://chuck.cs.princeton.edu/
Have a look at NAudio, an open source .NET audio SDK for working with audio files and devices in Windows. Some features include:
http://naudio.codeplex.com/
NAudio Features:
Play back audio using a variety of APIs
Decompress audio from different Wave Formats
Record audio using WaveIn, WASAPI or ASIO
Read and Write standard .WAV files
Mix and manipulate audio streams using a 32 bit floating mixing engine
Extensive support for reading and writing MIDI files
Full MIDI event model
Basic support for Windows Mixer APIs
A collection of useful Windows Forms Controls
Some basic audio effects, including a compressor

j2me 2d graphics engine

For J2ME I found a number of GUI frameworks like LWUIT, J2ME Polish, Twuik etc however,
I am looking out for a 2d Graphics Engine for the Java ME platform preferably lightweight < 50K, I came across TinyLine this supports reasonable features for a mobile device.
On similar lines do we have an open source or free 2d graphics engine, library or framework available.
Perhaps you are looking for this? What libraries are available to help create 2D Java games for phones?

Resources