ホーム
Top.Mail.Ru Yandeks.Metrika
フォーラム:「その他」;
現在のアーカイブ:2015.12.20;
ダウンロード:[xml.tar.bz2];

ダウン

Midi 2ビープコード 似ている枝を探す


Дмитрий С ©   (2015-02-05 18:30) [0]

誰かが、ビープ音とスリープからコード化するMidiファイル(そのトラックの1つ)のコンバーターを見たことがありますか?



Kilkennycat ©   (2015-02-05 20:13) [1]

ミディをwafにドライブします。wafはほとんどビープスリップです



brother ©   (2015-02-05 20:18) [2]

トラックにコードがない場合は、そうではありません。 私はMIDIから読むことを実装するのは難しいことではないと思う、そしてそれからすべてが簡単です...)



Kerk ©   (2015-02-05 20:33) [3]

ビープ音は長い間機能していません...



Дмитрий С ©   (2015-02-05 22:48) [4]


>ビープ音が長い間機能していません...

それはw8.1で動作し、クリックするだけです。 はい、そして私にとって最終的には必要です。


>お兄ちゃん

私はwikiで勉強しています:)



Kilkennycat ©   (2015-02-05 22:50) [5]


>ミクロン用

これらの目的のためにpwmがあります。 大部分のミクロン単位で。



Дмитрий С ©   (2015-02-05 23:05) [6]


>キルケニーキャット

使用します)Windowsでアルゴリズムをデバッグします。



Германн ©   (2015-02-06 01:57) [7]


>ドミトリーC©(05.02.15 23:05)[6]
>
>
>>キルケニーキャット
>
>使用します)Windowsでアルゴリズムをデバッグします。
>

結果を確認せずに(または聞き取りせずに)アルゴリズムをデバッグするにはどうすればよいですか?
宗教はミクロン自体のアルゴリズムのデバッグを禁止していますか?



Inovet ©   (2015-02-06 03:22) [8]

たぶん、音楽的に教育を受けた人に、このメロディのために音符の長さと時間を一時停止して呼び出すように頼むほうが正しいでしょうか? いわば、1つのケースです。 そしてその中で(一度だけ)-エディターを任意のMIDIにロードし、そこから切り離します。



KSergey ©   (2015-02-06 09:29) [9]

しかし、本当に-それはどのようなタスクですか? そして、MIDIファイルボードとは何ですか?
変換する必要があるのは1回限りの特定の中間セクションですか、それとも定期的にですか?



Dimka Maslov ©   (2015-02-06 11:18) [10]


>ケルク©(05.02.15 20:33)[3]
>
>ビープ音が長い間機能していません...


最初にそれが完全に削除され、それからサウンドがコンピューターの内部スピーカーではなくサウンドカードに送られるように作られたと読んだようです。 この場合、midiからビープスリップへの変換(正しい)は、実際には、複数のトラック、コードなどを使用せずにSqrWaveの「ツール」による再生につながります。 喜び。



Дмитрий С ©   (2015-02-06 12:10) [11]

私はスズメの大砲から来たという印象を受けました。 私は1つのメロディー(バッタが草の中に座っていた)が必要でした。そして、wikiと相まって私の音楽リテラシーはそれを手動で「変換」するのに十分でした。 リフレインの間隔で、彼はそれを間違えた、それは批判的ではないが、それは正常に聞こえます。

これが一例です。
procedure TForm1.Button1Click(送信者:TObject); const // a b c d e f g h i j k l m // do#re re#mi fa fa#so so#la la#si 4 do Freqs1:整数の配列[0..12] =(262、277、294、311、330、349、370、392、415、440、466、494、523); Song = "4jejejii.ieieijj.jejejii.ieieij..jll8lll4mm8mmm4mljijj.jll8lll4mm8mmm4mljij ..."; L = 220; var I、J、N:整数; M:整数; 始める Windows.Beep(1、2000); //サウンドカードを有効にします(削除可能) M:= 4; Jの場合:= 0から4へ for:1 to Length(Song)do 始める 歌[I] = "。"の場合 それから 始める Windows.Beep(20、(L)* 4 div M); 終わり 他に ["1" .. "9"]の曲[I]の場合 始める M:= Ord(曲[I])-Ord( "0"); 終わり 他に 始める N:= Ord(歌[I])-Ord( "a"); N <= 0の場合 続ける Windows.Beep(Freqs1 [N-1]、L * 4 div M); 終わり; 終わり; 終わり;



Дмитрий С ©   (2015-02-06 12:15) [12]

くそー、今私は自分自身にこの着信音の着信音が欲しい:)方法は? :))



SOFT_FOR_YOU ©   (2015-02-06 12:38) [13]

気に入った:)



MonoLife ©   (2015-02-06 12:41) [14]

かっこいい ずっと前に、Foxで2.0がワゴンで画面の周りを走っている間に286がメロディーを書いたのを覚えています。



Дмитрий С ©   (2015-02-06 13:33) [15]

ちなみに、行のエラー
Windows.Beep(Freqs1 [N-1]、L * 4 div M);
メロディー全体の半分音が低いことが判明したため:)



Dimka Maslov ©   (2015-02-06 14:50) [16]


>くそー、今私はこの着信音メロディーが欲しい:)どうやって? :
>))


ここから始めなければなりません。 最新の携帯電話は、MIDIファイルを静かに再生します。 そうでない場合は、midiエディターが必要です(だれでも、MidiSoft Studio 95をお勧めしますが、Windows 98仮想マシンでのみ動作します)。 メロディはそこで再生され、SoundForgeのようなもので録音され、mp3checkで録音され、幸福が訪れます。



Дмитрий С ©   (2015-02-06 15:00) [17]


>ここから始めなければなりません。

まあ、それはまだそれを開始する主なタスクではありません。 関連付けられています。



Inovet ©   (2015-02-06 18:15) [18]

とにかくFAEMIはもっと涼しい
http://www.youtube.com/watch?v=wudqDyxUnnI



Дмитрий С ©   (2015-02-06 18:57) [19]


>イノヴェート©(06.02.15 18:15)[18]

ナンセンス



Inovet ©   (2015-02-06 19:23) [20]

> [19]ドミトリーC©(06.02.15 18:57)
>ナンセンス

さて、私に言わないで、それを成し遂げるために別のシンセサイザーを見つけてください。



Kilkennycat ©   (2015-02-07 05:13) [21]

