Software Development Methodologies

Audio software developers forum.
Forum rules
If you require help using Audacity, please post on the forum board relevant to your operating system:
Windows
Mac OS X
GNU/Linux and Unix-like
Post Reply
sb82
Posts: 5
Joined: Mon Feb 06, 2012 2:02 pm
Operating System: Please select

Software Development Methodologies

Post by sb82 » Mon Feb 06, 2012 2:10 pm

Hi everyone,

I am a computer science student. I have been asked to write a short research document about software development methodolgies for a class entitled software development fundamentals. My previous education included a degree in music tech, so I have decided to try to write something on music tech software development, in the open source domain. I am looking for any information or feedback related to the development methodologies which are used in the coding and development of open source audio editing software. This project is very much in its infancy so I cant really tell you anything other than this right now, but any information at all will be appreciatively recieved. Thanks in advance.

Also, as a computer science student, I am very interested in helping to add to the software development, but my knowledge so far of this is limited. I am hoping that this project will help me get involved.

Thanks
sb82

Gale Andrews
Quality Assurance
Posts: 41763
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: Software Development Methodologies

Post by Gale Andrews » Tue Feb 07, 2012 12:15 am

Hello,

CS students often seem to get assignments to look at software development methodologies in various projects or application areas but we don't really have any formal model we follow. We have a somewhat documented Release Process:
http://wiki.audacityteam.org/wiki/Release_Process .

Otherwwise I suggest you could start here:
http://wiki.audacityteam.org/wiki/Developer_Guide .

and look at the links thereon that grab your attention.

Read or subscribe to the audacity-devel mailing list:
http://lists.sourceforge.net/lists/list ... city-devel .

Consider building widgets and Audacity then posting an introduction about yourself to that list, giving your impressions about Audacity.



Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

sb82
Posts: 5
Joined: Mon Feb 06, 2012 2:02 pm
Operating System: Please select

Re: Software Development Methodologies

Post by sb82 » Tue Feb 07, 2012 9:36 am

Thank you very much Gale. I'll check out those links now.

Yea, the project wasnt directed toward this area, its an interest of mine and something I would really like to get involved in now that I am learning to code applications. I have some knowledge of CSound from my music tech days, also of using max/msp, so I understand singnal flow pretty well too. Hopefully I can become a contributor to the project.

Do you mind if I keep this thread alive, post back here occasionally with questions as they arise? Is that cool?

Thanks again
Steven

steve
Site Admin
Posts: 80326
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Software Development Methodologies

Post by steve » Tue Feb 07, 2012 4:45 pm

sb82 wrote:Do you mind if I keep this thread alive, post back here occasionally with questions as they arise? Is that cool?
No problem with that at all, though this is primarily a "help forum" for Audacity users, so don't be disappointed if you don't get a lot of response. Few of the people here are directly involved with the development of Audacity.

Just out of interest, which platforms / languages have you worked with / are familiar with?
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

sb82
Posts: 5
Joined: Mon Feb 06, 2012 2:02 pm
Operating System: Please select

Re: Software Development Methodologies

Post by sb82 » Wed Feb 08, 2012 2:46 pm

Well currently I am training in JAVA, but I have been starting to gain an interest in learning one of the C languages, most probably C++. My lecturer has told me that jumping from one language to another is relavtively easy when you have a good understanding of the principles of coding and problem solving and general coding syntax. I'd like to think that learning C++ will be aided significantly by having a go at coding for Audacity. Unless you think there is possibly a better language I should be looking at getting into?

steve
Site Admin
Posts: 80326
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Software Development Methodologies

Post by steve » Wed Feb 08, 2012 3:59 pm

I believe that most of Audacity is written in C++ (I'm not a programmer). Audacity also has "Nyquist" embedded in it, which is a LISP based scripting language that can be used for plug-ins (I do write Nyquist plug-ins).

A good place to start with Audacity is building it from the svn source code (see links that Gale posted)
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

sb82
Posts: 5
Joined: Mon Feb 06, 2012 2:02 pm
Operating System: Please select

Re: Software Development Methodologies

Post by sb82 » Wed Feb 08, 2012 4:34 pm

Ok cool. Just a question on Nyquist. When you say you script using it, what are its limitations? Can I write a synthesiser with it? Or is it DSP only, by that I mean reeverbs, delays etc? Is it easy to get a grasp of?

steve
Site Admin
Posts: 80326
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Software Development Methodologies

Post by steve » Wed Feb 08, 2012 6:03 pm

Considering that Nyquist plug-ins are simply written as plain text files, it is amazingly versatile.
Keep in mind that Audacity does not do anything in real time other than record and playback, so there's no "real time reverb" or "real time anything else", but you can perform virtually any kind of audio processing to existing audio. Nyquist can also generate audio.

To get an idea about some of the things that Nyquist can do, there is a large collection of plug-ins published on the Audacity wiki: http://wiki.audacityteam.org/wiki/Downl ... t_Plug-ins

Also, have a look at the links at the top of that page.

If you have further questions regarding Nyquist programming, feel free to post on out Nyquist board: http://forum.audacityteam.org/viewforum.php?f=39
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

sb82
Posts: 5
Joined: Mon Feb 06, 2012 2:02 pm
Operating System: Please select

Re: Software Development Methodologies

Post by sb82 » Thu Feb 09, 2012 12:26 pm

Just ask you one more thing? Would you say Audacity is more like cots software like Soundforge or Cubase?

steve
Site Admin
Posts: 80326
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Software Development Methodologies

Post by steve » Thu Feb 09, 2012 3:12 pm

sb82 wrote:Just ask you one more thing? Would you say Audacity is more like cots software like Soundforge or Cubase?
More like cots software than what?
It's more like cots software than a cheese sandwich.
No, I wouldn't say that it is much like cots software at all.

Audacity is open source software (this is probably as good a definition as any of "open source" http://opensource.org/docs/osd)
Specifically, Audacity is released under GNU General Public License, version 2
The development of Audacity is not motivated by profit or shareholders interests, it is motivated by making a good product and making it freely available to all.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Post Reply