Added a README file and updated some code (flake8 + help message)

This commit is contained in:
Phyks 2013-08-01 21:29:07 +02:00
parent f8592113e8
commit 9fa7594b12
3 changed files with 62 additions and 4 deletions

51
README.md Normal file
View File

@ -0,0 +1,51 @@
(Bad) Artificial Song Generator
===============================
This is just a simple C code to handle wave files (see files wave_stuf.* for the functions) and a simple application to generating purely artificial sounds (just by creating a wave file with values from a sine wave at the good frequency to make a note.
### Included files are :
* _examples_ folder with some examples music sheets and the resulting generated wave files
* _generateur.c_ which is the main program
* _generateur_partition.py_ which is just a simple program to generate basic music sheet to use with the main program
* _wave_stuff.*_ which are the functions to handle wave files
## Usage of the main program
The main program should be compiled using the makefile.
To use it, just run from command line :
<code>generateur.out partition output.wav bpm silence</code> where
* _partition_ is the path to the music sheet you want to generate
* _output.wav_ is the resulting wave files
* _bpm_ is the speed of the song (in bpm)
* _silence_ is an integer that should be set to 1 to add silences between notes
## Usage of the basic music sheet generator
This program allows you to write a simple music sheet without always looking for the correspondance between note and frequency. It is very basic and only allows you to use notes amongst :
* RE, MI, FA, SOL, LA, SI, DO (where LA is 440Hz)
* RE2, MI2, FA2, SOL2, LA2, SI2, DO2 (where LA is 880Hz).
Length is any integer you want. It will define the length of the note (play with both length and bpm params to get what you want).
You can use the -o (--output) option with a filename as argument to store the generated music sheet to this specific file.
## License
### TLDR;
I don't give a damn to anything you can do using this code. It would just be nice to
quote where the original code comes from.
--------------------------------------------------------------------------------
"THE NO-ALCOHOL BEER-WARE LICENSE" (Revision 42):
Phyks (phyks@phyks.me) wrote this file. As long as you retain this notice you
can do whatever you want with this stuff (and you can also do whatever you want
with this stuff without retaining it, but that's not cool... :/ ). If we meet some
day, and you think this stuff is worth it, you can buy me a <del>beer</del> soda
in return.
Phyks
---------------------------------------------------------------------------------

View File

@ -63,7 +63,7 @@ int main(int argc, char **argv)
{
if (argc < 5)
{
fprintf(stderr,"Usage: %s partition output.wav bpm silence\n",argv[0]);
fprintf(stderr,"Usage: %s partition output.wav bpm silence\nsilence should be 1 to add silence between notes.\n",argv[0]);
return 0;
}

View File

@ -12,18 +12,25 @@ except getopt.GetoptError:
for opt, arg in opts:
if opt in ("-h", "--help"):
print("Music sheet generator for the sound player. Usage :")
print("-h \t --help \t Displays this help message")
print("-h \t\t --help \t Displays this help message")
print("-o file \t --output file \t Save the generated music sheet to "
"the specified file")
print("\nAllowed values for notes are RE, MI, FA, SOL, LA, SI, DO"
"(corresponding to LA = 440Hz) and RE2, MI2, FA2, SOL2, LA2, "
"SI2, DO2 (corresponding to LA2 = 880Hz)")
print("\nTo quit, just enter \"quit\" as note")
sys.exit()
elif opt in ("-o", "--output"):
output = arg
continue_while = True
notes = {"RE": 294, "MI": 330, "FA": 349, "SOL": 392, "LA": 440, "SI": 494,
"DO": 523, "RE2": 587, "MI2": 659, "FA2": 699, "SOL2": 794, "LA2": 880,
"SI2": 988}
"DO": 523, "RE2": 587, "MI2": 659, "FA2": 699, "SOL2": 794,
"LA2": 880, "SI2": 988}
partition = ''
while continue_while: