SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
セガサターンで動く
自作シンセサイザーの紹介
2022/04/30
大神 祐真
(@yohgami)
2022/04/30 2
自己紹介
大神 祐真 (@yohgami)
「へにゃぺんて」
という個人サークルで、
PCやレトロゲームハードを
対象にフルスクラッチで
・自作OS
・マシン語での
 ベアメタルプログラミング
等を行っています!
2022/04/30 大神 祐真(@yohgami) 3
今日のお話
セガサターンで動く
自作シンセサイザーの紹介
2022/04/30 大神 祐真(@yohgami) 4
シンセサイザーとは
シンセサイザーという言葉自体は英語の
「synthesize(シンセサイズ)」=合成する、
という言葉からきており、
電子回路を使って様々な音を出す機械(楽器)
のことを指します。
ヤマハ | シンセサイザーって何? - シンセサイザー入門
https://jp.yamaha.com/products/contents/music_production/guide_to_synth/001/
電子的に音を作って出す機械
2022/04/30 大神 祐真(@yohgami) 5
MIDIキーボードの接続と制御
セガサターンにはMIDIキーボードを接続できる
もし興味があれば
←を
見てみて
ください
2022/04/30 大神 祐真(@yohgami) 6
MIDIキーボードの接続と制御
セガサターンにはMIDIキーボードを接続できる
もし興味があれば
←を
見てみて
ください
これにより、
MIDIキーボード側で押された
キーやボタン等の情報(MIDIメッセージ)を
セガサターン側で受信できる
受信した内容に応じた音を作って出せば、
シンセサイザーができる
2022/04/30 大神 祐真(@yohgami) 7
MIDIキーボードの接続と制御
セガサターンにはMIDIキーボードを接続できる
もし興味があれば
←を
見てみて
ください
2022/04/30 大神 祐真(@yohgami) 8
MIDIキーボードの接続と制御
セガサターンにはMIDIキーボードを接続できる
もし興味があれば
←を
見てみて
ください
2022/04/30 大神 祐真(@yohgami) 9
セガサターンのサウンド機能
「SCSP」という音源ICを搭載
正に電子的に音を作る事を担うIC
コントロールレジスタを提供
レジスタへパラメータを設定することで
様々な音を鳴らす事ができる
2022/04/30 大神 祐真(@yohgami) 10
シンセサイザーの基本的な機能
ヤマハ | シンセサイザー入門 – スペシャルコンテンツ
https://jp.yamaha.com/products/contents/music_production/guide_to_synth/
オシレータ
EG
(エンベロープ
ジェネレータ)
LFO
(低周波
オシレータ)
ピッチベンド
2022/04/30 大神 祐真(@yohgami) 11
シンセの機能を一つずつ実装
オシレータ
EG
(エンベロープ
ジェネレータ)
LFO
(低周波
オシレータ)
ピッチベンド
2022/04/30 大神 祐真(@yohgami) 12
シンセの機能を一つずつ実装
オシレータ
EG
(エンベロープ
ジェネレータ)
LFO
(低周波
オシレータ)
ピッチベンド
SCSPの機能で実現
2022/04/30 大神 祐真(@yohgami) 13
シンセの機能を一つずつ実装
各デモはYouTubeで公開中!
「セガサターン自作シンセサイザー」
で検索してみてください!
2022/04/30 大神 祐真(@yohgami) 14
シンセの機能を一つずつ実装
オシレータ
EG
(エンベロープ
ジェネレータ)
LFO
(低周波
オシレータ)
ピッチベンド
2022/04/30 大神 祐真(@yohgami) 15
シンセにおけるオシレータとは
音を合成する素となる基本の波形
セガサターンシンセでは
以下の3つ+ホワイトノイズに対応(2022年4月現在)
ノコギリ波 矩形波 サイン波
2022/04/30 大神 祐真(@yohgami) 16
SCSPでの波形データ再生方法
PCM形式の波形データに対応
1. PCMデータをサウンド用メモリに配置
2. そのアドレスをSCSPのレジスタへ設定
3. SCSPへ開始を指示
これでPCMデータを再生できる
2022/04/30 大神 祐真(@yohgami) 17
SCSPでの波形データ再生方法
32チャンネル搭載
→ 32本の波形データを扱うことができる
ループ再生に対応
→ メモリに置くのは1周期分のPCMデータでOK
ノイズは別
→ ホワイトノイズを再生する機能がある
2022/04/30 大神 祐真(@yohgami) 18
指定された音階を鳴らす
SCSPには、PCM波形の周波数を
「上げたり」・「下げたり」する機能がある
音の「高い」・「低い」は、
周波数の「高い」・「低い」なので、
この機能を使うことで、
ド・レ・ミ・・・といった音階を
作ることができる
2022/04/30 大神 祐真(@yohgami) 19
シンセの機能を一つずつ実装
オシレータ
EG
(エンベロープ
ジェネレータ)
LFO
(低周波
オシレータ)
ピッチベンド
2022/04/30 大神 祐真(@yohgami) 20
ピッチベンドとは
このようなホイール等に
割り当てられている機能
鳴らしている音の高さを
上げ下げできる
2022/04/30 大神 祐真(@yohgami) 21
ピッチベンドとは
これも、SCSPの
「波形の周波数を
 上げ下げする機能」