私はファエミを持っていました...クールなこと!



Дмитрий С ©   (2015-02-08 11:38) [22]

初日。 Pwmは音の抽出が苦手です:)



Kilkennycat ©   (2015-02-08 12:04) [23]

サルは目が弱くて年を取りました。
そして、彼女は聞いた人々で
この悪はまだそれほど大きな手ではないこと:
ポイントを獲得するだけの価値があります。
彼女は自分で6ダースのポイントを獲得しました。
このようにしてポイントを回します:
今、彼らは王冠にそれらを押してから、彼らは尾にそれらを下げるでしょう、
それらを嗅ぎ、なめます。
ポイントはまったく機能しません。
「うーん、深by!」と彼女は言います。
すべての人間の敵に耳を傾ける人:
ポイントについてのすべては私だけに嘘をついた。
しかし、彼らには良いことはありません。」
猿は欲求不満と悲しみでここにいます
ああ石は彼らをつかんだ
火花だけが輝いた。

残念ながら、それは人々に起こります:
どんなに便利であっても、価格を知らなくても、
彼女についての無知はすべてに良い。
しかし、無知がもっと知られているなら、
彼も彼女を運転します。

I.A. クリロフ。 1812年。



Kilkennycat ©   (2015-02-08 12:09) [24]

http://www.pic24.ru/doku.php/osa/ref/appendix/quartet



Inovet ©   (2015-02-08 14:45) [25]

> [22]ドミトリーC©(08.02.15 11:38)
> Pwmは音の抽出には適していません

ビープ音とスリープ経由? 一般に、はい。



Дмитрий С ©   (2015-02-08 20:44) [26]


>キルケニーキャット©(08.02.15 12:09)[24]

私はこれを夢見ていない。

私は原理を理解したと思います。 atmegaでも同じことをしようとします。



Kilkennycat ©   (2015-02-08 22:24) [27]

あなたはこれを見ます:http://www.pic24.ru/doku.php/osa/articles/vga_gameそこにビデオがあります。 音で;)



Inovet ©   (2015-02-08 23:10) [28]

> [27]キルケニーキャット©(08.02.15 22:24)
> http://www.pic24.ru/doku.php/osa/articles/vga_game

かっこいい。



Kilkennycat ©   (2015-02-09 00:13) [29]


>イノヴェート©(08.02.15 23:10)[28]

私は、Viktor Timofeevの開発、およびその方法、記述のスタイルが本当に好きです。 非常にプロフェッショナルでオリジナル。



кгшзх ©   (2015-02-09 10:47) [30]

http://www.youtube.com/watch?v=mBfovjFbNMU



brother ©   (2015-02-09 11:07) [31]

http://www.youtube.com/watch?feature=player_detailpage&v=ntYL_uKkblQ
クーラー



brother ©   (2015-02-09 11:13) [32]

そしてジャンルの古典
http://www.youtube.com/watch?v=B_Q6jMUdfYc



Дмитрий С ©   (2015-02-09 11:26) [33]


>キルケニーキャット©

このようなメロディはピエゾツイーターで再生できないことを正しく理解できますか?



Kilkennycat ©   (2015-02-09 13:37) [34]

間違っています。 発電機を内蔵したピエゾブザーが供給電圧を変更しても、何でも再生できます。



Дмитрий С ©   (2015-02-09 16:53) [35]


>キルケニーキャット©

そして、彼女はどうやって正弦波を出すことができますか?

Windows.Beep(440)は、ラップトップでかなり心地よい音を出します。 パイピッカーは下品で、安定していません(おそらくファームウェアのエラーが原因で、通常のArduinoトーンで確認しました)。



Kilkennycat ©   (2015-02-09 17:08) [36]


>ドミトリーC©(09.02.15 16:53)[35]

ピエゾは、十分に大きく、正弦波スタンプの間にある場合、正弦波を簡単に発行できます。

しかし、通常の用途では、変形時に特定の電気力を与えることができ、逆もまた同様です。特定の電気力が加えられると変形し、空気振動を生成します。 空気の振動はほとんど正弦波ではありません。
理論的には、おそらく、プレートが共振を引き起こすのに十分な長さであれば、プレスなしで正弦波を出すことが可能です。


>従来のArduinoトーン

これは私にとっては珍しいことです。

一般的に、完全な画像なしに何かをアドバイスすることは困難です。 それで、私はピエゾツィーターとあらゆる種類の電磁スピーカーの少数を持っています。 私自身は、互いに交換したり、音を改善する特定のカメラボディをピエゾツイーターに追加したりするのに何の困難もありません。 さらに、私にとっては、Windowsで何かをエミュレートする必要はないと思います。これはミクロンでは絶対に当てはまらないことを知っているからです。
そして、私はほとんどネイティブでプログラミングしているので、Arduinのワークを知りません。

あなたが必要なものを言う-私はそれを行う方法を教えます。



Дмитрий С ©   (2015-02-09 17:26) [37]


>キルケニーキャット©(09.02.15 17:08)[36]

私はオルゴールのようなことをしています。 音楽へのメロディ+ 3 RGBダイオードは、短いフェード効果で(またはスローダウンする場合はそれなしで)色を変え、メロディの後-より滑らかなフェード効果(夜間モード)になります。

私はすでにボードをはんだ付けし、チェックしました。 ファームウェアの作成は残っています。
Arduinoの準備なしで同じことをするつもりです。 タイマーとPWMの助けを借りて。



Дмитрий С ©   (2015-02-09 17:29) [38]


>キルケニーキャット©(09.02.15 17:08)[36]

そして、私はあなたの例からベースとバイオリンを取り上げるつもりです。 同時に訓練します。 ツイーターの代わりに、小さなスピーカー(壊れた携帯電話から取ります)と、例の図のようなフィルターを配置します。



Дмитрий С ©   (2015-02-09 17:34) [39]

クォーツをはんだ付けする価値があるかどうかをアドバイスし、16 MHzまたは8を取得します。このタスクには十分ですか?



brother ©   (2015-02-09 18:14) [40]

[37]完成したデバイスを見たい...



Дмитрий С ©   (2015-02-09 18:17) [41]


>兄弟©(09.02.15 18:14)[40]

ビデオをどのようにレイアウトする準備ができていますか。



Kilkennycat ©   (2015-02-09 18:52) [42]


