Constructing a 1980s Hip Hop Beat

Java Python Your midterm exam consists of two parts (50 ponts total):

Part 1: Constructing a 1980s Hip Hop Beat (25 points)

Part 2: Constructing a Rap (25 points)

Due Date: You must submit both parts of your midterm exam on Blackboard by 11:59pm on October 22. Any materials delivered after 10/22 will be considered late and points will be deducted (10% drop in grade per each day late, including weekend days).

**NOTE** Your grade has nothing to do with the “quality” of your beat or rap (i.e., how good, or clever, or provocative, or “hard” they are). You will only be graded based on your execution of the guidelines below.

Instructions for Part 1: Constructing a 1980s Hip Hop Beat

Make a beat in the style. of one of the following hip hop acts from the 1980s: Afrika Bambaataa, Run DMC, MC Lyte, LL Cool J, or Beatie Boys. Use the Roland TR-808 online emulator found here: https://roland50.studio/. Record your beat (video is preferred). You must use at least four instruments on the TR-808, including: BD (bass drum), SD (snare drum), and CH (closed hi-hat).

Write a 250 word “explainer” that cites a specific track or tracks of your chosen artist, and details how your beat comports with the sound of that track or those tracks. Be sure to discuss why and how you made your decisions with respect to rhythm (where you decided to place certain sounds on the 808) and blend (how sounds interact with one another).

For reference, I have recorded a brief instructional video on the how to use this version of the online TR-808 here: https://youtu.be/Xj7rS7lnv9I.

When submitting your beat on Blackboard you must include the following:

A picture/screenshot of your beat on the 808 online interface

A video or audio recording of your beat (sound quality not important as long as I can hear it)

Your 250-word explainer

**NOTE** If employing a video, you may need to create a Zip file or save larger files to Dropbox and send me a link to it. Every CCNY student is (I believe) entitled to a free Dr Constructing a 1980s Hip Hop Beat opbox account.

Criteria for grading: 1) Your beat draws on the style. and sound of the artist and track(s) you choose; 2) the details of your explainer are clear, convincing, and easily discernable in your beat; 3) you use the 808 in creative and inventive ways, while maintaining the sound and style. of the 80s.

Instructions for Part 2: Constructing a Rap

First, carefully review this YouTube video on “The Fundamental Rhyme Schemes of Rap” to gain a firm grasp of the different types of rhyme schemes you’ll be using and their distinctions: https://www.youtube.com/watch?v=96JFmjJgtKA&ab_channel=RappingManual.

Then, construct a 32-line rap that implements the following rhyme schemes:

end rhymes

half/full

half/one-and-a-half

internal

You will organize your rap around one of the following themes:

consumer products

diss track

boasting rap skills

narrative story

You will correlate rhymed words/syllables with same-colored highlights. Here is a four-line example of a Run-DMC rap that uses end rhymes (in yellow) and an internal rhyme (in red):

This speech is my recital,

I think it’s very vital,

To rock a rhyme that’s right on time,

It’s tricky it’s the title

You must use each of the four rhyme schemes at least once, though they need not be in any particular order. You will also supply a brief summary (minimum 150 words) of where you used which rhyme schemes, how you incorporated your chosen theme, and a description of what kind of beat/track would best accompany your rap and why.

Criteria for Grading: 1) Sufficient application of rhyme schemes; 2) Accurate and comprehensive highlighting of rhymes; 3) Clarity of theme; 4) Creativity and Style         

Sure, here's the code: ```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; void heapify(vector<int>& arr, int n, int i) { int largest = i; int l = 2 * i + 1; int r = 2 * i + 2; if (l < n && arr[l] > arr[largest]) largest = l; if (r < n && arr[r] > arr[largest]) largest = r; if (largest != i) { swap(arr[i], arr[largest]); heapify(arr, n, largest); } } void buildHeap(vector<int>& arr) { int n = arr.size(); for (int i = n / 2 - 1; i >= 0; i--) heapify(arr, n, i); } void printHeap(vector<int>& arr) { int n = arr.size(); int row = 1, col = 0; while (col < n) { for (int i = col; i < min(n, col + row); i++) cout << arr[i] << " "; cout << endl; col += row; row *= 2; } } int main() { vector<int> arr = { 4, 10, 3, 5, 1 }; buildHeap(arr); printHeap(arr); } ``` This program first constructs a max heap from a given vector of integers using the `buildHeap` function. It then prints the heap in a rotated format using the `printHeap` function. The `heapify` function is used to maintain the heap property while constructing the heap. It takes an array `arr`, its size `n`, and the index of the current node `i` as input. It compares the value at the current node with its left and right child nodes, and swaps the current node with the largest child node if necessary. It then recursively calls itself on the largest child node to maintain the heap property. The `buildHeap` function iterates over the second half of the array in reverse order (since these nodes are the ones with children) and calls `heapify` on each node to construct the heap. The `printHeap` function prints the heap in a rotated format. It first initializes the row and column numbers, and then iterates over each row of the heap, printing the nodes in that row and updating the column and row numbers accordingly. Note that this program assumes a complete binary tree representation of the heap. If the input vector is not complete, the program may produce unexpected results.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值