sio_read()の実装を見るに、blocking I/Oを使っている場合でもsio_pollfd()で再生/録音がbusyかどうか(sio_read()/sio_write()を実行しているのと他のスレッドから)参照できそうに見えるんだけどどうなんだろう。 https://github.com/ratchov/sndio/blob/master/libsndio/sio.c#L391
OpenBSD(uaa@), Ham(JG1UAA), Ingress(Lv14, RES), Japanese(Sagamihara-city, Kanagawa)
Another side: https://social.tchncs.de/@uaa
npub1rarr265r9f9j6ewp960hcm7cvz9zskc7l2ykwul57e7xa60r8css7uf890
Messages from this Mastodon account can read via mostr.pub with npub1j3un8843rpuk4rvwnd7plaknf2lce58yl6qmpkqrwt3tr5k60vfqxmlq0w
sio_read()の実装を見るに、blocking I/Oを使っている場合でもsio_pollfd()で再生/録音がbusyかどうか(sio_read()/sio_write()を実行しているのと他のスレッドから)参照できそうに見えるんだけどどうなんだろう。 https://github.com/ratchov/sndio/blob/master/libsndio/sio.c#L391
@hfp 以前教わった気がする…他の人かもしれないけど…無くなる前に手元置いときたい気はするけど、パッケージも含めてとなると確かに容量がツラい。
@hfp Question about old versions of OpenBSD. ( https://www.reddit.com/r/openbsd/comments/hlpkid/question_about_old_versions_of_openbsd/ )から、 https://ftp.eu.openbsd.org/pub/OpenBSD/ を当たるのが良いって書いてあった。自分は昔NLUUGに頼ってたけど、なんかある時期を境に最近のしか置かなくなってる… https://ftp.nluug.nl/pub/OpenBSD/
RP2350祭りか…なかなか参加できない(ってRP2040も必要に迫られて買ったからなあ)。
とりあえず、sio_setpar()に何を食わせるか、は見えてきた。(direwolfのsndio版、よく移植できたよな過去の自分…勢いだけでやったというのはあるんだろうけど)
direwolf software TNCはソフトウェアモデムみたいなものなので、あんまり長いサンプルを持って来られても困るとかそういう理由なのかも。
https://github.com/wb2osz/direwolf/blob/master/src/audio.c#L138
M17Clientは音声データをCodec2(音声コーデック)に食わせて処理させるので、Codec2の処理ブロックのサイズが40msec単位とかそういう理由があるのかも(Codec2のソース見てないから詳しいことは知らない)。
M17ClientのALSA/PulseAudioに指定するblocksize、SOUNDCARD_BLOCK_SIZE = CODEC_BLOCK_SIZE * (SOUNDCARD_SAMPLE_RATE / CODEC_SAMPLE_RATE)で定義してるんだけど
CODEC_BLOCK_SIZE = CODEC_SAMPLE_RATE / 25U
→CODEC_SAMPLE_RATEが8000なので320
SOUNDCARD_SAMPLE_RATE = 48000U
ゆえにSOUNDCARD_BLOCK_SIZE=1920
40msec分のサンプルを1ブロックとする、ということかね(そういえばdirewolfも40msec単位にしていたが今はレイテンシを下げる目的で10msecにって記述がコメントにあったよーな…)
44100Hz, 1channel, 16bit(88200byte/sec)のappbufszのデフォルトは8820byte…100msec分として。
direwolf software TNCの場合は10msec分ってことになってるな。なので1024byte単位に切り上げて確保しようとしても、882byteしか確保しねーよとsndioに言われてしまうと。
というかsndio版、アレでよく動いてるなという気がしなくもない。自分で言うのもアレだけど。
薬剤師が登録販売者を受験するとか勉強する意義はあると思うんだけど、実務経験が無いと「研修中」扱いになってしまうという問題があって。 https://www.pref.fukuoka.lg.jp/contents/tourokuhanbaisha-gyoumukeiken.html
仮に薬剤師が登録販売者の「*完全*上位互換」であるならば、実務経験がなくても登録販売者試験をパスするだけで実務経験ありとしての扱いを受けても良い気がするんだけど…現実はそうなっていない。
登録販売者持ちの薬剤師が登録販売者として活動することによる問題を封じるために敢えてこうしている、という意図もなんとなく感じるんだけど。どうなんだろうね?
なので、「衛生検査技師は主に食品や環境の検査を行うことが多いロボ。それに対して臨床検査技師は主に医療現場で患者の検査を行うロボ」という回答を正しいとするのは、少し厳しいのではないかと自分は考えます。
衛生検査技師と臨床検査技師の違いについては敢えて質問してみたけど、やはりこの辺が限界なのかなあ。
臨床検査技師って、衛生検査技師の業務範囲+「政令で定める生理学的な検査」なので、「微生物学的検査、血清学的検査、血液学的検査、病理学的検査、寄生虫学的検査、生化学的検査」については臨床検査技師も衛生検査技師も変わらないんですよね。
https://www.wam.go.jp/gyoseiShiryou-files/documents/2002/14835/siryou1.PDF
ちなみに衛生検査技師、今は廃止されてます。
このアカウントは、notestockで公開設定になっていません。
@teobot 衛生検査技師は臨床検査技師の下位互換資格と言えるのか、登録販売者は薬剤師の下位互換資格と言えるのか、どう判断されますか?
@teobot 専門外かもしれませんけど、薬剤師が登録販売者試験を受ける意義があるとすれば何があるか教えてください。
pulseaudio-module-sndio、バッファサイズの設定を何もしてない(sio_initpar()しただけ)っていう…そういう作りもアリなのか。 https://git.sr.ht/~tcreech/pulseaudio-module-sndio/tree/6655b138aabcd253d8c9fa09dda5d45966fb940a/item/module-sndio.c#L336
qemuだとround * bps * チャンネル数で確保してる。appbufszはrate * latency(これはQEMU内部での何かだろう) / 1000000になってるな。 https://patchwork.kernel.org/project/qemu-devel/patch/20200304145003.GB15649@humpty.home.comstyle.com/
えー、sio_par.roundがあるのか…これ設定してないから不思議な挙動になるのかなあ。
ふーん
if (par->rate != ~0U && par->appbufsz == ~0U)
par->appbufsz = par->rate * 200 / 1000;
return hdl->ops->setpar(hdl, par);
appbufsz = ~0だと200msec分のバッファになるのか。
うーん、倍率を計算してはみたけど、どういう基準でこれ決めてるんだろう…?
8000Hz→80byte単位、max 1360 (x17)
11250Hz→113byte単位、max 2712 (x24)
16000Hz→160byte単位、max 5440 (x34)
22050Hz→221byte単位、max 10166 (x46)
24000Hz→240byte単位、max 12240 (x51)
32000Hz→320byte単位、max 21440 (x67)
44100Hz→441byte単位、max 40572 (x92)
48000Hz→480byte単位、max 48480 (x101)
とはいえ16bit 2ch(4byte/sample)と、8bit 1ch(1byte/sample)で、頭打ちになったappbufszの上限が同じっていうのもなんかよく分からんなーという気はしてる。8bit 1chでのappbufのサイズはこんな感じかなあ
8000Hz→80byte単位、max 1360
11250Hz→113byte単位、max 2712
16000Hz→160byte単位、max 5440
22050Hz→221byte単位、max 10166
24000Hz→240byte単位、max 12240
32000Hz→320byte単位、max 21440
44100Hz→441byte単位、max 40572
48000Hz→480byte単位、max 48480
ふーむ、OpenBSD sndioのappbufszの挙動って、サンプリング周波数の1/100…10msec単位で確保なのかなあ。確保するサイズはなんか頭打ちになるんだけど、上限をどう設定してるかはちょっと分からない(ソース見れば良いんだけど)。
バンナムもFRAGILEとか出してたけど、あれも復刻は…別にしなくて良いかなあ。
Elebitsとか、コナミどうする気なんだろ(まああれはWiiだからこそできたゲームなので…今の環境でどう移植すんだって話はある)
えー、NHKからor.jpドメインと放送免許の剥奪、じゃないのー?やだやだー
このアカウントは、notestockで公開設定になっていません。
「政府が手厚くサポートした業界は過去、伸びた試しがないように思う。カメラやバイクは政府が放置していたら、いつのまにか世界制覇している。政府があの手この手で口や手を出す『金融』と『通信』は、日本独自に発展していて世界では通用しない」
金融は知らないけど通信を民間で好き勝手にやられると国がコントロールができなくなるので国にとってはいい迷惑、なのでサポートという名のコントロールを行うんでしょうな。おそらくIT関連も、そう。
だから国がプロジェクトに絡んでくるのをいかに防ぐか、っていうのが重要なんですよ。プロジェクトが殺されるから。
政府が放置のカメラやバイクは勝手に世界制覇 民間企業の底力 (2024.09.07) https://business.nikkei.com/atcl/gen/19/00608/090600028/
実は登録販売者試験を受けてきたのだけど、試験を受けたことよりもむしろそれがきっかけで大学時代の同期の所在を掴めたかもー?ということの方が収穫かもしれん。
試験結果については…どうなんだろね?落ちてはいないと思いたいんだけど。
技適がある時点で既に色々規制が入ってるっていうのはあるだろうけど…「自由にやられると困る人達」があの手この手で自由を奪おうとしているのは確かなので、その兆候が見られたら即座に叩けるようにしておく必要はあるだろう。
カナダはHackRFやFlipper Zeroなどの「コンシューマーハッキングデバイス」を禁止しようとしているけれど、日本もそうなる可能性は十分あるよなぁと思っている。
https://www.rtl-sdr.com/flipper-zero-starts-a-petition-to-fight-canada-ban/
RTL-SDRと銘打たれた受信機でなくても、DS-DT305BKみたいなワンセグチューナーをメルカリとかヤフオクで漁っておくっていう手はあるのかも。そもそもワンセグの受信機であり、RTL-SDR用じゃないからそうそう狩られることはない…と思いたいんだけど。
あそこまでリッチでないにしても、W806とかAir101とか呼ばれてるコントローラもFPU持ってて、マルチコアとかじゃなきゃこれでも良いんじゃね?と思うんだけど…開発環境とかその整備状況を考えるとちょっと(かなり)不安なところはある。