International Research Journal of Engineering and Technology (IRJET) e ISSN:2395 0056
Volume: 09 Issue: 06 | June 2022 www.irjet.net p ISSN:2395 0072
![]()
International Research Journal of Engineering and Technology (IRJET) e ISSN:2395 0056
Volume: 09 Issue: 06 | June 2022 www.irjet.net p ISSN:2395 0072
Amandip Singh1, Amit Vishwakarma2, Bhavik Boricha3
1,2,3 Final year Student, Dept. of M.C.A, V.E.S. Institute of Technology, India. ***
Abstract - This article presents simple and easy to understand aspects of technology of music in the terms of what they allow us to do. Any subject that requires tool interaction can benefit from the model's analytical and pedagogical applications. This article focuses on music application programming. The findings will be of particular interest to music educators, composers, performers, and researchers seeking a new perspective on the relationship between music and the tools and technologies used to compose and perform. The model incorporates technology in a broad sense, combining traditional acoustic tools with non electronic as well as electronic and computer technologies. An account of how the frameworks and cost model can be used effectively for teaching and research, and specificexamples,is provided.
Key Words: Music Programming, Music Software Development,MusicTechnology.
It has been a common practice in the field of music production tousemusical instrumentsto create music. In early days the music was recorded using these instruments only. These instruments were also used to record music and to store it. Different types of devices were used to record them. These devices include VHS, Tape recorders, Recording cassettes, Gramophone records, etc. Music has always been a combination of melodiesandharmony.
Ever since technology started growing into various sectors,IthasalsogrowninthemusicIndustry.Notesare animportantpartofmusic.Asthesenotesarecategorized to understand different musical instruments in a single way. For example a song on harmonium could be written down in notes and the same notes could be used to play the same melody with guitar also. In this way notes are a vital part of music. Music has always been re discovered byexperiments.
These experiments in result gave us new types of instruments and skills. Just like beatboxing and playing drums with kitchen utensils. Film scoring is also done usingvegetables,water,etc.
Thesesoundscould beused tocreatesomemind blowing music. These days computers can be used to make full music without any instruments which sounds amazing. This kind of music creation has come into the picture usingthetechnologyofmusic.Howcomputersunderstand music and how we can record, create, edit, use filters, synthesizers,etctocreatemusic.
It is self understood that the IT industry is very different from the music industry. Since for the development of music softwares ought to be done by one or more musiciansin the development.A musician might not have anyideaaboutcodingandsoftwaredevelopment.
A musician has different roles in their respective field. Their roles include consistent practice, being ready for performances and keeping their instruments in check. Many well known singers, writers, and composers may haveneverusedacomputerbefore.Itbecomesdifficultto understandwhatasoftwareis,howasoftwareworks,and most importantly how a software is developed since they mighthaveneverwrittenasinglelineofcode.Everyartist has started from their respective community and their musicshowsthetouchoftheircommunityandculture.
These are the factors which are a fuel to an artist. The mostdifficultchallengeistofigureouthowtomakemusic technology simple to learn and use. Overcoming this hurdle will help an artist to synchronize their music potential with technologysothatnovalueof theirstyleis lost in the transition. Finding the best technology for developmentisanotherchallenge.
There are a number of characteristics which should be fulfilled by the respective technology. The factors that must be considered are related to those that must be considered during any software development stage. Requirements,researchanddevelopment.
Currentlyavailablepapersarebasedonthetheoryofhow the nature of music technology should be approached to start learning the process and the advantages of technologyofmusicincreatingmusic.
International Research Journal of Engineering and Technology (IRJET) e ISSN:2395 0056
Volume: 09 Issue: 06 | June 2022 www.irjet.net p ISSN:2395 0072
Focusing on all the stages of the music creation since the development of technology of music started in the industry. The applications of the technology in music creation. One of the papers mentioned the affordances of music making, frameworks and models from the perspectiveofamusician.
Alda is a text based musical programming language whichisusedinmusiccomposition.
Aldaallowsustowriteandplaybackmusic.
A developer can program using only a text editor and thecommandlinealso.
Aldaprovideseasytolearnmarkuplikesyntax.
Aldaispertinentformusicianswhomaynotknowhow tocode.
Following are some basic building blocks of an Alda program:
Notes:notesarethekeysofmusic.
Octave: we can use greater than symbol to go up a higheroctave.
Accidentals: sharps and flats can be added using “+” and“ ”symbols.
Examples: Writingascore: bassoon: trumpet: trombone: Summary:
Alda is suitable for musicians who don’t know howtocode.
Aldaprovideseasytolearnmarkuplikesyntax.
SynthEditisaserviceAPIforMIDIandaudioplugins. C++isusedwhileworkingwithSynthSDK. SynthEditissimpletouseandlearn.
Synth Edit has been made to save too much typing or code. Therefore, most of the Synth Edit module is describedinanXMLfile.
Wecanalsousecodeblocksforsynth editsdk plugins development.
There are many examples of modules available in the documentation.
Someofthesefieldsforasamplecodeare: id name category GUI parameters
ExampleofanXMLpin: Exampleofoneaudiopin,oneguipin,oneparameter:
Summary:
Synth Edit is good for building synthesizers. Synthesizers are the software or hardware which take an input sound and make some changes of its basic attributes like amplitude,pitch,etcandthengivesthemodifiedsoundas its result. It could be live or for recording purposes according to the directions given. The output gives the modifiedsound.
Thissoundcouldbeproducedindifferentpitcheslaidona keyboard. Basic working of a synthesizer is to use one soundandlayitonakeyboardwhichenables ustocreate a different type of instrument with the input sound used as a basic building sound of the instrument. Therefore SynthEditissuitablefordevelopingsynthesizers.
International Research Journal of Engineering and Technology (IRJET) e ISSN:2395 0056
Volume: 09 Issue: 06 | June 2022 www.irjet.net p ISSN:2395 0072
Pure Data is a Graphical User Interface based visualprogrammingenvironment.
Pure Data allows a developer, musician, visual artist, performer, or researcher to graphically create softwarewithoutwritingcode.
PureData canalsobeused toproduceandcreate audio,video,and2D/3Dgraphics.
Pure Data can integrate wearable devices, motor systems,lightingrigs,andotherequipmentoverlocaland remotenetworks.
We can start by creating some basic building objects. These objects represent some basic attributes for generating sound in any system Like Frequency, Amplitude, Output path. Using the GUI, we can connect these objects.Thiswill allowus tomake a workingsound whichcouldbeheardafterenablingtheoutputsource.
Wecanmakeabasicsoundthisway.
Summary:
Pure Data is useful in learning the foundations of audiovisualprocessinganddevelopmentenvironments.
Pure Data is also suitable for complex and large scaleprojects.
JFugue, an open source programming library, allows a personto programmusicinJavawithoutthecomplexities of Musical Instrument Digital Interface (MIDI). MIDI is an electrically powered communication protocol for musical
instruments. Java programs in JFugue can be written that will play C major scale. The program will have a Player library imported and then a class can be created with the mainfunction.NowanobjectofPlayerwillbecreatedand the play function of Player can be called along with 7 letters or string to produce sound. We can use notes, durations,tempo,patterns,chordsandrhythmsinJFugue. Consider ‘player.play("C D E F G A B");’, here notes are alphabets and if we consider this ‘player.play("C5 D5 E5 F5G5A5B5");’,herenotesarepresentalongwithoctaves whichisbydefault5.Octavescanbeinbetween1and10, if notes are repeated but octaves are different the sound will differ as well (e.g. ‘player.play("G3 G2 A5 B3");’) Duration will result in the faster time to play a sound, in above strings a.k.a Staccato, the music will sound interesting as like octaves where default duration ‘q’ is used. Common durations are ‘Q’ for quarter note, ‘W’ for whole, ‘H’ for half and ‘E’ for eighth. The duration is shorter or faster than the previous duration by half time and twice slower or longer than the next duration. ‘player.play("G4qi G3s A3is B2is");’, this will give an interestingsoundexperienceandalsowecanusemultiple duration as we have used in ‘G4qi’. It's advisable to provide them with order of length, leading with the longest and end with the shortest. Another important concept is Rest, which meanssilence, pause orabsence of music. We can also use pipes as shown in this string for better readability ‘player.play("G5isE5i Ri| G5sRis E5q Rs | G5q E5i Rs D5q rs C5h Rs");’. We can also use the ‘+’ operator in our Staccato to concatenate the strings. The musical element in Staccato string is a token, a Pattern wraps it and allows us to manipulate in convenient ways. SetTempo() (to increase the Tempo), setInstrument() (to alter the Instrument), setVoice() (to change the Voice), and add() are all methods in the Pattern class (to add multiple patterns or multiple Staccatos together). The ChordProgression class's setKey(), distribute(), and allChordsAs() methods can be used to construct and edit chords and chord progressions. Using the class we can automaticallycreatechordsandsetthekeyusingsetKey(), distributeallchordsusingdistribute()andcanselecteach chord by typing $ with an index number of the chord as showbelow:
International Research Journal of Engineering and Technology (IRJET) e ISSN:2395 0056
Volume: 09 Issue: 06 | June 2022 www.irjet.net p ISSN:2395 0072
RhythmsinJFuguecanbeusedwithbuilt inRhythmclass, addLayer() method works similarly as Voices and getPattern()methodwillchangeintorhythmintopattern
player.play(rhythm.getPattern().repeat(2));
Staccatoisaformofmusicalexpression,itmeansashort termnote,separatedfromthenote.Thestringprovidedto thefunctioncomprisesasetofmusicalinstructions,which JFugueparsesandconvertsintomusicalevents,whichare presentedasMIDIbydefault.The"Staccato"format,which can express all MIDI musical elements and is specifically designedtobeeasytoreadandwrite,isusedhere.JFugue has been used in a wide range of applications, including the installation of software projects. In just one or two lines of code, JFugue allows you to accomplish something interesting.
JMusic is an open source music programming library written in Java to help melodists and music software inventorsbyfurnishingsupportformusicdatastructures, variations, and input/ affair to colorful train formats. JMusic was an intimately released exploratory design written by Johannes Vazha Tavdgiridze and Andrew Brown in November 1998. Simple to learn, important to use. jMusic is fluently understood because it builds on conventionsofwesternmusic.JMusicwillnotletyouhear what you have written until you have completed a program that generates SMF which is also known as StandardMIDIfileoraudiofile.JMusicprogramlaborscan be saved to a SMF or. au audio.The introductory process behind computer music composition is: Decide the composition which needs to be composed. Select compositional ways to achieve this. Writing a program thatexplainscompositionalwaystothecomputersystem. Run or execute the program. Playback the composition as a MIDI or an audio file. The musical information is stored in a hierarchical fashion grounded upon a conventional score on paper. Score Contains any number of its corridors. Part Contains any number of its Expressions.
Any number of Notes can be included in an expression. Please remember that this is unique information concerning a musical piece. The objects contain lots of useful information. Pitch: Pitch of the note. Dynamic: Dynamic is the loudness of the note. RhythmValue: RhythmValue is the length of the note. Pan: Pan is the notes position in the stereo diapason. Duration: Duration is the length of the note in milliseconds Offset: Offset is a divagation from the launch of the note. JMusic helps musiciansbyprovidingafamiliarmusicdataformatbased on note/sound events, as well as techniques for organizing, editing, and analyzing that data. Music scores can be saved as MIDI or audio lines, which can then be recycled or played back in real time. JMusic is capable of reading and writing MIDI, audio, XML, and its own lines. JMusic is used in tools, similar as ChordATune, AI Bass Mutations,ElevatedPitch,Impro visor,BandMachine,etc.
Comparing these technologies we get a deeper understanding of what are the possibilities for the development of a music tool, synth, etc. Comparing these technologiesgivesusabetterunderstandingofwhichtool couldpotentiallysolvewhichoneofthereallifeproblems. These observations are essential in the development of any software tool. It is important to have a prior knowledge of the possibilities before starting any discussions of the development. Developing a tool will become easier. In future this document will help all the fellow musicians to understand the importance of the musiccreationprocessusingthetechnologiesofmusic.
[1] https://github.com/alda lang/alda/blob/master/doc/index.md
[2] https://puredata.info/docs/StartHere/ [3] https://puredata.info/docs/SettingUpADebianBoxFor Installations/
International Research Journal of Engineering and Technology (IRJET) e ISSN:2395 0056
[4] http://www.synthedit.com/software development kit/sdk version 3 documentation/
[5] https://stackabuse.com/jfugue beginners guide part i notes durations patterns/
[6] https://usermanual.wiki/Document/The20Complete 20Guide20to20JFugue2C20Second20Edition2C20v200.72 3471053/help
[7] https://explodingart.com/jmusic/jmDocumentation/i ndex.html
Volume: 09 Issue: 06 | June 2022 www.irjet.net p ISSN:2395 0072 © 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal | Page1634