で実現できる
2022/04/30 大神 祐真(@yohgami) 22
シンセの機能を一つずつ実装
オシレータ
EG
(エンベロープ
ジェネレータ)
LFO
(低周波
オシレータ)
ピッチベンド
2022/04/30 23
EG(エンベロープジェネレータ)とは
時間
波形を再生
(キーを押下)
波形を停止
(キーを離す)
音の大きさ
波形の再生から停止(とその後)
の音の大きさを変化させる機能
2022/04/30 24
EG(エンベロープジェネレータ)とは
時間
波形を再生
(キーを押下)
波形を停止
(キーを離す)
音の大きさ SCSPにはEGの機能がある
SCSPでは、音の大きさの変化を
4つのフェーズで設定できる
2022/04/30 大神 祐真(@yohgami) 25
シンセの機能を一つずつ実装
オシレータ
EG
(エンベロープ
ジェネレータ)
LFO
(低周波
オシレータ)
ピッチベンド
2022/04/30 大神 祐真(@yohgami) 26
LFO(低周波オシレータ)とは
数Hzから100Hz程度の低い周波数で
(人が分かる程度の周期で)
音を変化させる(揺らす)機能
SCSPでは、音の高さと大きさを変化できる
例えば、音の高さを揺らすことで
ビブラートをかけることができる
2022/04/30 大神 祐真(@yohgami) 27
さいごに
セガサターン自作シンセサイザーで実装した
・シンセの基本機能
・それらがSCSPの機能で実現できる事
を紹介しました
SCSPには他にも「FM変調」で音色をいじれたり、
他にも専用のDSPとCPUが載っていたり、と
セガサターンはサウンド周りも豪華です
2022/04/30 大神 祐真(@yohgami) 28
さいごに
セガサターン自作シンセサイザーで実装した
・シンセの基本機能
・それらがSCSPの機能で実現できる事
を紹介しました
SCSPには他にも「FM変調」で音色をいじれたり、
他にも専用のDSPとCPUが載っていたり、と
セガサターンはサウンド周りも豪華です
セガサターンはハードの能力で
シンセサイザーだって作れる!
ご清聴ありがとうございました!

Contenu connexe

Plus de Yuma Ohgami

セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門Yuma Ohgami
 
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門Yuma Ohgami
 
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介Yuma Ohgami
 
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介Yuma Ohgami
 
バイナリ生成環境『daisy-tools』のご紹介
バイナリ生成環境『daisy-tools』のご紹介バイナリ生成環境『daisy-tools』のご紹介
バイナリ生成環境『daisy-tools』のご紹介Yuma Ohgami
 
セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介Yuma Ohgami
 
ハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターンハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターンYuma Ohgami
 
エミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターンエミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターンYuma Ohgami
 
エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」Yuma Ohgami
 
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングシェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングYuma Ohgami
 
ゲームボーイ向けOSの作り方
ゲームボーイ向けOSの作り方ゲームボーイ向けOSの作り方
ゲームボーイ向けOSの作り方Yuma Ohgami
 
メガドラ実機で自作のROMファイルを動かしてみた話
メガドラ実機で自作のROMファイルを動かしてみた話メガドラ実機で自作のROMファイルを動かしてみた話
メガドラ実機で自作のROMファイルを動かしてみた話Yuma Ohgami
 
