Skip to content

LabVIEW program for creating song challenges. Exports Reaper projects with challenge parameters. Not my proudest VI's.

License

Notifications You must be signed in to change notification settings

Solidedge/LabVIEW-Songmaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

LabVIEW Songmaker

This software was created to learn more about state machines, as well as create a software that challenges my musical/ recording skills. It's main function is to generate a musical recording challenge, by listing parameters for the user to comply to. This way the musician can focus on recording and the creative parts, instead of waiting for an idea. Tempo, timesignature and key are generated based on preferences, and additional challenges are generated:

  • Length of the song
  • Instruments to record (pick 5 out of 9)
  • Song structure to adhere to
  • Theme for the song
  • Special challenges like: Keychange, skip a beat, add a beat, chromatic modulation, dual harmony solo, polyrhythm, duett, rap element etc.

bilde

The software also produces an illustration of notes in the scale, a guitar neck illustration and a list of some of the available chords.

bilde

Reaper project

After generating a suitable challenge it's possible to create a Reaper (DAW) project. The reaper project contains the correct BPM and Timesignature. In the Reaper project notes you'll find the challenge details listed. The software will also add a track for all instrument in the challenge, as well as the songstructure.

bilde

Chordprogression challenge

Additionally the software can generate suitable chordprogressions for the key. The quality is probably not as good as something composed by Mozart, but enough to mistake it for a modern pop-song. Too be fair the chords can sound quite terrible, generate a few to find something suitable. It's possible to export the chords to a MIDI file compatible with the previously generated Reaper project.

bilde

For those that wants simpler chords, there are settings for only including those.

Settings

Some randomness settings are available in the tab "Settings".

Disclaimer

1 The software was developed during my time at the university, at the start of the covid pandemic. The time between last edit and publishing means that there are problems, workarounds and shortcomings that I've since forgotten about. All usage should therefore be done at your own risk. The MIDI functionality might have problems that can only be solved by a computer reboot.

2 Bear in mind this software was originally written in my native language, but I've since translated most of it to english. This means that there will be phrases in Norwegian. Those phrases are predominantly phrases that have dependencies, which I didn't feel like tracking down before publishing. There may be some phrases I forgot as well, but most of these are not needed for testing and get a general understanding of the software.

3 I did not go over the the code before publishing. Meaning sensitive persons should avoid inspecting it, as I seem to remember being the messiest VI I've ever created! You are hereby warned that inspecting the code can induce trauma.

4 This project will probably not see any further development.

Requirements

  • LabVIEW
  • Reaper, tested on 6.05 and 6.32
  • Windows 10 (not tested on W11)

Using the software

Open the GUI.vi in windows explorer or in the LabVIEW project file. Run from within the GUI.vi.

Generating projects

Under the "Project" tab you can generate random song parameters. Possible tempo, timesignatures and scales are selected before generating.

bilde

The result is delivered below:

bilde

bilde

An illustration of available notes on the guitar neck is opened by clicking the guitar button.

Create a Reaper project

Clicking on the button will allow you to select a location for creating a folder, with the name of your choosing. The explorer window might tell you it is saving a file, but this is not true. A folder is generated with the same name you type in the filename box! There might be a bug present here, if the saving process is aborted. Avoid aborting the saving process!

bilde

In the folder you generated you'll find 2 files: 1 textfile containing all available chords, 1 Reaperproject with the projectname used in the LabVIEW software.

bilde

About

LabVIEW program for creating song challenges. Exports Reaper projects with challenge parameters. Not my proudest VI's.

Topics

Resources

License

Stars

Watchers

Forks