I been doing an extensive research in the internet because I need a way to generate real bass sound (like an electric bass guitar) from a program. The thing is Ive been looking in MIDI ways to produce that sound, but Im not sure if thats the right thing to do, actually I have little knwoledge about this subject, is my first trying anything related to produce sound from raw coding. I been looking into different APIs to help me, most of them open source to see what are the doing, but I found them very complex and with a really steep learning curve and little documentation. I also been lookin in open source programs like tuxguitar, made in java, which is similar to GuitarPro, so I could see how the produce the bass sound, I still have some code to scann so I can found what I am looking for, but I fear is wont be what I need or able to do. So to wrap all this up, my question is: is there a way to produce a real musical bass sound, either by native code or any API, no necesarily using MIDI or anything like, preferable in c/c++ or java? Thank you very much PS excuse any sintaxis or language error, i am not english speaking native.
How to generate a real bass guitar sound either in C/C++ or Java?
2.2k Views Asked by diego8arock At
2
There are 2 best solutions below
3
huysentruitw
On
You can try to control the built-in synth of the soundcard through midi. But if you want good sound and instrument quality, I would suggest you learn about VST, it's a technology from Steinbergh which includes virtual instrument (VSTi) and effect plugins.
So in essence, you could create or use a VST host application that works with existing commercial and free VSTi and VST plugins. You can then reuse available software synths and instrument emulations which sound amazing. As Brad suggests in his comment, you can then control the host application through midi.
While I only promote VST here, the wikipedia link contains a list of other technologies from different brands that are doing the same thing. But you get the idea.
Related Questions in JAVA
- Add image to JCheckBoxMenuItem
- How to access invisible Unordered List element with Selenium WebDriver using Java
- Inheritance in Java, apparent type vs actual type
- Java catch the ball Game
- Access objects variable & method by name
- GridBagLayout is displaying JTextField and JTextArea as short, vertical lines
- Perform a task each interval
- Compound classes stored in an array are not accessible in selenium java
- How to avoid concurrent access to a resource?
- Why does processing goes slower on implementing try catch block in java?
- Redirect inside java interceptor
- Push toolbar content below statusbar
- Animation in Java on top of JPanel
- JPA - How to query with a LIKE operator in combination with an AttributeConverter
- Java Assign a Value to an array cell
Related Questions in C++
- C++ using std::vector across boundaries
- Linked list without struct
- Connecting Signal QML to C++ (Qt5)
- how to get the reference of struct soap inherited in C++ Proxy/Service class
- Why we can't assign value to pointer
- Conversion of objects in c++
- shared_ptr: "is not a type" error
- C++ template using pointer and non pointer arguments in a QVector
- C++ SFML 2.2 vectors
- Lifetime of temporary objects
- I want to be able to use 4 different variables in a select statement in c ++
- segmentation fault: 11, extracting data in vector
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- How can I print all the values in this linked list inside a hash table?
- Configured TTL for A record(s) backing CNAME records
Related Questions in AUDIO
- Play multiple audio files in a slider
- Unity3d AudioSource not creatable
- JavaFX can't play mp3 files
- iPhone simultaneous sound output
- Phonegap Build App - Play Audio
- HTML5 Audio pause not working
- Java boolean play button issue (play over and over again with each click)
- import a sound externally or from the library? AS3
- Set audio source
- Saving a sound bite as a ringtone
- Using OnAudioFilterRead with playOnAwake
- Audio recorded with Samsung does not play on iOS
- fftw of 16bit Audio :: peak appearing wrong at 2f
- How to Export an audio file with effect in iOS
- Tried multiple solutions onsite, none worked: Play <audio> on Konami code
Related Questions in MIDI
- MIDI - MidiMessage Program Change with Instrument From Different Bank
- USB Midi driver for Android crashes
- Compiling or using RtMidi on Windows 7
- Sending and receiving MIDI sync data
- Midi-dot-net sounds played twice
- Midi-dot-net playing notes simultaneously and to high delay
- Control [noteout] volume on Pure Data
- split percussion staff in midi files in python
- MIDI Out on Raspberry Pi using Python
- Midi Hexa-Code Notation Different in one fie
- Connect an iPad via BT MIDI as Peripheral (CABTMidiLocalPeripheralViewController)
- Creating a MIDI file and encoding event times: why do notes that should be spaced uniformly time-wise actually slow down?
- music21: writing notes to MIDI file by note position
- Copying binary files to Mac OSX Clipboard with Java
- Uncaught (in promise) TypeError: midi.inputs is not a function
Related Questions in BASS
- How to play MIDI with bassmidi? (ios)
- get bass from audio using java script
- Getting mp3 file length
- BASS_MIDI_StreamEvent in zero position
- Supported music files by BASS audio library
- Setup web Proxy in Un4Seen Bass.Net
- How can I make the program automatically exit after audio played over
- Bass library: unable to open slave in linux C++
- MonoGame Window.Handle doesn't return Window or Form
- BASS library: playing from memory
- Implementing event functions InitializeWizard while using ISSI (to add background image) in Inno Setup: Duplicate identifier 'INITIALIZEWIZARD'
- Access combo box value
- C++ BASS library custom frequency, custom timespan
- BASS 2.4.4 Error When Making
- How can we control bass of music in iPhone sdk?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
MIDI is just a control protocol, and has nothing to do with sound on its own. It's generally used for synthesizer control (note on/off messages and what not), but that's about it.
Most devices have a synthesizer in them that can produce sounds for you while being controlled with MIDI. This is by far the easiest way to get started, but you will find that most stock General MIDI synths don't sound so great.
Now, as far as producing the sounds you are after, you are talking about writing your own synthesizer. There is no magic. There is no shortcut. This is hard work! Generally, synths will use a set of samples, and then manipulate them. For instance, you'll have a sample for a pluck, and then another for the sound of the guitar. This will all be controlled on an ADSR envelope. Even then, it isn't going to sound amazing, since you are only approximating a very small set of characteristics of the instrument.