/dev/kvmを直接叩いて自作VM
/dev/kvmを直接叩いて自作VM/dev/kvmを直接叩いて自作VM
/dev/kvmを直接叩いて自作VMYuma Ohgami
 
x86_64向け自作OSの紹介
x86_64向け自作OSの紹介x86_64向け自作OSの紹介
x86_64向け自作OSの紹介Yuma Ohgami
 
CybozuのOSS(WalB)へコミットしてみた/使ってみた
CybozuのOSS(WalB)へコミットしてみた/使ってみたCybozuのOSS(WalB)へコミットしてみた/使ってみた
CybozuのOSS(WalB)へコミットしてみた/使ってみたYuma Ohgami
 
GPD WINでStretchを動かす
GPD WINでStretchを動かすGPD WINでStretchを動かす
GPD WINでStretchを動かすYuma Ohgami
 
UEFIで始めるLinux From Scratch
UEFIで始めるLinux From ScratchUEFIで始めるLinux From Scratch
UEFIで始めるLinux From ScratchYuma Ohgami
 
UEFI向け自作OSの紹介
UEFI向け自作OSの紹介UEFI向け自作OSの紹介
UEFI向け自作OSの紹介Yuma Ohgami
 
UEFIベアメタルプログラミング
UEFIベアメタルプログラミングUEFIベアメタルプログラミング
UEFIベアメタルプログラミングYuma Ohgami
 
【シェル芸】コマンド7つで簡易コンテナ
【シェル芸】コマンド7つで簡易コンテナ【シェル芸】コマンド7つで簡易コンテナ
【シェル芸】コマンド7つで簡易コンテナYuma Ohgami
 

Plus de Yuma Ohgami (20)

セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
 
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
 
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
 
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
 
バイナリ生成環境『daisy-tools』のご紹介
バイナリ生成環境『daisy-tools』のご紹介バイナリ生成環境『daisy-tools』のご紹介
バイナリ生成環境『daisy-tools』のご紹介
 
セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介
 
ハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターンハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターン
 
エミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターンエミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターン
 
エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」
 
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングシェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
 
ゲームボーイ向けOSの作り方
ゲームボーイ向けOSの作り方ゲームボーイ向けOSの作り方
ゲームボーイ向けOSの作り方
 
メガドラ実機で自作のROMファイルを動かしてみた話
メガドラ実機で自作のROMファイルを動かしてみた話メガドラ実機で自作のROMファイルを動かしてみた話
メガドラ実機で自作のROMファイルを動かしてみた話
 
/dev/kvmを直接叩いて自作VM
/dev/kvmを直接叩いて自作VM/dev/kvmを直接叩いて自作VM
/dev/kvmを直接叩いて自作VM
 
x86_64向け自作OSの紹介
x86_64向け自作OSの紹介x86_64向け自作OSの紹介
x86_64向け自作OSの紹介
 
CybozuのOSS(WalB)へコミットしてみた/使ってみた
CybozuのOSS(WalB)へコミットしてみた/使ってみたCybozuのOSS(WalB)へコミットしてみた/使ってみた
CybozuのOSS(WalB)へコミットしてみた/使ってみた
 
GPD WINでStretchを動かす
GPD WINでStretchを動かすGPD WINでStretchを動かす
GPD WINでStretchを動かす
 
UEFIで始めるLinux From Scratch
UEFIで始めるLinux From ScratchUEFIで始めるLinux From Scratch
UEFIで始めるLinux From Scratch
 
UEFI向け自作OSの紹介
UEFI向け自作OSの紹介UEFI向け自作OSの紹介
UEFI向け自作OSの紹介
 
UEFIベアメタルプログラミング
UEFIベアメタルプログラミングUEFIベアメタルプログラミング
UEFIベアメタルプログラミング
 
【シェル芸】コマンド7つで簡易コンテナ
【シェル芸】コマンド7つで簡易コンテナ【シェル芸】コマンド7つで簡易コンテナ
【シェル芸】コマンド7つで簡易コンテナ
 

Dernier

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Dernier (9)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

セガサターンで動く自作シンセサイザーの紹介