সুন্দরতম বাইটবিট রচনা লিখুন


24

Bytebeat সঙ্গীত এক একটি স্টাইল একটি সহজ C প্রোগ্রাম এর আউটপুট পাইপ হয় লিখে রচনা করতে পারে aplayবা /dev/dsp

main(t){for(;;t++)putchar(((t<<1)^((t<<1)+(t>>7)&t>>12))|t>>(4-(1^7&(t>>19)))|t>>7);}

সেখানে তথ্য একটি ভাল চুক্তি bytebeat সাইটে , একটি জাভাস্ক্রিপ্ট বাস্তবায়ন , এবং আরও গণদেবতা এবং উদাহরণস্বরূপ কম্পোজিশনের কাজে এই থ্রেড

খুব সহজ নিয়ম: একটি সুন্দর শব্দ সুরকার রচনা লিখতে চেষ্টা করুন। বেশিরভাগ ভোটে জয়লাভ হয় যেহেতু এটি স্পষ্টতই বিষয়বহুল, যদিও সাধারণ ফলাফল বিবেচনা করে সেই বিষয়গত নয়।



আপনি কি এটিকে কঠোর বাইটবিট ধরে রেখেছেন (অর্থাত্ কোনও বাফার নেই)?
পিটার টেলর

4
কেন এটি সীমাবদ্ধ?
ব্যবহারকারী অজানা

বাফার বা অন্যান্য ভাষার ব্যবহারকে সীমাবদ্ধ করার কোনও আফ্রিকান অন্তর্নিহিত কারণ নেই, তবে সাধারণত বাইটবিট বলতে কোনও সূত্র দ্বারা সংজ্ঞায়িত আউটপুট সহ সেই নির্দিষ্ট সি লুপটিকে বোঝায়। আমি জোই অ্যাডামসের উত্তর দিয়েছি এমনকি এমনটি ভাবাও যে rand()এটি মানক নয়।
জেফ বার্ডেজ 15'15

আমি এই ধারণাটি পছন্দ করার সময়, এফএকিউ একটি উদ্দেশ্যমূলক বিজয়ী মানদণ্ডের জন্য আহ্বান জানায় (গণনা বা ASCII শিল্পে আটকা পড়া খুব সহজ)। আমরা কি "সুন্দর" এর চেয়ে আরও ভাল কিছু সংজ্ঞায়িত করতে পারি?
ডিএমকেকে

উত্তর:


16

(স্বাক্ষরিত 16-বিট লিটল এন্ডিয়ান, 8000Hz মনো ( --format=S16_LE))

সঙ্গীত

আগের চেয়ে অনেক ভালো! (যদিও এটি বেশ দীর্ঘ)

main(t){for(;;t++)putchar(((7&(((t>>17)+1)>>2)+((t>>10)&1+2*(t>>18&1))*(("23468643"[7&t>>12]-48)+(3&t>>11))+((3&t>>17)>0)*(3&t>>9)*!(1&t>>10)*(((2+t>>10&3)^(2+t>>11&3))))*t*"@06+"[3&t>>15]/32));}

(আপনি এটি এখানে শুনতে পারেন )

আমি এটি লিখেছি, তবে এমনকি আমি জানি না কিছু অংশ কীভাবে কাজ করে, >0প্রথমটির মতো এবং (বিশেষত) 7&

লুপের জন্য পরিবর্তন for(;!(t>>22);t++)করুন ... এটি একবার 'শুনতে'। তবে এটি ঠিক একইভাবে "লুপ" হয়েছে কিনা তা আমি জানি না।

মেলোডি (উপরের সংগীতের ভিত্তি)

আমি এই সুরটি তৈরি করেছি (সিজিএফএফএফডাব্লু), তবে এটি খুব 'সরল' ...

main(t){for(;;t++)putchar(((t>>10)&1)*(t*("23468643"[7&t>>12]-48)+t*(3&t>>11))*"@06+"[3&t>>15]/32);}

সাধারণ সংগীত (যা আমি আগে তৈরি করেছি)

main(t){for(;;t++)putchar(t*(3&t>>11)+(t&t>>11)*4*!((t>>11)%3));}


আপনি যদি উপরের বাইটবিট লিঙ্কটি ক্লিক করেন তবে আপনি এটি একটি .wav ফাইল এবং একটি বিজোড় সংকোচকারী কমান্ড লাইনে রূপান্তর করতে একটি sox কমান্ড লাইন দেখতে পাবেন।
জেফ বার্ডজেস