>クォーツをはんだ付けして16 MHzまたは8を入手するだけの価値はありますか?
>このタスクのために?


このタスクには内部ジェネレーターで十分です。エネルギー消費の問題はもっと大きくなります。バッテリーがあれば-周波数を下げてクォーツを取り除くようにしてください。
バッテリーの場合、LEDは必然的にシムです。さらに、理論的には、LEDをコントローラーポートに直接掛けることができます(これはもちろん、LEDに依存します、これはもちろん、コントローラーに依存し、すべてのLEDがシムなしで点灯します)。
ツイーターについて:スピーカーは確かに優れています。 しかし、それはより多くを飲み込んでしまいます。これは、バッテリー電源では望ましくありません。



Inovet ©   (2015-02-10 03:05) [43]

> [35]ドミトリーC©(09.02.15 16:53)
>そして、彼女はどうやってサインすることができますか

本当のジェダイは「シヌソイド」を書き、完全なパスワードのために「ja」を追加しますが、吸入の技術で特に進歩した人は秘密の言葉「ラスタファリ」を知っています。



Дмитрий С ©   (2015-02-10 23:19) [44]

これまでのところ、何かがうまくいきません:(

約15KHzの周波数でタイマーをPWMモードに設定します(ジェネレーター周波数8MHzで2パスの8ビットタイマー。8000000/ 512 = 15625)。
このタイマーのカウンターのオーバーフローのために割り込みを切りました(512プロセッサーサイクルで1回実行されます)。そこで、shima比較のレジスターを更新します(1タイマー操作で8回)。
tickCount ++; OCR1A = sinCache [(tickCount >> 3)%sizeof(sinCache)]; //(tickCount div 8)mod sizeof(sinCache);
ここで:
揮発性バイトsinCache [64]; for(int i = 0; i <sizeof(sinCache); i ++){ sinCache [i] = 127 + round(127 * sin(6.283 * 440 * i / 1962)); // sin(2 * pi * 440 * i / 1962)。 1962 = 15625 / 8 }
サウンドvseravnoは下品であることが判明し、440 Hzの周波数で近くに立っていません。



Kilkennycat ©   (2015-02-10 23:40) [45]

このmkは誤ってst7foxではありませんか?



Дмитрий С ©   (2015-02-10 23:48) [46]


>キルケニーキャット©(10.02.15 23:40)[45]

いや arduinoのようなボードからAtmega328が削除されました。



Kilkennycat ©   (2015-02-11 00:14) [47]

私が推測しなかったのは奇妙なことです。選択肢が非常に少なかったからです...
しかし、あなたはどう思いますか、マイクロコントローラ、それらのコンパイラ、構成の間に何か違いはありますか?
そして何が表現されている 440 Hzの周波数では忌まわしく、近くさえありません。?
どの周波数が生成されますか?



Дмитрий С ©   (2015-02-11 00:40) [48]

確かに言うつもりはありませんが、もっと高いです。 耳を圧迫する感覚。
同時に、歩行頻度の低い音があります。

私はmkプログラミングにそれほど詳しくありません。 自分以外のすべての割り込みを無効にし、そのハンドラーでArduino関数を使用しませんでした
これが私の力でした:)

また、YouTubeでarduinoの曲を検索しました。 -ほとんどどこでも通常ののぞき見(特定の周波数でピンをオン/オフ)。 1つの場所で、pwmではなく、8 MKの脚と多数の抵抗を使用して電圧を生成するというアイデアがありました。 この場合、サンプリングレートを大幅に上げることができると思います。 もちろん、私は問題がそこにあるかどうかはわかりません。



Kilkennycat ©   (2015-02-11 00:47) [49]


> 8フットMKおよび抵抗器のヒープ

それは原始的なdacです


>私はmkのプログラミングにそれほど詳しくありません。

これは理解できます。
しかし、ここでは、デルファイの問題と同様に、問題全体があります。情報を提供しません。
あなたの場合、すべてのコード(ヘッダーファイル、構成、およびコンパイラに関する情報(コンパイルモードを含む)に加えて)、ハードウェアの実装についても通知する必要があります。ポートにfigを置き、どのプラグインとスレッドを知っているか、ブリッジを介して知らなかったかもしれません。



RWolf ©   (2015-02-11 01:01) [50]

YM2149Fをはんだ付けし、Spectrumチップチューナーの統計情報をアンロードします。



Inovet ©   (2015-02-11 01:20) [51]

15625をお持ちですか-周波数が中断されていますか? このPWM 8ビットで? それから
15625 / 256は約61 Hzです。 440はどこから来たのですか?



Kilkennycat ©   (2015-02-11 02:20) [52]


> 440はどこから来たのですか?

che-threadにはプリスケーラーが含まれていました。 データなし、無駄な推測。 不明なpvmモードの3。 8または16ビット-単語からのみ、初期化は見えません。 YouTubeで情報を探しています...



Дмитрий С ©   (2015-02-11 12:32) [53]

もっと話をする時です。

ここで、和音をサポートした2声のポリフォニーを作成します(選択したメロディに含まれているため)。

これが私のMKで実行できることを確認するために、YouTubeで例を探しました。

次のMKがあります:Arduinoブートローダーを備えたAtmega328P-PU。 IDE:Arduinoも。 その中のコンパイラはGCCです。 サードパーティのライブラリはありません。

クォーツをはんだ付けせず、ヒューズビットを使用して、チップに組み込まれた8MHzジェネレーターをオンにしました。 私はずっと前にこれをしましたが、どのように覚えていません。

接続スキームは次のとおりです。一方のスピーカーレッグはPB4レッグにはんだ付けされ、もう一方は120抵抗オーム(茶色、赤、茶色)を介してPB1にはんだ付けされます(選択したタイマーの出力とPWMがあるため)。 また、0,1マイクロファラッドコンデンサーをスピーカーの接点にはんだ付けしました(http://neoviservis.narod.ru/images/cap_k10_17_104.jpgなど)。
スピーカーは安価なノキア(フィルム、コイル、マグネットで構成されています)から引き出されました。
徒歩PB4でマイナスを提供します。 徒歩でPB1-PWM信号。

ストリームのビット深度を4ビットだけ増やし、シムを交互にオンにして発振振幅を増やすために、PB2のマイナスの代わりに同じタイマーの他のPWM出力(PB1)にはんだ付けするというアイデアがありました。 しかし、今のところ彼女には届きません。

スケッチは次のとおりです。
volatile unsigned long tickCount = 0; 揮発性バイトsinCache [1024]; void setup(){ Serial.begin(9600); // http://www.jameco.com/Jameco/workshop/JamecoBuilds/arduinocircuit_fig12.jpg pinMode(9、OUTPUT); // PB1フットモード(PWMの場合) pinMode(12、OUTPUT); // PB4フットモード digitalWrite(12、0); // PB4のマイナス for(int i = 0; i <sizeof(sinCache); i ++){ sinCache [i] = 127 + round(127 * sin(2 * 3.1415926 * 440 * i / 15700)); Serial.print(i); Serial.print( ""); Serial.println(sinCache [i]); } //反転しない| PWM 8ビットhttp://www.gaw.ru/html.cgi/txt/doc/micros/avr/arh/mega103_38.htm //およびhttp://www.gaw.ru/html.cgi/txt/doc/micros/avr/arh/mega103_43.htm TCCR1A =(1 << 7)| (1 << 0); // http://www.gaw.ru/html.cgi/txt/doc/micros/avr/arh/mega103_39.htm TCCR1B =(1 << 0); //分周器なし SREG | =(1 << 7); //グローバル割り込み解決。 TIMSK1 =(1 << TOIE1); // T1オーバーフロー割り込みを許可します。 (残りはオフです) //診断の場合、問題ではありません: unsigned long predTickCount = tickCount; while(1){ Serial.print(OCR1A); Serial.print( ""); Serial.print(tickCount); Serial.print( ""); Serial.println(tickCount-predTickCount); predTickCount = tickCount; 遅延(1000); } } ISR(TIMER1_OVF_vect){ tickCount ++; // http://www.gaw.ru/html.cgi/txt/doc/micros/avr/arh/mega103_43.htm OCR1A = sinCache [(tickCount)%sizeof(sinCache)]; } void loop(){ }

夕方に結果を記録できます。


>イノヴェート©(11.02.15 01:20)[51]
> 15625をお持ちですか-周波数は中断されていますか? このPWM 8ビットで?
>それから
> 15625 / 256は約61 Hzです。 440はどこから来たのですか?

15625は、1秒に1回、タイマーが0から255、そして0に移動します。
440は、PWMの幅を変更して正弦波を形成することにより形成されます。



Kilkennycat ©   (2015-02-11 13:19) [54]


>接続図は次のとおりです。1本のスピーカー脚が脚にはんだ付けされています
> PB4、もう一方は120オーム抵抗(茶色、赤、茶色)を介して
> PB1(選択したタイマーの出力とPWMであるため)。
> 0,1マイクロファラッドをスピーカーコンタクトにはんだ付けしました

つまり、ミクロンポートの初期状態を台無しにすると、現在の40ミリアンペアに到達します。 すぐに新しいパーセントを買いに行きます。



RWolf ©   (2015-02-11 13:40) [55]

さて、つまり、PWM周波数15625 / 2 = 7.8125 kHzですか?
信号の周波数上限の推定値を取得するには、4で除算します。 汚れた音が出ます。



Дмитрий С ©   (2015-02-11 13:42) [56]


>つまり、ポートmkの初期状態と混同すると、
> 40ミリアンペアで電流に達します。 あなたはすぐに買いに行きます
>新しいパーセント。

ほとんどない。 第一に、スピーカーは、重要ではありませんが、抵抗も持っています。 第二に、私は3,3 Bでデバッグしており、最終的には4,5 B(1,5 Bに3つのバッテリー)で動作します。 したがって、電流は40 mAを超えず、常に許容されます。



Inovet ©   (2015-02-11 13:43) [57]

すなわち あなたは、抵抗のダイナミクスがもっとキロルームであるという仮定から進んだ、その抵抗は数十オーム、オーム32であるように私には何かが思われる。 私は1のビット深度の増加についてのビットを理解していませんでした。 大丈夫です。 スピーカーはこれらの15625 Hzを対応するアーティファクトとともに再現します。 ローパスフィルタは低く調整し、アンプは少なくとも1つのトランジスタで行う必要があります。



Дмитрий С ©   (2015-02-11 13:47) [58]


>さて、つまり、PWM周波数15625 / 2 = 7.8125 kHzですか?
>信号の上限周波数の推定値を取得するには、除算
> 4の詳細。 汚れた音が出ます。

なぜ2つに分割するのですか?
15625ですが、実際には15700であることがわかります。これはおおよそ、写真の最小数です。
http://www.gaw.ru/im/_micros/avr/arh/34.gif
つまり これが島の頻度です。

「4による除算」の詳細を教えてください。



Дмитрий С ©   (2015-02-11 13:51) [59]


>イノヴェート©(11.02.15 13:43)[57]

[56]の「2番目」のアイテムから来ました。

3,3 V / 120オーム= 27,5 mA(有効な50を使用)
4,5 V / 120オーム= 37,5 mA(40をわずかに超える許容値)

「ローパスフィルタを下げる」とはどういう意味ですか?

私はそれなしで通常の音を得るようにアンプが行います。



Inovet ©   (2015-02-11 13:53) [60]

> [59]ドミトリーC©(11.02.15 13:51)
>「ローパスフィルターを低く調整する必要がある」とはどういう意味ですか?

0,1マイクロファラッドにはんだ付けされた懐中電灯のはんだ付けですか?

> [59]ドミトリーC©(11.02.15 13:51)
>アンプは、それなしで通常のサウンドが得られるので問題ありません。

朝はお金、夕方は椅子。



Inovet ©   (2015-02-11 13:55) [61]

これは、すべてがプログラムで正しく行われ、出力で、正弦波を440 Hzで生成し、ゴミではないことを前提とする場合です。



RWolf ©   (2015-02-11 13:59) [62]


>なぜ2で割るのですか?15625、しかし実際には15700であることがわかります。

そうです、私はすでに上記を読みました。


>「4による除算」についてより詳細な議論をすることはできますか?

まあ、彼らは私にその方法を教えてくれました:リング内の有用な信号が沈まないように、ローパスフィルターをPWM周波数の1/4に調整します。



Дмитрий С ©   (2015-02-11 14:05) [63]

ビットネスと振幅の増加に関して、私の考えは次のとおりです。

2つの8ビットPWM出力があり、それらにスピーカーを接続し、AおよびBと呼びます。

次に、9ビット信号を生成します:-255から255まで。 考慮された時間tの信号値をS(t)とします。

スピーカーは、その振動板が上下に動くように配置されます。

いくつかの状況を考慮してください。

1。 S(t)= 0。 0または1は、レッグAとレッグBに同時に適用されます。 ダイアフラムは中立位置にあります。
2。 S(t)= 200(つまり、> 0)。 0はレッグBに適用され、PWM信号200 / 255はレッグAに適用されます。 開口部は、限界から200 / 255で中立位置の上にあります。
3。 S(t)= -200(つまり、<0)。 足Aには0が、足BにはPWM信号200 / 255が適用されます。
開口部は、限界から200 / 255で中立位置より下にあります。

------------------------

書き込み中に、別のオプションが1つのPWMを思い付きました。 レッグAがPWMで、Bが通常の0 / 1であるとします。

いくつかの状況を考慮してください。
1。 S(t)= 0。 0または1は、レッグAとレッグBに同時に適用されます。 ダイアフラムは中立位置にあります。
2。 S(t)= 200(つまり、> 0)。 A-PWM信号200 / 255、B-0。 開口部は、限界から200 / 255で中立位置の上にあります。
3。 S(t)= -200(つまり、<0)。 A-PWM(255-200)/ 255、フットB-1。 開口部は、限界から200 / 255で中立位置より下にあります。

その結果、スピーカーの振動板は0から1に移動せず、-1から1に移動し(振幅は2倍になり)、信号は9ビット(-255から255)になります。



Kilkennycat ©   (2015-02-11 14:09) [64]


>したがって、電流は40 mAを超えず、常に許容されます。

間違っています。
まず、3.3世紀でも。 20以上の電流
4.5を使用すると、消費の最大値に近づきます。
最大値は公称値とはまったく異なります。
さて、2本の足でのブリッジの実装...切り替え時に、それが起こるかもしれません。



Дмитрий С ©   (2015-02-11 14:10) [65]


>あなたは、懐中電灯からはんだ付けされた0,1マイクロファラッドコンデンサーのユーザーですか?

実際に。
一般に、ここからhttp://www.pic24.ru/doku.php/osa/ref/appendix/quartet


>まあ、彼らは私にそのように教えた

サウンド自体のサンプリング周波数は、PWM周波数の4倍以上である必要があることを正しく理解しましたか?
Windows waveOutで、1,96 kHzサウンド自体のサンプリング周波数が十分であることを確認したため、余裕があります。

var WF:tWAVEFORMATEX; WaveOutHandle:HWAVEOUT; i:整数; Buf:バイトの配列[0..3 * 8000-1]。 H:TWaveHdr; 始める wf.cbSize:= SizeOf(wf); wf.wFormatTag:= WAVE_FORMAT_PCM; wf.nChannels:= 1; // 1チャネル wf.wBitsPerSample:= 8; // 8ビット wf.nBlockAlign:=(wf.nChannels * wf.wBitsPerSample)div 8; wf.nSamplesPerSec:= 1960; // 1,96 kHz wf.nAvgBytesPerSec:= wf.nSamplesPerSec * wf.nBlockAlign; Winapi.Windows.Beep(880、2000); Iの場合:= 0から長さ(Buf)-1 do 始める I <8000の場合 Buf [I]:=(127 + Round(127 *(Sin(2 * Pi * I * 880 / wf.nSamplesPerSec))))) 他に I <16000の場合 Buf [I]:=(127 + Round(127 *(Sin(2 * Pi * I * 440 / wf.nSamplesPerSec))))) 他に Buf [I]:=(127 + Round(127 *(Sin(2 * Pi * I * 440 / wf.nSamplesPerSec))+ Sin(2 * Pi * I * 880 / wf.nSamplesPerSec))/ 2)); 終わり; ZeroMemory(@ H、SizeOf(H)); H.lpData:= PAnsiChar(@Buf); H.dwBufferLength:= SizeOf(Buf); H.dwBytesRecorded:= 0; H.dwFlags:= WHDR_INQUEUE; H.dwLoops:= 10; waveOutOpen(@ WaveOutHandle、WAVE_MAPPER、@ wf、0、0、WAVE_ALLOWSYNCまたはCALLBACK_NULL); waveOutPrepareHeader(WaveOutHandle、@ H、sizeof(H)); waveOutWrite(WaveOutHandle、@ H、sizeof(H)); waveOutReStart(WaveOutHandle); 終わり;



Дмитрий С ©   (2015-02-11 14:14) [66]


>間違っています。
>第一に、3.3世紀であっても。 20以上の電流
> 4.5を使用すると、消費の最大値に近づきます。
>
>私は、最大値が名目値とまったく等しくないことを思い出します。
>さて、2本の足でのブリッジの実装...
>切り替え時
quoted1 >>カカが出てくるかもしれません。


いずれにせよ、PWM信号は-この電流を超えても-MKが劣化する可能性は低いです。 3.3 Vでは、許容電流(50 mA)はMKの説明によるものです。

そして、あなたはまだ「カキ」に到達する必要があります:) 1つのポートに出力があることを考えると、それらは実質的に同時に切り替わります。 しかし、これからコンデンサがどのようになるかはわかりません:)しかし、再び、私はまだこれに到達する必要があります。



Inovet ©   (2015-02-11 14:16) [67]

> [65]ドミトリーC©(11.02.15 14:10)
>実際に。
>一般に、ここから

さて、そこにはどれくらい書かれていますか? 78 kHz、および15 kHzがあります。



Дмитрий С ©   (2015-02-11 14:17) [68]


>さて、そこにはどれくらい書かれていますか? 78 kHz、および15 kHzがあります。

あなたが助けたいなら-助けてください、そして私自身はそれを見ます:(



Inovet ©   (2015-02-11 14:24) [69]

> [68]ドミトリーC©(11.02.15 14:17)

78では、スピーカー自体がフィルタリングを追加します。これは、そのような周波数を再現せず、平均化するためです。 15は非常によく再現されます。より強力にフィルタリングし、コンデンサの容量を0,5マイクロファラッドに増やす必要があります。



Дмитрий С ©   (2015-02-11 14:32) [70]

これまでのところ、PWM周波数を上げるという考えがあります。

そして、次のアイデア:
1。 128ではなく、512の周期でPWM信号を手動で生成します。これにより、周波数が4倍に増加し、約62 kHzになります。 サウンドバーの1ビットを犠牲にします。

2。 16または20 MHzで石英をはんだ付けします。 8ビットシムの場合、20MHz / 256 = 78 KHzが得られます-これはすでに優れています。

おもしろい:外付けクォーツと内部オシレーターを切り替えることができますか?



Kilkennycat ©   (2015-02-11 14:45) [71]


>どんな場合でもPWM信号があります-これを超えても
>電流-MKが劣化する可能性は低いです。 3.3 Vが有効な場合
>電流-50 mA

とにかく。 彼がそこにいない3つの場合があります。 スイッチオン時、クラッシュフリーズ時、エラー時。
許容されるものではありませんが、最大値です。 最大での作業は何によっても保証されていません。1ミクロンが出くわします-それは長時間動作し、もう1ミクロンはすぐに死にます。
50データシートのどこに表示されましたか? 40があります。 そして、3.3はデバッグ中であり、4.5での作業は何らかの形で奇妙であり、通常はデバッグされ、動作モードまたはより極端なモードでテストされますが、その逆はありません


>そして、あなたは外出中に*外付けクォーツと
>内部発電機?


データシートを読む。 すべてがそこにあります。



RWolf ©   (2015-02-11 15:24) [72]


>ドミトリーC©(11.02.15 14:32)[70]
>これまでのところ、PWMの周波数を上げるというアイデアがあります。 そして、次のアイデア:
> 16または20 MHzの水晶。

PWM周波数逓倍器が組み込まれた特別なメグがあります。



Kilkennycat ©   (2015-02-11 16:13) [73]


> 2。 16または20 MHzで石英をはんだ付けします。 8ビットシムの場合、次のようになります。
> 20MHz / 256 = 78 KHzはすでに優れています。

内部8 MHzジェネレーターを使用して、atmegaで最大4 MHz PWMを取得できます...データシートを読んでください。 まだ過小評価する必要があります。


> 20MHz / 256 = 78 KHzはすでに優れています。

数式が間違っています。 データシートで異なる計算。



Дмитрий С ©   (2015-02-11 16:35) [74]


>内蔵8 MHzジェネレーターでatmegaにアクセスできます
> PWM max 4 MHz ...データシートを読んでください。 また過小評価する
>する必要があります。

だから私はソフトウェアPWMを作りたいです。 タイマーを通常モードに設定します。 割り込みでは、タイマーが特定の値に達したら、最小ハードウェアである128ではなく、512クロックサイクルのPWM長を取得するようにタイマー設定を更新します。

もちろん、極端な状況では、ハンドラーには実行するのに十分な時間がありません。

このMKは私が彼に望むことをすることができないことがわかりますか?



RWolf ©   (2015-02-11 16:40) [75]

Fast PWMが気に入らなかったのは何ですか?



Дмитрий С ©   (2015-02-11 16:55) [76]


> RWolf©(11.02.15 16:40)[75]

私はそれが何であるかを探し始め、同様のトピックに関するクールな記事を見つけました。

http://easyelectronics.ru/avr-uchebnyj-kurs-ispolzovanie-shim.html

ありがとう。

PS誰かがモスクワであなたがこのすべてを使って仕事をすることができ、機器(はんだごて、オシロスコープ)、そしておそらくアドバイザーがいる場所を知っています:)



Kilkennycat ©   (2015-02-11 17:53) [77]


>それで、ソフトウェアPWMを作りたいです。

なんで? 素晴らしいハードウェアがありますが、1つではありません。 少ない労力。 ソフトウェアが必要な場合....アイデアをさらに発展させるには、MKも必要ありません。複数の抵抗器、IDカウンター、LA3、オペアンプが必要です。



RWolf ©   (2015-02-11 17:57) [78]


> [77]

ほんの数セントの素晴らしいハードウェア音楽プロセッサがあります。 シムとのこの大騒ぎは、家庭で使う価値はありません。 シリアルデバイスの場合-そこに保存する必要があることを理解しています。



Дмитрий С ©   (2015-02-11 18:49) [79]


>キルケニーキャット©(11.02.15 17:53)[77]

ハードウェアの周波数が低すぎます。


> RWolf©(11.02.15 17:57)[78]

かなり遅れて、デバイスはすでに組み立てられています。 そして、ポリフォニーを「取得」するというアイデアは、私がそれを収集した後に生まれました。



Kilkennycat ©   (2015-02-11 20:17) [80]


>ハードウェアの周波数が低すぎます。

全くそうではありません...あなたはただ感じません。
自分で考えてください-ハードウェアシムが存在する理由は何ですか? 開発者は、何かのために、前提条件のない使用済み周波数応答を過小評価していませんか? MKの開発者はあなたと私を合わせたよりもいくらか強く(そしてそうです)、客観的に考えてください。正しい音を抽出できないのは彼らのカントではなく、私たちのカントです。
これが周波数だけではないことをPWM、つまり、 周期とユニティの比率だけでなく、デューティサイクルと持続時間もあり、AM変調とHM変調の両方をある程度シミュレートできる多くのPWMモードがあり、そのような音はそこで抽出できます。これはただの恐怖です。 全体のポイントは、これがどのように機能するかを理解することです。
それ以外の場合は、3 * N + 1抵抗器を使い、プリミティブDACを組み立て、8(16)ビットwavを駆動する方が簡単です



Inovet ©   (2015-02-11 20:32) [81]

> [80]キルケニーキャット©(11.02.15 20:17)
> 8(16)-ビットWAV

16には正確な抵抗器とそれ以外の抵抗器が必要です。



Kilkennycat ©   (2015-02-11 20:35) [82]


>イノヴェート©(11.02.15 20:32)[81]

抵抗の誤差にオーバーラップする時間がなければ、ビット深度はすぐに精度に影響を与えません。 5%は、高抵抗が許容される場合にも可能です



Inovet ©   (2015-02-11 20:36) [83]

1キロのワイヤを取り、0,01 mの一部を切断し、はんだ付けし、次に0,02 mをはんだ付けし、655,36 mの片端ではんだ付けします。



Inovet ©   (2015-02-11 20:38) [84]

> [82]キルケニーキャット©(11.02.15 20:35)
>可能であり、5%

まあ、同じピースを0,001%の精度でカットできます。



Inovet ©   (2015-02-11 21:09) [85]

モデレータによって削除されました



Дмитрий С ©   (2015-02-12 13:32) [86]

昨日、私たちは多数のサンプルによって高速PWMモードで80 KHzのPWM周波数を取得することに成功しました。 そして、驚くほど理解しやすいドキュメントであるデータシートを読みました。

その結果、取得したい音のヒントさえありました。 カウントする場合、すべての6,6ビットを真にします。 オシロスコープは週末に届きます-デバッグはもっと楽しくなると思います。



Дмитрий С ©   (2015-02-14 21:50) [87]

普通の音が聞こえましたが、とても静かです。 皆さん、トランジスタで簡単なアンプを作る方法を教えてください。



Kilkennycat ©   (2015-02-14 23:57) [88]

グーグル



Дмитрий С ©   (2015-02-15 13:00) [89]


>キルケニーキャット©(14.02.15 23:57)[88]

それも事実ですが、知識だけでは十分ではなく、経験も必要です。

一般に、私は簡単なアンプを組み立てました。また、トランジスタのベースとグランドの間の10マイクロファラッドにコンデンサを貼り付けました。音はずっと良くなりました。 私はそれを拾わなければならないと思います。

ここで大きな問題は、2つの周波数をどのように接続するかです。 つまり 結合から抜け出す方法は2つあります。



Kilkennycat ©   (2015-02-15 13:34) [90]

グーグルミキサー



RWolf ©   (2015-02-15 18:18) [91]

何に干渉しますか? このユニットには2つのシムがありますか?



Inovet ©   (2015-02-15 18:58) [92]

> [91] RWolf©(15.02.15 18:18)
>このデバイスには2つのシムがありますか?

どうやら、私はソフトウェアミキシングをマスターしていませんでした。



Дмитрий С ©   (2015-02-15 18:58) [93]


> RWolf©(15.02.15 18:18)[91]

いいえ、シム1。 プログラムで2つの周波数をミックスします。

8 Hzの周波数の440ビット正弦波音信号(常に正)があります。 S1(x)関数は、この信号の値を返します。Xはサンプリングステップです。
したがって、S1(x)は0から255の値を取ることができます。

同様の信号がありますが、523 Hzなどの周波数では、その機能はS2(x)です。

また、8ビットのレジスタOUTがあり、ここに各サンプリングステップで信号値(合計)を入力します。

1つの信号(1つの周波数)ですべてが順番に判明しました。十分に高品質のサウンドが得られます(アンプとフィルターを考慮して、私にとっては許容範囲です)。

しかし、2つでは、それらを要約する方法がまったく明確ではありません。
私が選択したメロディには和音があり、合計で最大4の信号を同時に再生する必要があります。
算術平均とは何ですか? この場合、1つの信号が4倍静かに再生され、残りの信号は無音になります。

現時点では、次の指標を達成しています。
8ビットPWMの速度は31250 Hzです。 (シムの幅のために増やすことができます)。
サンプリング周波数7812 Hz。 (約15 kHzに増やすことができます)。



Kilkennycat ©   (2015-02-15 19:07) [94]

そして、ARM Cortex M3を使用して、MPNUMXの再生をゴブアップするだけです。 一日で。



Inovet ©   (2015-02-15 19:10) [95]

> [93]ドミトリーC©(15.02.15 18:58)
> 1つの信号の再生は4倍静かになり、残りの信号はサイレントになります。

同じにすべきですか? つまり 一般に4つの音符または楽器が最大レベルと一緒に鳴り、その後3つが無音になり、残りの音が突然大きくなり始めます。 興味深いアプローチ。 音のレベルの変化を聞くことは、あなたが考えていることとはまったく違うことに留意してください。



Inovet ©   (2015-02-15 19:14) [96]

そしてミキシングについて。 それらを追加するだけで、すべてのノートに共通のレベル、または少なくとも各パートを維持するために必要なノート番号とデュレーションを除いて、ノートの録音のみになります。



Дмитрий С ©   (2015-02-15 19:20) [97]


>イノヴェート©(15.02.15 19:14)[96]

つまり 数字で足し算しますよね?

スレッドで前述したカルテットのドラフトを分析しました。 そこで行われているようです。



Inovet ©   (2015-02-15 19:24) [98]

> [97]ドミトリーC©(15.02.15 19:20)
>つまり 数字で足し算しますよね?

外出先では、私は分割せず、デバッグするとき、またはこのプロセスがここで呼び出されるので、事前に良いでしょう-情報、はい、私はそれを正常に聞こえるようにすべてを渡した後、再生中にのみ再生しました。



Kilkennycat ©   (2015-02-15 19:25) [99]


>つまり 数字で足し算しますよね?

デューティサイクル、持続時間、振幅の違いを理解していますか? 2つの周波数を混合しても振幅は変わりませんが、楽器の音が静かになることを示唆するのはなぜですか?



Inovet ©   (2015-02-15 19:28) [100]

> [99]キルケニーキャット©(15.02.15 19:25)

はい、すべてが正しい、と彼は言います-それは静かになります、する必要がありますが、そうではないので、オーバーフローにoverflowい出します。 そして、そこのPWMまたは別のタイプの変調が2番目です。



Дмитрий С ©   (2015-02-16 10:54) [101]


>キルケニーキャット©(15.02.15 19:25)[99]

ここでは変調をそのままにしておきます。まず、正確に変調するものを決定する必要があります。

440 Hzおよび523 Hz(1秒あたりのXによる100除算)を説明する関数のグラフを次に示します。
したがって、青と緑。

オレンジは彼らの合計です。 量が[-1; 1]であり、そのスコープが[-2; 2]。 しかし、チャネル[-1; 1]、およびそれに応じて結果を何らかの方法で入力する必要があります。

http://yotx.ru/#!1/2_h/sH@1v7Rgzhf23/aH/zYv9i34gh/K/t/wPhGztgABC8BwaBDra3Dg529w/2STTsxs4p4/F0i/G4dXmxu/8PhG/sgAFA8B74bOdie@vgYHf/YJ9Ew24cMB63Lk4Zjwe7@/9A@MYOGAAE74FBoIPtrYODXeg/EL6xAwYAwXvgs52L7a2Dg939g30SDbuxc3bGeNzaumQ8biF29wEH

次の2つのオプションが残っています。
A)2で除算。
B)別の要約方法を見つける。

あなたの提案は?



Дмитрий С ©   (2015-02-16 11:31) [102]

算術平均は私にとって最良の選択肢のようです。
しかし、疑問が生じます。
そして、4または50周波数があり、それらのいくつかが強い場合とそうでない場合があります+その強度は時間の経過とともに変化しますか?



Дмитрий С ©   (2015-02-16 12:57) [103]

どんな種類の曲に耳を傾け、時間が長すぎて結果はまあまあだという結論に達しました。 私はおよそ道をたどることにした>キルケニーキャット©(15.02.15 19:07)[94].
私はhttp://amperka.ru/product/df-player-mp3-moduleのようなものをはんだ付けします。ADCを介して、すでにサウンドを「キャッチ」し、作曲の花を強調します。
話者を決定するためだけに残っています:)

忍耐とアドバイスをありがとうございました!



Kilkennycat ©   (2015-02-17 00:08) [104]


>ドミトリーC©(16.02.15 12:57)[103]

実際、コントローラーのコストと、それを冷やすために何かを死にさせようとするのに費やした時間を比較することで、私はそのような道に来ました...
しかし、1つだけありますが、そのような試みはかなり堅牢であり、多くの場合、まだきれいにする必要がある場合があります。たとえば、私はそれらを100個購入しましたが、良いことは失われません:)



