I have been developing a music editing Android app. I have written a considerable amount of code so far. However, due to audio latency issues encountered on the Android platform, I now realize that it is necessary to optimize my code using C/C++ (Android NDK) in order to manipulate audio files (Wav & MP3), and thus, hopefully, boost the app performance. Unfortunately, I wasn't able to find concise resources dealing with the topic.
Could anybody post code examples on how to decode wav/mp3 files and mix them using C++? Any resource would be greatly appreciated.
Here is a simple example for loading a wave file using C/C++. It will help you get the ideas :)
As far as playing it .. you would probably be best off using OpenSLES which is supported under the NDK on android.
Related
I have several ncurses apps that I would love to run on my iPad. However, I don't know if this is possible. Can anyone provide thoughts? The apps are mostly financial data related and do graphing, back testing, etc.
Sounds like a complicated project, but if it's written in C, it's definitely possible. If you want some general advice, I'd google how to compile C libraries for iOS applications; you might find some success stories for libraries like libvlc or ffmpeg.
Have you tried this? https://gist.github.com/akisute/7227384
I have zero experience with ncurses, so I'm sorry I can't help any further!
I am a reasonably experienced programmer who is pretty inexperienced with C++ and brand new to creating plugins.
Thus far I have looked into http://martinfinke.de/blog/tags/making_audio_plugins.html but it seems incredibly dated, I'm hitting a whole load of compilation issues and don't know where to get the legacy SDKs which would mean I had the exact same set up that the author is using.
I have also looked into JUCE but there isn't a vast amount of resources out there that I can find.
What I am trying to do is create a plugin, VST only for now (will look at compatibility with other vendors later) which simply maps a MIDI input to an audio file which my partner, who is a sound engineer, has already created. We have enough samples for randomising and also various velocities
I highly recommend just working your way through the JUCE Tutorials or watching through the JUCE videos by The Audio Programmer on Youtube to get you started on JUCE. Whilst the first tutorials do not produce audio plugins, the components used within them are crucial 'building blocks' to creating a full plugin.
When you're happy with creating basic GUI elements and how audio can be played/ synthesised within both the Audio App and Audio Plug-In projects, I recommend you try building the smallest part of your plugin you can and, getting that working and slowly building upon it. I suggest starting with how to load an audio file into the buffer (take a look at the looping audio tutorial) as once that is complete it is just a case of using the tutorials again to create and handle the MIDI data.
I have scoured the internet for help with this one. I don't typically enjoy using stack exchange because a lot of people can sometimes start fights on here, so please just bear with me. I am currently learning the C++ language, and I'm only about 2-ish weeks in. I am working with a team of new programmers, and to learn the language, we are creating a tiny text based game. We want to have the game play audio at different times, and from my hours of research, I have determined, that for cross platform audio, I want OpenAL.
The problem is: How do I use OpenAL with Eclipse and Mac? I haven't found any guides for this online, and the only OpenAL libraries I can find are all .exe files, which I can't use on mac. I also cannot find a ton of tutorials on using the OpenAL audio libraries, so if you could point me at one of those, that would be awesome.
Thanks in advance! Cheers!
Im wondering the exact method through which I would go to build a VSTi Plugin is. I don't expect to code the next Massive in a few shorts week, as I have no knowledge of DSP and very basic programming skills. Im sure this is probably above my current level but I figure I'll grow as a programmer if I give myself a high goal that Im deeply interested in.
All that being said, Im at a loss as to where to begin. I know that I would need to download the Steinberg VST SDK, but many of the other resources I've searched have given conflicting info as to what framework I need to download, etc etc.
So what are the basic tools I need to have and what are some good resources.
I currently am using Visual Studio 2013 Ultimate as my IDE and I'll be coding in C++,.
Getting the development environment and tools set up to write a VST plugin is very time consuming. I strongly recommend Juce (http://www.juce.com), which will abstract away most of the VST framework weirdness for you, and also provide nice tools for generating the project files for your IDE, etc.
Juce isn't prefect, but it's much better than doing it all by hand.
I wanted to know some general throughts about Marmalade and AppEasy. http://www.appeasymobile.com/
I've been following DrMop's tutorials on creating a game engine in Marmalade but noticed that since the tutorials he's gone on to make AppEasy(with others). I have looked at it and have a couple of immediate concerns
1) How easily I can incorporate text files/xml files with XOML.
2) What degree of control I would have over the code base.
3) How deep the engine is and whether it has any comparitable rivels which are better.
I've started the project I'm working on with the IWGame engine that DrMop was using in his tutorials but was wondering that if all my fears are unfounded if it is worth carrying on?
Cheers,
Support for IwGame is coming to a close. IwGame is being replaced by the AppEasy Core SDK, which is an open source portable engine where Marmalade is just one of the platforms that it plans to support. AppEasy Core will also be open source so others can contribute to its development, submit bug fixes etc..
XOML + Lua or XOML + C++ or all 3 used together provide a very powerful easy to use environment. You can easily integrate text files, XML files, image files, sound files etc. You should check out the official web site appeasymobile, theres plenty of documentation and a drag and drop app builder that spits out cross platform apps based on XOML + Lua.
Cocos2d-x is a good alternative, but you will need to set up each dev environment for each platform you plan to support (massive pain to do) as it doesn't cross platform compile stuff for you. Although Marmalade do now have a stable interface to Cocos2dx which enables you to use Cocos2dx cross multiple platforms.