3
+1 অবাক! কয়েকটি বিট (উদাহরণস্বরূপ 1:30 - 1:40) ধরণের "স্টুটরিং", তবে আবার, বাইটবিটের খুব আকর্ষণীয় আকর্ষণগুলি এই অদ্ভুত এবং প্রচলিত ছন্দ এবং সুরগুলির মধ্যে রয়েছে এবং সামগ্রিক প্রভাবটি দুর্দান্ত। (গীত। আমি ঘটনাক্রমে নমুনা অনুসারে 8 টি বিট এ
খেললাম

3

শাসক ফাংশন সি মাইনর মধ্যে:

#include <math.h>
#include <stdio.h>

#define PI 3.14159265358979323846

#define step(freq, n) ((freq) * pow(2, (n) / 12.0))
#define note(n)       step(440, n)
#define MIDDLE_C      note(-9)

int count_zeros(unsigned int n)
{
    int count = 0;
    for (; (n & 1) == 0; n >>= 1)
        count++;
    return count;
}

int minor_note(int note)
{
    int octave = note / 7;
    int scale[] = {0, 2, 3, 5, 7, 8, 10};

    note %= 7;
    if (note < 0) {
        note += 7;
        octave--;
    }

    return scale[note] + octave*12;
}

int main(void) {
    double t = 0.0;
    double freq = MIDDLE_C * 2;
    double step = PI * 2 / 8192;
    int n = 0;
    int i = 0;

    for (i = 1;; t += step, i++) {
        if (i == 1024) {
            i = 0;
            n++;
            freq = step(MIDDLE_C, minor_note(count_zeros(n)));
        }

        putchar(sin(t * freq) * 50.0 + 128.0);
    }

    return 0;
}

চমৎকার সুর, তবে একটি "রচনা" হওয়ার জন্য এই
আইএমওটির

3
main(t){for(;;t+=(t%6)?1:2)putchar((((t<<t^(t>>8))|(t<<7))*((t<<t&(t>>12))|(t<<10))));}

খুব ক্লাসিক বাইটবিট, যদি তা কোনও অক্সিমোরন না হয়। আমার কাছ থেকে +1
ইলমারি করোনেন

3

"বাইট" ওভার "বাইট" জোর দেওয়া:

#include<math.h>

double s(double,double);double r(double,double);double d(double);double f(double);

char bytebeat(int t){return (d(f(t/4000.)/3) + 1) * 63;}
double f(double t){
  double sn=s(1./2,t-1); sn*=(sn*sn);
  return 3*s(1./4,1/s(1,t))+3*s(4,1/sn)/2+s(4,1/(sn*sn*sn*sn*sn))/4
       +2*s(55+18.3*r(1./2,t),t)+s(110+s(5,t)/4000,t)*s(1,t)+s(220+110*r(1,t)+55*r(3,t),t)/5
       +s(880+440*r(1./2,t)-220*r(1,t)+110*r(2,t)+s(5,t)/4000,t)
       *(2+s(1760+438*r(3./2,t)-1234*r(2,t)+423*r(5,t),t))/9
       +s(s(1,t)+s(1./2,t)+s(1./4,t)+s(1./8,t),t)*s(s(1,t)+s(1./2,t)+s(1./4,t)+s(1./8,t)+1,t)
       +r(264+11*r(1./20,t),t)*s(1./20,t);
}
double s(double f,double t){return d(sin(f*3.14159265*(t+999)));}
double r(double f,double t){return s(f,t)<0;}
double d(double a){return tanh(a+a*a/4);}

main(t){for(;;++t)putchar(bytebeat(t));}

8 kHz, uint8 মনোতে ব্যবহার করতে হবে। শালীনভাবে বাস-সক্ষম লাউডস্পিকারের থেকে সেরা শোনাচ্ছে।


2
main(){for(;;)putchar(rand());}

সাগরের মতো শব্দ ;-)


1
আমার কাছে সত্যই ব্যস্ত রেলপথের মতো। :)
ইলমারি করোনেন

5
প্রতিবাদ: যদি এটি অবিচ্ছিন্ন সুরের মতো মনে হয় তবে আপনার আরএনজি ভেঙে গেছে।
মিঃ লালমা

3
সহজ উপায়:$ cat /dev/urandom | aplay
ব্র্যাডেন সেরা

2
@ বি aplay /dev/urandom
মিনিম্যাক্সভিগ

0

সম্মিলিত সুর ও সম্প্রীতি:

r=3,
r=3,
m=(t*(t>>12|t>>13|t>>14|t>>15|t>>16|t>>17|t>>18))&63,

h= ((t&t>>7&t>>6)|t*5&t>>8-c^t*6&t>>9-c|t*7&t>>12-c^t*9&t>>11-c^t*11&t>>22^t*19&t>>20^t*14&t>>20|t*23&t>>15-c|t*12&t>>9|t*30&t>>30|t>>5|t>>4)-31, m|h
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.