KSergey ©   (2015-02-17 09:22) [105]

> Dmitry S©(05.02.15 18:30)
>誰もがMidiファイルコンバーター(彼のトラックの一つ)ビープ音とスリープからコードへ?

しかし、これは強調されました-すぐに問題になりましたか?
もしそうなら-私の恥、キーポイントに気づかなかった



brother ©   (2015-02-17 11:14) [106]

はい、送信後にユーザーへのメッセージを編集することはできません...



Дмитрий С ©   (2015-04-30 13:51) [107]

一般的に、ポリフォニーを記録しました。 通常のビープ音を鳴らしました。

これが判明しました:

http://www.youtube.com/watch?v=aV42lAC04v4



RWolf ©   (2015-04-30 13:58) [108]

どういうわけか非常に静かで、マイクを近づけたり、何かをしたりします。
そして、そのような議論の後、ポリフォニーにどんな種類の未知の問題がありますか?



Дмитрий С ©   (2015-04-30 14:33) [109]


> RWolf©(30.04.15 13:58)[108]

割り当てられた時間内に許容できる品質を達成できませんでした。 私にとって、8 MHzはポリフォニーには不十分です。



Inovet ©   (2015-04-30 14:51) [110]

> [109]ドミトリーC©(30.04.15 14:33)
>私にとって、8 MHzはポリフォニーには不十分です。

