
Python Programmer with Music Theory for MIDI File Generation
- or -
Post a project like this£450(approx. $607)
- Posted:
- Proposals: 13
- Remote
- #4127337
- OPPORTUNITY
- Expired
♛ Most Trusted #1 Team |19+ years of expertise in Website, Mobile Apps, Desktop & Console Games. Wordpress, ReactJS, Shopify, Laravel, Python, React Native, Flutter, Unity, Unreal Engine and AR/VR




Software Engineer | AI Developer | Python | JavaScript | Automation | Algo Trader
Software Engineer | IT Professional | AI developer | Mobile App Developer and more !
Python | Django | | OpenAI | GenerativeAI | ML | AI| Face recognition|ChatGPT|GoLang|React | Mobile App | Graphic Design
1550+ Projects (iOS | Android | Mac OS | Web | Win | BlockChain | IOT)

12834210717653237857752047431077406590627891073087671021462800132968570863745710241389





Description
Experience Level: Expert
This project involves the development of a Python script for generating MIDI files, specifically designed for ear training.
The focus is on creating a comprehensive collection of 4-note sequences, meticulously labelled and structured in accordance with music theory. This includes a thorough exploration of all possible note variations, starting from every note between C4 and B4.
Requirements:
1. Script Development:
• Develop a user-friendly and adaptable Python script for MIDI file generation.
2. MIDI File Specifications:
• Sequence Composition: Each MIDI file will contain a 4-note sequence.
• Key Signature Determination: The first note, within the Middle C octave (C4 to B4), sets the key signature for the sequence. Every possible starting note between C4 and B4 must be explored to include all the potential key signatures (majors: C, G, D, A, E, B, F#, F, Bb, Eb, Ab, Db, Gb) .
• Note Movement: Include all possibilities (25) for each subsequent note, allowing movements up, down, or remaining the same, encompassing all interval leaps within an octave.
• Guitar Range Compatibility: Ensure all sequences are within the guitar's easily playable range, typically E2 to E5, covering all possible variations within these parameters.
3. File Naming and Organization:
• Naming Convention: Files named according to note names (e.g., A, B, G#, Db, etc.), with 'M' for melodic and 'H' for harmonic versions. Sequences must be spelt in accordance with the key signature. Indicate pitch movement between notes with an appropriate symbol indicating whether the note is higher or lower than the previous one and no mark for repeated notes.
• Organizational Structure: Files should be categorized into multiple folders using music theory for easy access and efficient organization using the interval leaps in the sequence.
4. Instrument Setting:
• Set all MIDI files to use an Acoustic Grand Piano sound for consistency.
5. Tempo and Rhythm (for Melodic Files):
• Tempo: 120 BPM.
• Note Duration: Crotchets (quarter notes).
6. Documentation:
• Provide a comprehensive and user-friendly README file detailing the script's functionality, usage, and dependencies.
Deliverables:
1. A Python script for MIDI file generation.
2. Sample sets of both melodic and harmonic MIDI files for initial review.
3. A well-organized collection of MIDI files, sorted into multiple folders.
4. Source code with detailed comments.
5. A thoroughly documented README file.
Timeframe:
• Expected completion within 4 weeks.
Ideal Candidate:
• Proficient in Python, with an understanding of music theory, especially in relation to MIDI and key signatures.
• Capable of creating a broad range of MIDI sequences, both melodic and harmonic, encompassing all possibilities within the defined parameters.
• Strong organizational skills for effective file management.
• Excellent communication skills and adherence to project requirements.
The focus is on creating a comprehensive collection of 4-note sequences, meticulously labelled and structured in accordance with music theory. This includes a thorough exploration of all possible note variations, starting from every note between C4 and B4.
Requirements:
1. Script Development:
• Develop a user-friendly and adaptable Python script for MIDI file generation.
2. MIDI File Specifications:
• Sequence Composition: Each MIDI file will contain a 4-note sequence.
• Key Signature Determination: The first note, within the Middle C octave (C4 to B4), sets the key signature for the sequence. Every possible starting note between C4 and B4 must be explored to include all the potential key signatures (majors: C, G, D, A, E, B, F#, F, Bb, Eb, Ab, Db, Gb) .
• Note Movement: Include all possibilities (25) for each subsequent note, allowing movements up, down, or remaining the same, encompassing all interval leaps within an octave.
• Guitar Range Compatibility: Ensure all sequences are within the guitar's easily playable range, typically E2 to E5, covering all possible variations within these parameters.
3. File Naming and Organization:
• Naming Convention: Files named according to note names (e.g., A, B, G#, Db, etc.), with 'M' for melodic and 'H' for harmonic versions. Sequences must be spelt in accordance with the key signature. Indicate pitch movement between notes with an appropriate symbol indicating whether the note is higher or lower than the previous one and no mark for repeated notes.
• Organizational Structure: Files should be categorized into multiple folders using music theory for easy access and efficient organization using the interval leaps in the sequence.
4. Instrument Setting:
• Set all MIDI files to use an Acoustic Grand Piano sound for consistency.
5. Tempo and Rhythm (for Melodic Files):
• Tempo: 120 BPM.
• Note Duration: Crotchets (quarter notes).
6. Documentation:
• Provide a comprehensive and user-friendly README file detailing the script's functionality, usage, and dependencies.
Deliverables:
1. A Python script for MIDI file generation.
2. Sample sets of both melodic and harmonic MIDI files for initial review.
3. A well-organized collection of MIDI files, sorted into multiple folders.
4. Source code with detailed comments.
5. A thoroughly documented README file.
Timeframe:
• Expected completion within 4 weeks.
Ideal Candidate:
• Proficient in Python, with an understanding of music theory, especially in relation to MIDI and key signatures.
• Capable of creating a broad range of MIDI sequences, both melodic and harmonic, encompassing all possibilities within the defined parameters.
• Strong organizational skills for effective file management.
• Excellent communication skills and adherence to project requirements.

Parminder G.
0% (0)Projects Completed
-
Freelancers worked with
-
Projects awarded
0%
Last project
23 Jun 2025
United Kingdom
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies