Convert array into music
13 views (last 30 days)
Show older comments
S. B. M.
on 15 Feb 2022
Commented: Walter Roberson
on 16 Feb 2022
Hello. I have an array of music notes that I can access from ms excel using writetable/writematrix/etc.
I was wondering if it is possible to produce a sound from this as in like playing music. (I saw a question related to this but couldn't quite understand it as the code is long).
To be precise, I actually have a soundfont .sf2 file which is my sample of a custom instrument sound, say instrument X, and I want that sound to come out using this instrument (so not using any default song that MATLAB possibly uses). I have no idea if that is of any use, but my overall intention was to do something like this: 1. Extract that array of notes to MATLAB (the notes are already adjusted so that the soundfont can cover the whole range), 2. Play it with the sound of the custom instrument (where the columns simply represent the beats).
I am not sure if this is possible, but I saw one file on the file exchange page that manipulates soundfont, and so I am wondering about this whole thing.
Thank you so much for suggestions!
1 Comment
Star Strider
on 15 Feb 2022
It may be necessary to use the Audio Toolbox for this. (I don’t have it, so I have no experience with it.)
Accepted Answer
Cris LaPierre
on 16 Feb 2022
Edited: Cris LaPierre
on 16 Feb 2022
You can play sounds in MATLAB, but the way I know to do something like what your asking requires a little work. You need to define the frequency/frequencies of the notes, as well as how long to play each note. You then use the sound command to play the note for the specififed amount of time.
You will also need to pause your code while each note is playing, as the code does not stop executing.
See these answers for more:
- https://www.mathworks.com/matlabcentral/answers/709468-create-musical-notes-with-pauses-in-between
- https://www.mathworks.com/matlabcentral/answers/1564541-translate-a-music-sheet-into-matlab-code
If you really want to get into creating music, consider the materials in this 1 week course designed to introduce kids to programming
3 Comments
Cris LaPierre
on 16 Feb 2022
The way Bytes and Beats creates different musical instruments (guitar, violin, trumpet, percussion) is from a library of wav files of that instrument playing each note. With this approach, you would need a separate wav file for each duration. The approach to playing is the same (pause the code while playing a note).
Walter Roberson
on 16 Feb 2022
Audio System Toolbox allows you to create a "system object" that you can fill with samples at run-time without having to pause.
More Answers (0)
See Also
Categories
Find more on Audio and Video Data in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!