そして、4 MHz i8086についてはもちろん、i8080、Z80などは言うまでもなく、どうにかして...



Inovet ©   (2015-04-30 14:54) [111]

> [107]ドミトリーC©(30.04.15 13:51)
>これは判明しました:

このカチューシャはジャズ処理ですか?



RWolf ©   (2015-04-30 15:05) [112]


> [109]

atmega 14 MHzに関する私の記事の1つでは、3つの音声が無理なく再生されます。 さらに追加できます。



Дмитрий С ©   (2015-04-30 17:31) [113]


>言うまでもなく、4 MHz i8086については、すぐに
> i8080、Z80などについて、どうにかして...

たぶん、何か別の音源があったのでしょうか?
8ビットサウンドを想定します。
ブランチのどこかで、PWMが最後まで4回カウントすることが望ましいと読みました。
256 * 4 = 1024メジャー。 8000Hzのサンプリング周波数では、8192000クロックサイクル/秒を取得します。 明らかに4 MHzでは十分ではありません。 それでも8でプレイできます。 しかし、その後、彼の空き時間に。


> atmega 14 MHzに関する私の記事の1つで、3つの音声が再生されます
>負担なし。

コードを表示するのは難しくありませんか? どうやってやったのだろう。



RWolf ©   (2015-04-30 19:50) [114]


