{"id":20372873,"url":"https://github.com/sidmishraw/active_pipeline_framework","last_synced_at":"2026-06-01T03:31:58.119Z","repository":{"id":86400403,"uuid":"88023461","full_name":"sidmishraw/active_pipeline_framework","owner":"sidmishraw","description":"An Active Pipeline Framework in Java","archived":false,"fork":false,"pushed_at":"2017-04-16T03:39:42.000Z","size":779,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-09T15:23:28.499Z","etag":null,"topics":["active-filters","java-8","ood-principles","pipeline-framework"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sidmishraw.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-12T07:36:57.000Z","updated_at":"2018-12-03T14:58:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"957014fb-a3bf-4fd5-b19c-78265e0f6229","html_url":"https://github.com/sidmishraw/active_pipeline_framework","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sidmishraw/active_pipeline_framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidmishraw%2Factive_pipeline_framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidmishraw%2Factive_pipeline_framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidmishraw%2Factive_pipeline_framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidmishraw%2Factive_pipeline_framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sidmishraw","download_url":"https://codeload.github.com/sidmishraw/active_pipeline_framework/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidmishraw%2Factive_pipeline_framework/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33759178,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["active-filters","java-8","ood-principles","pipeline-framework"],"created_at":"2024-11-15T01:15:22.674Z","updated_at":"2026-06-01T03:31:58.102Z","avatar_url":"https://github.com/sidmishraw.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Active Pipeline framework\n[Using lecture notes from Dr. Pearce](http://www.cs.sjsu.edu/faculty/pearce/modules/projects/pipes/index.htm)\n\nA pipe is a message queue. A message can be anything. A filter is a process, thread, or other component that perpetually reads messages from an input pipe, one at a time, processes each message, then writes the result to an output pipe. Thus, it is possible to form pipelines of filters connected by pipes.\n\nThis uses active filters. Each filter has a run method that perpetually reads messages from its input pipe, processes them, then writes the processed message to its output pipe. Instead of a single message, a pipe has a message queue. A filter must wait for data if its input pipe is empty. Pipes must be monitors with synchronized read and write operations.\n\n\n### Background\n#### Filter Classification\n\nThere are four types of filters: *producers*, *consumers*, *transformers*, and *testers*. \n\n* A *producer* is a producer of messages. It has no input pipe. It generates a message into its output pipe. \n\n* A *consumer* is a consumer of messages. It has no output pipe. It eats messages taken from its input pipe. \n\n* A *transformer* reads a message from its input pipe, modulates it, then writes the result to its output pipe. (This is what DOS and UNIX programmers call filters.) \n\n* A *tester* reads a message from its input pipe, then tests it. If the message passes the test, it is written, unaltered, to the output pipe; otherwise, it is discarded. (This is what signal processing engineers call filters).\n\n\nFilters can also be classified as *active* or *passive*.\n \n* An active filter has a control loop that runs in its own process or thread. It perpetually reads messages from its input pipe, processes them, then writes the results to its output pipe. An active filter needs to be derived from a thread class provided by the operating system:\n\n\t```java\n\tclass Filter extends Thread { ... }\n\t```\n\nA passive filter has a control loop function. Here's a simplified version that assumes the filter is a transformer:\n\n\n\tvoid controlLoop()\n\t{\n\t   while(true)\n\t   {\n\t      Message val = inPipe.read();\n\t      val = transform(val); // do something to val\n\t      outPipe.write(val);\n\t   }\n\t}\n\n\nWhen activated, a passive filter reads a single message from its input pipe, processes it, then writes the result to its output pipe:\n\n\tvoid activate()\n\t{\n\t   Message val = inPipe.read();\n\t   val = transform(val); // do something to val\n\t   outPipe.write(val);\n\t}\n\nThere are two types of passive filters. \n\n* A *data-driven filter* is activated when another filter writes a message into its input pipe. \n* A *demand-driven filter* is activated when another filter attempts to read a message from its empty output pipe.\n\n\n### Full scope\nAfter completing the framework, use the framework to implement:\n* *GarBage Band*: GarBage Band is a digital music studio that processes streams of musical notes. Each note has frequency, amplitude, and duration. (These can be floating point numbers.) GB provides the following configurable filters:\n\n  * Amplifiers: Increases or decreases the volume of each note\n  * Players: Play the notes through the computer's sound system.\n  * Noise Filters: Remove noise notes from the stream. A noise note can be a note that doesn't make sense: too loud, too quiet, too short, inaudible frequency, or a note that's suspiciously different from its predecessor (this might be static or a pop).\n  * Duration Filters: Remove notes that are too long or too short.\n  * Digital Composer: Generates a random sequence of \u003c= 100 notes.\n\n\nOutput for GarBage Band when run for producing Notes on a 'Piano':\n```\nStarting the GarBage Band application... start dancing.. PepePls!\nStarted Producer: DigitalComposer\nStarted Transformer: Amplifier\nStarted Tester: NoiseFilter\nStarted Tester: DurationFilter\nStarted Consumer: Player\nComposer: Produced note #0 having frequency=595.8281 amplitude=95.101395 duration=857.1747\nComposer: Produced note #1 having frequency=373.0859 amplitude=39.381535 duration=731.64154\nComposer: Produced note #2 having frequency=793.96136 amplitude=58.393055 duration=193.36432\nAmplification: Amplified from old amplitude=95.101395 to new amplitude=85.101395\nComposer: Produced note #3 having frequency=32.63432 amplitude=47.474403 duration=517.95953\nAmplification: Amplified from old amplitude=39.381535 to new amplitude=29.381535\nComposer: Produced note #4 having frequency=820.6652 amplitude=15.8644085 duration=277.59427\nAmplification: Amplified from old amplitude=58.393055 to new amplitude=48.393055\nComposer: Produced note #5 having frequency=62.850414 amplitude=25.141705 duration=969.9404\nAmplification: Amplified from old amplitude=47.474403 to new amplitude=37.474403\nComposer: Produced note #6 having frequency=474.4972 amplitude=34.064396 duration=744.38074\nAmplification: Amplified from old amplitude=15.8644085 to new amplitude=5.8644085\nComposer: Produced note #7 having frequency=227.11378 amplitude=35.309376 duration=821.4445\nAmplification: Amplified from old amplitude=25.141705 to new amplitude=15.141705\nComposer: Produced note #8 having frequency=68.41666 amplitude=33.650368 duration=70.92327\nAmplification: Amplified from old amplitude=34.064396 to new amplitude=24.064396\nComposer: Produced note #9 having frequency=810.5415 amplitude=33.093323 duration=799.0312\nAmplification: Amplified from old amplitude=35.309376 to new amplitude=25.309376\nComposer: Produced note #10 having frequency=921.6863 amplitude=6.000656 duration=295.87555\nAmplification: Amplified from old amplitude=33.650368 to new amplitude=23.650368\nComposer: Produced note #11 having frequency=674.6071 amplitude=90.57586 duration=427.0139\nAmplification: Amplified from old amplitude=33.093323 to new amplitude=23.093323\nComposer: Produced note #12 having frequency=978.7508 amplitude=69.65505 duration=184.87334\nComposer: Produced note #13 having frequency=714.1097 amplitude=24.495167 duration=637.5646\nComposer: Produced note #14 having frequency=222.99557 amplitude=11.84572 duration=992.35394\nComposer: Produced note #15 having frequency=763.19824 amplitude=14.191336 duration=220.58415\nComposer: Produced note #16 having frequency=746.6022 amplitude=9.440494 duration=312.40976\nAmplification: Amplified from old amplitude=6.000656 to new amplitude=-3.9993439\nAmplification: Amplified from old amplitude=90.57586 to new amplitude=80.57586\nAmplification: Amplified from old amplitude=69.65505 to new amplitude=59.655052\nAmplification: Amplified from old amplitude=24.495167 to new amplitude=14.495167\nAmplification: Amplified from old amplitude=11.84572 to new amplitude=1.8457203\nAmplification: Amplified from old amplitude=14.191336 to new amplitude=4.1913357\nAmplification: Amplified from old amplitude=9.440494 to new amplitude=-0.5595064\nComposer: Produced note #17 having frequency=579.95166 amplitude=84.68433 duration=218.02205\nComposer: Produced note #18 having frequency=604.704 amplitude=18.907791 duration=393.42166\nAmplification: Amplified from old amplitude=84.68433 to new amplitude=74.68433\nComposer: Produced note #19 having frequency=383.9271 amplitude=4.8173666 duration=788.57135\nAmplification: Amplified from old amplitude=18.907791 to new amplitude=8.907791\nComposer: Produced note #20 having frequency=247.07866 amplitude=26.092327 duration=82.979324\nAmplification: Amplified from old amplitude=4.8173666 to new amplitude=-5.1826334\nComposer: Produced note #21 having frequency=945.6244 amplitude=77.68248 duration=314.40765\nAmplification: Amplified from old amplitude=26.092327 to new amplitude=16.092327\nComposer: Produced note #22 having frequency=851.50165 amplitude=5.241829 duration=772.75903\nAmplification: Amplified from old amplitude=77.68248 to new amplitude=67.68248\nComposer: Produced note #23 having frequency=963.29034 amplitude=10.153508 duration=213.94122\nAmplification: Amplified from old amplitude=5.241829 to new amplitude=-4.758171\nComposer: Produced note #24 having frequency=269.2077 amplitude=11.213123 duration=159.9325\nComposer: Produced note #25 having frequency=691.21155 amplitude=15.005648 duration=184.1945\nComposer: Produced note #26 having frequency=638.0857 amplitude=90.18123 duration=487.23166\nComposer: Produced note #27 having frequency=416.32056 amplitude=75.39333 duration=850.9158\nComposer: Produced note #28 having frequency=38.836777 amplitude=93.72508 duration=725.43646\nComposer: Produced note #29 having frequency=365.55237 amplitude=52.107655 duration=497.75327\nComposer: Produced note #30 having frequency=496.19287 amplitude=9.04603 duration=56.089283\nAmplification: Amplified from old amplitude=10.153508 to new amplitude=0.15350819\nComposer: Produced note #31 having frequency=692.3428 amplitude=29.247368 duration=686.115\nAmplification: Amplified from old amplitude=11.213123 to new amplitude=1.2131233\nAmplification: Amplified from old amplitude=15.005648 to new amplitude=5.0056477\nAmplification: Amplified from old amplitude=90.18123 to new amplitude=80.18123\nComposer: Produced note #32 having frequency=829.4982 amplitude=30.568987 duration=590.43585\nAmplification: Amplified from old amplitude=75.39333 to new amplitude=65.39333\nComposer: Produced note #33 having frequency=656.6849 amplitude=47.770084 duration=2.1500587\nComposer: Produced note #34 having frequency=429.51584 amplitude=37.815636 duration=824.35803\nAmplification: Amplified from old amplitude=93.72508 to new amplitude=83.72508\nComposer: Produced note #35 having frequency=400.2049 amplitude=63.307346 duration=408.40912\nAmplification: Amplified from old amplitude=52.107655 to new amplitude=42.107655\nComposer: Produced note #36 having frequency=801.8046 amplitude=51.516884 duration=836.0898\nAmplification: Amplified from old amplitude=9.04603 to new amplitude=-0.95396996\nComposer: Produced note #37 having frequency=776.3235 amplitude=67.57012 duration=681.48035\nAmplification: Amplified from old amplitude=29.247368 to new amplitude=19.247368\nAmplification: Amplified from old amplitude=30.568987 to new amplitude=20.568987\nComposer: Produced note #38 having frequency=622.6718 amplitude=82.813354 duration=140.88803\nAmplification: Amplified from old amplitude=47.770084 to new amplitude=37.770084\nComposer: Produced note #39 having frequency=663.53094 amplitude=94.65215 duration=559.6151\nAmplification: Amplified from old amplitude=37.815636 to new amplitude=27.815636\nAmplification: Amplified from old amplitude=63.307346 to new amplitude=53.307346\nAmplification: Amplified from old amplitude=51.516884 to new amplitude=41.516884\nAmplification: Amplified from old amplitude=67.57012 to new amplitude=57.57012\nAmplification: Amplified from old amplitude=82.813354 to new amplitude=72.813354\nAmplification: Amplified from old amplitude=94.65215 to new amplitude=84.65215\nComposer: Produced note #40 having frequency=612.6513 amplitude=22.495985 duration=859.16675\nComposer: Produced note #41 having frequency=707.3706 amplitude=96.40983 duration=753.9628\nComposer: Produced note #42 having frequency=961.61957 amplitude=82.48189 duration=873.3244\nNoiseFilter: Accepted Note: frequency=595.8281 amplitude=85.101395 duration=857.1747\nAmplification: Amplified from old amplitude=22.495985 to new amplitude=12.495985\nAmplification: Amplified from old amplitude=96.40983 to new amplitude=86.40983\nAmplification: Amplified from old amplitude=82.48189 to new amplitude=72.48189\nComposer: Produced note #43 having frequency=857.7434 amplitude=74.34756 duration=640.03455\nDurationFilter: Accepted Note: frequency=595.8281 amplitude=85.101395 duration=857.1747\nNoiseFilter: Too quiet or too loud: volume=29.381535\nAmplification: Amplified from old amplitude=74.34756 to new amplitude=64.34756\nPlaying: frequency=595.8281 amplitude=85.101395 duration=857.1747\nComposer: Produced note #44 having frequency=15.772999 amplitude=1.5193164 duration=570.0631\nComposer: Produced note #45 having frequency=357.31317 amplitude=45.14454 duration=775.8356\nAmplification: Amplified from old amplitude=1.5193164 to new amplitude=-8.480683\nNoiseFilter: Accepted Note: frequency=793.96136 amplitude=48.393055 duration=193.36432\nAmplification: Amplified from old amplitude=45.14454 to new amplitude=35.14454\nDurationFilter: Too short of a duration: duration=193.36432\nComposer: Produced note #46 having frequency=807.28253 amplitude=4.5821247 duration=939.16724\nComposer: Produced note #47 having frequency=117.955925 amplitude=10.678089 duration=610.817\nComposer: Produced note #48 having frequency=861.7317 amplitude=41.49949 duration=876.11206\nComposer: Produced note #49 having frequency=832.9908 amplitude=1.2113631 duration=55.149555\nComposer: Produced note #50 having frequency=17.716228 amplitude=20.559479 duration=914.0913\nNoiseFilter: Accepted Note: frequency=32.63432 amplitude=37.474403 duration=517.95953\nNoiseFilter: Too quiet or too loud: volume=5.8644085\nNoiseFilter: Too quiet or too loud: volume=15.141705\nNoiseFilter: Too quiet or too loud: volume=24.064396\nNoiseFilter: Too quiet or too loud: volume=25.309376\nDurationFilter: Accepted Note: frequency=32.63432 amplitude=37.474403 duration=517.95953\nComposer: Produced note #51 having frequency=135.01399 amplitude=29.588116 duration=806.37286\nNoiseFilter: Too quiet or too loud: volume=23.650368\nAmplification: Amplified from old amplitude=4.5821247 to new amplitude=-5.4178753\nNoiseFilter: Too quiet or too loud: volume=23.093323\nComposer: Produced note #52 having frequency=694.4408 amplitude=93.43983 duration=381.09302\nNoiseFilter: Too quiet or too loud: volume=-3.9993439\nAmplification: Amplified from old amplitude=10.678089 to new amplitude=0.67808914\nAmplification: Amplified from old amplitude=41.49949 to new amplitude=31.499489\nNoiseFilter: Accepted Note: frequency=674.6071 amplitude=80.57586 duration=427.0139\nComposer: Produced note #53 having frequency=182.04076 amplitude=36.060314 duration=67.220924\nComposer: Produced note #54 having frequency=564.589 amplitude=90.04347 duration=470.52722\nDurationFilter: Too short of a duration: duration=427.0139\nComposer: Produced note #55 having frequency=382.18033 amplitude=29.488218 duration=961.5636\nAmplification: Amplified from old amplitude=1.2113631 to new amplitude=-8.788637\nComposer: Produced note #56 having frequency=510.96414 amplitude=24.799341 duration=566.52527\nNoiseFilter: Accepted Note: frequency=978.7508 amplitude=59.655052 duration=184.87334\nComposer: Produced note #57 having frequency=524.44165 amplitude=83.41902 duration=474.5574\nDurationFilter: Too short of a duration: duration=184.87334\nComposer: Produced note #58 having frequency=862.7976 amplitude=14.458531 duration=295.58862\nNoiseFilter: Too quiet or too loud: volume=14.495167\nComposer: Produced note #59 having frequency=352.49292 amplitude=88.42255 duration=350.34866\nAmplification: Amplified from old amplitude=20.559479 to new amplitude=10.559479\nComposer: Produced note #60 having frequency=416.80872 amplitude=31.110304 duration=608.2004\nNoiseFilter: Too quiet or too loud: volume=1.8457203\nComposer: Produced note #61 having frequency=917.18866 amplitude=82.24203 duration=428.1286\nAmplification: Amplified from old amplitude=29.588116 to new amplitude=19.588116\nComposer: Produced note #62 having frequency=144.86372 amplitude=97.415016 duration=733.7719\nNoiseFilter: Too quiet or too loud: volume=4.1913357\nComposer: Produced note #63 having frequency=149.19572 amplitude=5.336249 duration=811.9452\nAmplification: Amplified from old amplitude=93.43983 to new amplitude=83.43983\nComposer: Produced note #64 having frequency=145.37967 amplitude=80.49048 duration=123.27302\nNoiseFilter: Too quiet or too loud: volume=-0.5595064\nComposer: Produced note #65 having frequency=249.05336 amplitude=65.39488 duration=311.79727\nComposer: Produced note #66 having frequency=385.14398 amplitude=58.529083 duration=600.53235\nComposer: Produced note #67 having frequency=488.91873 amplitude=7.1538267 duration=25.504648\nAmplification: Amplified from old amplitude=36.060314 to new amplitude=26.060314\nComposer: Produced note #68 having frequency=374.53842 amplitude=43.353237 duration=978.645\nAmplification: Amplified from old amplitude=90.04347 to new amplitude=80.04347\nComposer: Produced note #69 having frequency=111.94623 amplitude=42.212086 duration=109.00092\nNoiseFilter: Accepted Note: frequency=579.95166 amplitude=74.68433 duration=218.02205\nComposer: Produced note #70 having frequency=757.3892 amplitude=39.615654 duration=465.30695\nDurationFilter: Too short of a duration: duration=218.02205\nComposer: Produced note #71 having frequency=146.33244 amplitude=13.417679 duration=786.0307\nAmplification: Amplified from old amplitude=29.488218 to new amplitude=19.488218\nComposer: Produced note #72 having frequency=681.25256 amplitude=38.53867 duration=181.58221\nNoiseFilter: Too quiet or too loud: volume=8.907791\nComposer: Produced note #73 having frequency=736.1111 amplitude=90.15044 duration=740.99506\nAmplification: Amplified from old amplitude=24.799341 to new amplitude=14.799341\nComposer: Produced note #74 having frequency=553.3618 amplitude=74.33552 duration=998.6464\nAmplification: Amplified from old amplitude=83.41902 to new amplitude=73.41902\nAmplification: Amplified from old amplitude=14.458531 to new amplitude=4.4585314\nNoiseFilter: Too quiet or too loud: volume=-5.1826334\nAmplification: Amplified from old amplitude=88.42255 to new amplitude=78.42255\nComposer: Produced note #75 having frequency=126.5778 amplitude=1.9572735 duration=314.97217\nAmplification: Amplified from old amplitude=31.110304 to new amplitude=21.110304\nComposer: Produced note #76 having frequency=294.49838 amplitude=87.14086 duration=999.3114\nNoiseFilter: Too quiet or too loud: volume=16.092327\nComposer: Produced note #77 having frequency=940.2697 amplitude=23.820406 duration=47.28955\nComposer: Produced note #78 having frequency=833.6363 amplitude=22.884106 duration=111.187454\nComposer: Produced note #79 having frequency=137.11977 amplitude=78.820786 duration=217.76099\nAmplification: Amplified from old amplitude=82.24203 to new amplitude=72.24203\nComposer: Produced note #80 having frequency=879.0093 amplitude=73.4422 duration=515.4621\nAmplification: Amplified from old amplitude=97.415016 to new amplitude=87.415016\nComposer: Produced note #81 having frequency=907.1581 amplitude=75.934555 duration=997.3344\nNoiseFilter: Accepted Note: frequency=945.6244 amplitude=67.68248 duration=314.40765\nComposer: Produced note #82 having frequency=8.077204 amplitude=60.293465 duration=963.18835\nDurationFilter: Too short of a duration: duration=314.40765\nComposer: Produced note #83 having frequency=139.91153 amplitude=88.35932 duration=769.46246\nAmplification: Amplified from old amplitude=5.336249 to new amplitude=-4.663751\nComposer: Produced note #84 having frequency=396.37137 amplitude=10.89167 duration=572.87836\nNoiseFilter: Too quiet or too loud: volume=-4.758171\nComposer: Produced note #85 having frequency=75.84208 amplitude=77.09598 duration=921.1777\nAmplification: Amplified from old amplitude=80.49048 to new amplitude=70.49048\nComposer: Produced note #86 having frequency=750.1031 amplitude=72.4182 duration=123.91752\nAmplification: Amplified from old amplitude=65.39488 to new amplitude=55.394882\nComposer: Produced note #87 having frequency=511.31076 amplitude=34.139668 duration=290.81732\nNoiseFilter: Too quiet or too loud: volume=0.15350819\nComposer: Produced note #88 having frequency=329.0962 amplitude=45.938564 duration=834.5763\nAmplification: Amplified from old amplitude=58.529083 to new amplitude=48.529083\nComposer: Produced note #89 having frequency=799.05164 amplitude=93.39574 duration=345.7766\nAmplification: Amplified from old amplitude=7.1538267 to new amplitude=-2.8461733\nComposer: Produced note #90 having frequency=57.22016 amplitude=35.39582 duration=935.8622\nAmplification: Amplified from old amplitude=43.353237 to new amplitude=33.353237\nNoiseFilter: Too quiet or too loud: volume=1.2131233\nNoiseFilter: Too quiet or too loud: volume=5.0056477\nAmplification: Amplified from old amplitude=42.212086 to new amplitude=32.212086\nAmplification: Amplified from old amplitude=39.615654 to new amplitude=29.615654\nAmplification: Amplified from old amplitude=13.417679 to new amplitude=3.4176788\nNoiseFilter: Accepted Note: frequency=638.0857 amplitude=80.18123 duration=487.23166\nAmplification: Amplified from old amplitude=38.53867 to new amplitude=28.53867\nDurationFilter: Too short of a duration: duration=487.23166\nAmplification: Amplified from old amplitude=90.15044 to new amplitude=80.15044\nAmplification: Amplified from old amplitude=74.33552 to new amplitude=64.33552\nAmplification: Amplified from old amplitude=1.9572735 to new amplitude=-8.0427265\nNoiseFilter: Accepted Note: frequency=416.32056 amplitude=65.39333 duration=850.9158\nAmplification: Amplified from old amplitude=87.14086 to new amplitude=77.14086\nAmplification: Amplified from old amplitude=23.820406 to new amplitude=13.820406\nAmplification: Amplified from old amplitude=22.884106 to new amplitude=12.884106\nAmplification: Amplified from old amplitude=78.820786 to new amplitude=68.820786\nAmplification: Amplified from old amplitude=73.4422 to new amplitude=63.4422\nAmplification: Amplified from old amplitude=75.934555 to new amplitude=65.934555\nDurationFilter: Accepted Note: frequency=416.32056 amplitude=65.39333 duration=850.9158\nComposer: Produced note #91 having frequency=470.93875 amplitude=85.25648 duration=670.1153\nAmplification: Amplified from old amplitude=60.293465 to new amplitude=50.293465\nNoiseFilter: Accepted Note: frequency=38.836777 amplitude=83.72508 duration=725.43646\nComposer: Produced note #92 having frequency=238.4767 amplitude=90.080246 duration=152.17972\nNoiseFilter: Accepted Note: frequency=365.55237 amplitude=42.107655 duration=497.75327\nNoiseFilter: Too quiet or too loud: volume=-0.95396996\nNoiseFilter: Too quiet or too loud: volume=19.247368\nDurationFilter: Accepted Note: frequency=38.836777 amplitude=83.72508 duration=725.43646\nNoiseFilter: Too quiet or too loud: volume=20.568987\nDurationFilter: Too short of a duration: duration=497.75327\nNoiseFilter: Accepted Note: frequency=656.6849 amplitude=37.770084 duration=2.1500587\nNoiseFilter: Too quiet or too loud: volume=27.815636\nDurationFilter: Too short of a duration: duration=2.1500587\nNoiseFilter: Accepted Note: frequency=400.2049 amplitude=53.307346 duration=408.40912\nDurationFilter: Too short of a duration: duration=408.40912\nNoiseFilter: Accepted Note: frequency=801.8046 amplitude=41.516884 duration=836.0898\nNoiseFilter: Accepted Note: frequency=776.3235 amplitude=57.57012 duration=681.48035\nDurationFilter: Accepted Note: frequency=801.8046 amplitude=41.516884 duration=836.0898\nNoiseFilter: Accepted Note: frequency=622.6718 amplitude=72.813354 duration=140.88803\nDurationFilter: Accepted Note: frequency=776.3235 amplitude=57.57012 duration=681.48035\nDurationFilter: Too short of a duration: duration=140.88803\nNoiseFilter: Accepted Note: frequency=663.53094 amplitude=84.65215 duration=559.6151\nNoiseFilter: Too quiet or too loud: volume=12.495985\nAmplification: Amplified from old amplitude=88.35932 to new amplitude=78.35932\nNoiseFilter: Accepted Note: frequency=707.3706 amplitude=86.40983 duration=753.9628\nDurationFilter: Accepted Note: frequency=663.53094 amplitude=84.65215 duration=559.6151\nNoiseFilter: Accepted Note: frequency=961.61957 amplitude=72.48189 duration=873.3244\nDurationFilter: Accepted Note: frequency=707.3706 amplitude=86.40983 duration=753.9628\nNoiseFilter: Accepted Note: frequency=857.7434 amplitude=64.34756 duration=640.03455\nNoiseFilter: Frequency is inaudible: frequency=15.772999\nDurationFilter: Accepted Note: frequency=961.61957 amplitude=72.48189 duration=873.3244\nNoiseFilter: Accepted Note: frequency=357.31317 amplitude=35.14454 duration=775.8356\nNoiseFilter: Too quiet or too loud: volume=-5.4178753\nDurationFilter: Accepted Note: frequency=857.7434 amplitude=64.34756 duration=640.03455\nAmplification: Amplified from old amplitude=10.89167 to new amplitude=0.8916702\nAmplification: Amplified from old amplitude=77.09598 to new amplitude=67.09598\nDurationFilter: Accepted Note: frequency=357.31317 amplitude=35.14454 duration=775.8356\nAmplification: Amplified from old amplitude=72.4182 to new amplitude=62.418198\nNoiseFilter: Too quiet or too loud: volume=0.67808914\nAmplification: Amplified from old amplitude=34.139668 to new amplitude=24.139668\nAmplification: Amplified from old amplitude=45.938564 to new amplitude=35.938564\nAmplification: Amplified from old amplitude=93.39574 to new amplitude=83.39574\nNoiseFilter: Accepted Note: frequency=861.7317 amplitude=31.499489 duration=876.11206\nAmplification: Amplified from old amplitude=35.39582 to new amplitude=25.39582\nNoiseFilter: Too quiet or too loud: volume=-8.788637\nAmplification: Amplified from old amplitude=85.25648 to new amplitude=75.25648\nAmplification: Amplified from old amplitude=90.080246 to new amplitude=80.080246\nNoiseFilter: Frequency is inaudible: frequency=17.716228\nNoiseFilter: Too quiet or too loud: volume=19.588116\nComposer: Produced note #93 having frequency=441.32065 amplitude=37.26582 duration=241.26619\nNoiseFilter: The note is suspicious: amplitude=83.43983 predecessor's amplitude=31.499489\nComposer: Produced note #94 having frequency=803.27924 amplitude=14.473433 duration=622.59424\nDurationFilter: Accepted Note: frequency=861.7317 amplitude=31.499489 duration=876.11206\nComposer: Produced note #95 having frequency=813.0137 amplitude=90.17327 duration=384.9646\nAmplification: Amplified from old amplitude=37.26582 to new amplitude=27.26582\nNoiseFilter: Too quiet or too loud: volume=26.060314\nAmplification: Amplified from old amplitude=14.473433 to new amplitude=4.4734325\nAmplification: Amplified from old amplitude=90.17327 to new amplitude=80.17327\nComposer: Produced note #96 having frequency=722.4014 amplitude=50.931213 duration=461.68292\nNoiseFilter: Accepted Note: frequency=564.589 amplitude=80.04347 duration=470.52722\nNoiseFilter: Too quiet or too loud: volume=19.488218\nDurationFilter: Too short of a duration: duration=470.52722\nComposer: Produced note #97 having frequency=228.26273 amplitude=10.183323 duration=287.37735\nNoiseFilter: Too quiet or too loud: volume=14.799341\nComposer: Produced note #98 having frequency=200.76924 amplitude=90.44582 duration=274.9101\nComposer: Produced note #99 having frequency=971.39685 amplitude=58.184845 duration=926.06366\nShutting down Producer: DigitalComposer\nNoiseFilter: Accepted Note: frequency=524.44165 amplitude=73.41902 duration=474.5574\nNoiseFilter: Too quiet or too loud: volume=4.4585314\nAmplification: Amplified from old amplitude=50.931213 to new amplitude=40.931213\nAmplification: Amplified from old amplitude=10.183323 to new amplitude=0.1833229\nAmplification: Amplified from old amplitude=90.44582 to new amplitude=80.44582\nDurationFilter: Too short of a duration: duration=474.5574\nAmplification: Amplified from old amplitude=58.184845 to new amplitude=48.184845\nShutting down Transformer: Amplifier\nNoiseFilter: Accepted Note: frequency=352.49292 amplitude=78.42255 duration=350.34866\nNoiseFilter: Too quiet or too loud: volume=21.110304\nNoiseFilter: Accepted Note: frequency=917.18866 amplitude=72.24203 duration=428.1286\nNoiseFilter: Accepted Note: frequency=144.86372 amplitude=87.415016 duration=733.7719\nNoiseFilter: Too quiet or too loud: volume=-4.663751\nNoiseFilter: Accepted Note: frequency=145.37967 amplitude=70.49048 duration=123.27302\nNoiseFilter: Accepted Note: frequency=249.05336 amplitude=55.394882 duration=311.79727\nDurationFilter: Too short of a duration: duration=350.34866\nNoiseFilter: Accepted Note: frequency=385.14398 amplitude=48.529083 duration=600.53235\nDurationFilter: Too short of a duration: duration=428.1286\nNoiseFilter: Too quiet or too loud: volume=-2.8461733\nDurationFilter: Accepted Note: frequency=144.86372 amplitude=87.415016 duration=733.7719\nDurationFilter: Too short of a duration: duration=123.27302\nNoiseFilter: Accepted Note: frequency=374.53842 amplitude=33.353237 duration=978.645\nNoiseFilter: Accepted Note: frequency=111.94623 amplitude=32.212086 duration=109.00092\nNoiseFilter: Too quiet or too loud: volume=29.615654\nNoiseFilter: Too quiet or too loud: volume=3.4176788\nNoiseFilter: Too quiet or too loud: volume=28.53867\nNoiseFilter: Accepted Note: frequency=736.1111 amplitude=80.15044 duration=740.99506\nNoiseFilter: Accepted Note: frequency=553.3618 amplitude=64.33552 duration=998.6464\nNoiseFilter: Too quiet or too loud: volume=-8.0427265\nNoiseFilter: Accepted Note: frequency=294.49838 amplitude=77.14086 duration=999.3114\nNoiseFilter: Too quiet or too loud: volume=13.820406\nNoiseFilter: Too quiet or too loud: volume=12.884106\nNoiseFilter: Accepted Note: frequency=137.11977 amplitude=68.820786 duration=217.76099\nDurationFilter: Too short of a duration: duration=311.79727\nDurationFilter: Accepted Note: frequency=385.14398 amplitude=48.529083 duration=600.53235\nDurationFilter: Accepted Note: frequency=374.53842 amplitude=33.353237 duration=978.645\nDurationFilter: Too short of a duration: duration=109.00092\nDurationFilter: Accepted Note: frequency=736.1111 amplitude=80.15044 duration=740.99506\nDurationFilter: Accepted Note: frequency=553.3618 amplitude=64.33552 duration=998.6464\nDurationFilter: Accepted Note: frequency=294.49838 amplitude=77.14086 duration=999.3114\nDurationFilter: Too short of a duration: duration=217.76099\nNoiseFilter: Accepted Note: frequency=879.0093 amplitude=63.4422 duration=515.4621\nNoiseFilter: Accepted Note: frequency=907.1581 amplitude=65.934555 duration=997.3344\nNoiseFilter: Frequency is inaudible: frequency=8.077204\nDurationFilter: Accepted Note: frequency=879.0093 amplitude=63.4422 duration=515.4621\nNoiseFilter: Accepted Note: frequency=139.91153 amplitude=78.35932 duration=769.46246\nNoiseFilter: Too quiet or too loud: volume=0.8916702\nDurationFilter: Accepted Note: frequency=907.1581 amplitude=65.934555 duration=997.3344\nNoiseFilter: Accepted Note: frequency=75.84208 amplitude=67.09598 duration=921.1777\nDurationFilter: Accepted Note: frequency=139.91153 amplitude=78.35932 duration=769.46246\nNoiseFilter: Accepted Note: frequency=750.1031 amplitude=62.418198 duration=123.91752\nNoiseFilter: Too quiet or too loud: volume=24.139668\nDurationFilter: Accepted Note: frequency=75.84208 amplitude=67.09598 duration=921.1777\nDurationFilter: Too short of a duration: duration=123.91752\nNoiseFilter: Accepted Note: frequency=329.0962 amplitude=35.938564 duration=834.5763\nNoiseFilter: Accepted Note: frequency=799.05164 amplitude=83.39574 duration=345.7766\nDurationFilter: Accepted Note: frequency=329.0962 amplitude=35.938564 duration=834.5763\nDurationFilter: Too short of a duration: duration=345.7766\nNoiseFilter: Too quiet or too loud: volume=25.39582\nNoiseFilter: Accepted Note: frequency=470.93875 amplitude=75.25648 duration=670.1153\nNoiseFilter: Accepted Note: frequency=238.4767 amplitude=80.080246 duration=152.17972\nDurationFilter: Accepted Note: frequency=470.93875 amplitude=75.25648 duration=670.1153\nDurationFilter: Too short of a duration: duration=152.17972\nNoiseFilter: Too quiet or too loud: volume=27.26582\nNoiseFilter: Too quiet or too loud: volume=4.4734325\nNoiseFilter: Accepted Note: frequency=813.0137 amplitude=80.17327 duration=384.9646\nDurationFilter: Too short of a duration: duration=384.9646\nNoiseFilter: Accepted Note: frequency=722.4014 amplitude=40.931213 duration=461.68292\nNoiseFilter: Too quiet or too loud: volume=0.1833229\nDurationFilter: Too short of a duration: duration=461.68292\nNoiseFilter: Accepted Note: frequency=200.76924 amplitude=80.44582 duration=274.9101\nShutting down Tester: NoiseFilter\nDurationFilter: Too short of a duration: duration=274.9101\nShutting down Tester: DurationFilter\nPlaying: frequency=32.63432 amplitude=37.474403 duration=517.95953\nPlaying: frequency=416.32056 amplitude=65.39333 duration=850.9158\nPlaying: frequency=38.836777 amplitude=83.72508 duration=725.43646\nPlaying: frequency=801.8046 amplitude=41.516884 duration=836.0898\nPlaying: frequency=776.3235 amplitude=57.57012 duration=681.48035\nPlaying: frequency=663.53094 amplitude=84.65215 duration=559.6151\nPlaying: frequency=707.3706 amplitude=86.40983 duration=753.9628\nPlaying: frequency=961.61957 amplitude=72.48189 duration=873.3244\nPlaying: frequency=857.7434 amplitude=64.34756 duration=640.03455\nPlaying: frequency=357.31317 amplitude=35.14454 duration=775.8356\nPlaying: frequency=861.7317 amplitude=31.499489 duration=876.11206\nPlaying: frequency=144.86372 amplitude=87.415016 duration=733.7719\nPlaying: frequency=385.14398 amplitude=48.529083 duration=600.53235\nPlaying: frequency=374.53842 amplitude=33.353237 duration=978.645\nPlaying: frequency=736.1111 amplitude=80.15044 duration=740.99506\nPlaying: frequency=553.3618 amplitude=64.33552 duration=998.6464\nPlaying: frequency=294.49838 amplitude=77.14086 duration=999.3114\nPlaying: frequency=879.0093 amplitude=63.4422 duration=515.4621\nPlaying: frequency=907.1581 amplitude=65.934555 duration=997.3344\nPlaying: frequency=139.91153 amplitude=78.35932 duration=769.46246\nPlaying: frequency=75.84208 amplitude=67.09598 duration=921.1777\nPlaying: frequency=329.0962 amplitude=35.938564 duration=834.5763\nPlaying: frequency=470.93875 amplitude=75.25648 duration=670.1153\nPlaying: frequency=971.39685 amplitude=48.184845 duration=926.06366\nShutting down Consumer: Player\nStop dancing!! Music is over~~~\n```\n\n\n* [Airline Performance Analyzer](http://www.cs.sjsu.edu/faculty/pearce/modules/projects/streams/index.htm)\n\nThe US Department of Transportation keeps track of the nation's transportation systems through a massive collection of databases that can be accessed through their web site:\n[](http://www.transtats.bts.gov/)\nAnyone can query any of these databases and download the result as a CSV file. The example used with this framework uses a csv called ONTIME.csv.\nIt is located in the `resources` folder of this project.\nFor example, the file ONTIME.csv shows statistics on all commercial flights in California for the month of January 2015.\nThe file contains 94803 lines. Each line represents one flight.\n\nThe goal of this example is to use the Active Pipeline framework and find out the worst airline using the average totaldelays as per the ONTIME.csv.\nThe steps will comprise of reading in data from the CSV, converting the lines into arrays, filtering out cancelled and diverted flights then computing the total delays after collecting the information.\nUsing the collected data, compute which airline performed bad.\n\nOutput for this example:\n```\n::Total Delays for flights::\nAA -\u003e 222045\nOO -\u003e 592716\nVX -\u003e 78069\nMQ -\u003e 3177\nDL -\u003e 98437\nUA -\u003e 368290\nAS -\u003e 89681\nF9 -\u003e 19553\nB6 -\u003e 57462\nWN -\u003e 549184\nHA -\u003e 13997\nNK -\u003e 29837\nUS -\u003e 61055\n::Average Delays for flights::\nAA -\u003e 23.83\nOO -\u003e 30.25\nVX -\u003e 18.93\nMQ -\u003e 55.74\nDL -\u003e 14.49\nUA -\u003e 27.85\nAS -\u003e 16.54\nF9 -\u003e 24.78\nB6 -\u003e 19.84\nWN -\u003e 21.46\nHA -\u003e 18.71\nNK -\u003e 28.52\nUS -\u003e 16.97\nWorst carrier is: MQ with average delay of: 55.74\n```\n\nThe examples are located inside the `app` Source folder inside the package `org.sjsu.sidmishraw.examples`.\n\n### Running the examples using Eclipse:\nThis project requires 2 `Source Folder`s named `src` and `app`.\n\nThe `src` folder contains the source code for the main pipeline as well as the core implementations of the GarBage Band and Airline Performance examples.\nThey are located under the following packages inside `src`:\n* Pipeline Architecture Framework: **org.sjsu.sidmishraw.framework.pipeline**\n* Garbage Band core implementation: **org.sjsu.sidmishraw.examples.garbageband**\n* Airline Performance core implementation: **org.sjsu.sidmishraw.examples.airlineperfanalyzer**\n\nThe `app` folder contains the source code for the GarBage Band and Airline Performance examples main driver implementations.\nThey are located under the following packages inside `app`:\n* Garbage Band main driver implementation: **org.sjsu.sidmishraw.examples**\n* Airline Performance main driver implementation: **org.sjsu.sidmishraw.examples**\n\nAfter compilation, the `.class` files of all the examples occur under the **org.sjsu.sidmishraw.examples** package and `.class` files of the framework occurs under **org.sjsu.sidmishraw.framework** package.\n\nSo after importing the project into eclipse and making it into a Java project, you need to make the `src` and `app` Source Folders and compile using JDK 8.\n\nTo run the examples, run the following `.java` files inside `app` Source Folder:\n* Garbage Band: **org.sjsu.sidmishraw.examples.GarbageBand**\n* Airline Performance: **org.sjsu.sidmishraw.examples.AirlinePerformanceAnalyzer**\n\n#### MIN JDK - v1.8 (This project uses lambdas and streams.)\n#### MIN Eclipse - v4.5.2 (Mars\u003cstable\u003e)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsidmishraw%2Factive_pipeline_framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsidmishraw%2Factive_pipeline_framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsidmishraw%2Factive_pipeline_framework/lists"}