Talking Clock Assignment: Difference between revisions

From MSc Voice Technology
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Welcome to the shared assignment between the [[Intro to Voice Technology syllabus|Introduction to Voice Technology]] and [[Introduction to Programming]] courses. In this interdisciplinary project, you will work in groups of 3-4 students to create a functional multilingual talking clock. This assignment will allow you to integrate your knowledge of programming with the principles of voice technology, audio recording, GitHub collaboration, open-source licensing, and FAIR data principles.
=== Task ===
Your task is to develop a talking clock application that displays the current time in a 12-hour format while offering voice output. The project should provide a user-friendly interface, allowing users to interact with the clock. The clock is programmed in Python and uses audio recordings, which are produced as part of the assignment, as well as (optionally) text-to-speech libraries. The functional scope of the clock and its interface are not limited. The students are encouraged to develop their own feature ideas, such as allowing the user to change the language, voice, pitch, and speed, adding alarm and snooze functionalities, and/or adding support for multiple time zones. The project must adhere to ethical considerations related to data privacy and user consent.
=== Assignment Components ===
# '''Basic Clock Functionality:''' Implement a clock in Python that accurately displays the current time in a 12-hour format.
# '''Audio Recording:''' Record audio files for time announcements (minimal requirement: English, consider additional language support).
# '''Voice Integration''': Integrate your audio recordings (potentially: also integrate a text-to-speech library or API for automated voice output).
# '''User Interface and Customization:''' Forge an intuitive user interface (GUI) enabling users to control your clock. Customize your clock: consider additional features and integrate them into the user interface.
# '''Error Handling:''' Construct mechanisms that handle user errors and unanticipated inputs effectively.
# '''GitHub Collaboration:''' Use GitHub for version control, collaboration and distribution. Collaborate effectively within your group, making branches, committing changes, and creating pull requests. Each group member should actively participate via their GitHub account.
# '''Documentation:''' Provide clear and comprehensive documentation for your project. Include at least
## Installation instructions, including dependency handling
## Documentation of team organization and project workflow
## Technical documentation and reflection. Code comments and a dedicated section in your documentation, listing all used resources and libraries, and reflecting on the technical challenges and limitation you encountered.
## A user manual for the graphical user interface, describing all features and how to use them.
## Licensing and FAIR data principles''':''' Choose an open-source license for your project. Discuss its significance and explain how your project adheres to FAIR data principles
=== Timeline ===
[will be added shortly]


=== Assessment ===
=== Assessment ===
The assignment is integrated across the two courses [[Intro to Voice Technology syllabus|''Intro to Voice Technology'']]  and ''Programming for Voice Technology'', with each course assessing different components of the assignment.
The assignment is integrated across the two courses [[Intro to Voice Technology syllabus|Intro to Voice Technology]]  and Programming for Voice Technology, with each course assessing different components of the assignment.


==== Introduction to Voice Technology: ====
==== Introduction to Voice Technology: ====
Line 29: Line 8:
* User Experience and Customization: This covers the user experience of components 1,3 and 4 without considering any code.  
* User Experience and Customization: This covers the user experience of components 1,3 and 4 without considering any code.  
* Non-Technical Documentation: Team organization and project workflow (component 7.2), GUI user manual (component 7.4) and Licensing statement / reflection FAIR data (component 7.5)
* Non-Technical Documentation: Team organization and project workflow (component 7.2), GUI user manual (component 7.4) and Licensing statement / reflection FAIR data (component 7.5)
''For details on how the talking clock is graded in the Intro to Voice Technology course, see [[Grading rubrics#Talking clock|the rubric]].''


==== Programming for Voice Technology: ====
==== Programming for Voice Technology: ====
Line 37: Line 18:


=== Resources ===
=== Resources ===
[will be added shortly]
* Additional Python resources
* Additional Python resources
* Recommended text-to-speech libraries or APIs
* Recommended text-to-speech libraries or APIs
Line 48: Line 27:
* This is a group assignment. All group members are expected to contribute equally. Using GitHub, each team members contribution can be traced.
* This is a group assignment. All group members are expected to contribute equally. Using GitHub, each team members contribution can be traced.
* Consider the integration of skills acquired in both courses for a comprehensive project.
* Consider the integration of skills acquired in both courses for a comprehensive project.
* Each group will present their project in a short video demonstration [@Matt: I have not considered this in the components/assessment yet]
* Each group will present their project in a short video demonstration

Latest revision as of 12:25, 24 October 2023

Assessment[edit | edit source]

The assignment is integrated across the two courses Intro to Voice Technology and Programming for Voice Technology, with each course assessing different components of the assignment.

Introduction to Voice Technology:[edit | edit source]

  • Audio recording and language support: Conceptualization, and recording quality.
  • User Experience and Customization: This covers the user experience of components 1,3 and 4 without considering any code.
  • Non-Technical Documentation: Team organization and project workflow (component 7.2), GUI user manual (component 7.4) and Licensing statement / reflection FAIR data (component 7.5)

For details on how the talking clock is graded in the Intro to Voice Technology course, see the rubric.

Programming for Voice Technology:[edit | edit source]

  • Code quality: This covers the technical assessment of components 1, 3, 4 and 5
  • GitHub Collaboration
  • Technical Documentation: The installation instructions and dependency handling (component 7.1), and the resource documentation and technical reflection (component 7.3)

Resources[edit | edit source]

  • Additional Python resources
  • Recommended text-to-speech libraries or APIs
  • Tutorials on audio recording
  • GitHub guides for version control
  • Open-source licensing guides

Notes[edit | edit source]

  • This is a group assignment. All group members are expected to contribute equally. Using GitHub, each team members contribution can be traced.
  • Consider the integration of skills acquired in both courses for a comprehensive project.
  • Each group will present their project in a short video demonstration