> [113]

コードは閉じていますが、ここではすべての原則について既に説明しました:周波数が28 kHzのタイマー割り込み、サインがサインテーブル、ボリュームテーブルを通過し、チャンネル内の現在の音圧値が取得されます。 すべてのチャネルで繰り返し、結果を混合し、PWM制御レジスタを更新します。



ページ: 1 2 3 全枝

フォーラム:「その他」;
現在のアーカイブ:2015.12.20;
ダウンロード:[xml.tar.bz2];

2階





メモリ:1.07 MB
時間:0.07 c
2-1403529768
サキピエル
2014-06-23 17:22
2015.12.20
同じ手順のすべてのイベント


2-1403498172
サキピエル
2014-06-23 08:36
2015.12.20
一部のコンポーネントでダブルクリックイベントが発生しない


2-1403717600
サキピエル
2014-06-25 21:33
2015.12.20
後継者に項目を追加する方法


15-1429741804
陪審
2015-04-23 01:30
2015.12.20
お誕生日おめでとうございます! 23 4月2015木曜日


15-1429522423
パベルンク
2015-04-20 12:33
2015.12.20
Androidによると





アフリカーンス語 アルバニア語 アラビア語 アルメニア語 アゼルバイジャン語 バスク ベラルーシ ブルガリア語 カタルーニャ語 中国語(簡体字) 中国語(繁体字) クロアチア語 チェコ語 デンマーク語 オランダ語 英語 エストニア語 フィリピン語 フィンランド語 フランス語
ガリシア語 ジョージアン ドイツ語 ギリシャ語 ハイチ語 ヘブライ語 ヒンディー語 ハンガリー語 アイスランド語 インドネシア語 アイリッシュ イタリア語 日本語 韓国語 ラトビア語 リトアニア マケドニア語 マレー語 マルタ語 ノルウェー語
ペルシア語 ポーランド語 ポルトガル語 ルーマニア語 ロシア語 セルビア スロバキア語 スロベニア語 スペイン語 スワヒリ語 スウェーデン語 タイ語 トルコ語 ウクライナ語 ウルドゥー語 ベトナム語 ウェールズ語 イディッシュ語 ベンガル語 ボスニア語
セブアノ語 エスペラント グジャラート語 ハウサ語 モン族 イボ ジャワ語 カンナダ語 クメール語 ラオ語 ラテン マオリ語 マラーティー語 モンゴル語 ネパール語 パンジャブ語 ソマリ タミル語 テルグ語 ヨルバ語
ズールー語
Английский Французский Немецкий Итальянский ポルトガル語 Русский Испанский