Skip to content

Instantly share code, notes, and snippets.

本書は『7. ユーザーの要望』の指示を行い、作成してもらった内容に必要な加筆を行ったものである。

Microsoft365 Copilotとの会話のまとめ(時系列順)

1. ユーザーの質問

以下は、C++で標本化周波数と秒数からサンプル数を算出するコードである。このコードが最適か確認してほしい。

なお、アルゴリズムが説明できれば良いと考えたため、以下のコードでは、標本化周波数などの値のセットは行っていない。

PCM音源の速度変更アルゴリズムに関するやり取りまとめ

  • アシスタントは『Microsoft365 Copilot』になります
  • 以下は、アシスタントにまとめてもらったものをそのまま記載しております

1. ユーザーの質問

PCM音源を音程を保持したまま速度を変更するアルゴリズムはどのようなものがありますか?
以下の条件で実装を検討しております。実装難易度が低い順に紹介をお願いします。

以下MS365 Copilot チャット への質問した内容

量子化ビット数が24ビットのPCMデータを取り扱うために、C++にて後記のHSWAVE_PCM24構造体を実装した。
この実装が最適か確認をお願いしたい。

このHSWAVE_PCM24構造体の利用想定シーンとして以下を考えております。

* WAVEファイルから読み取る場合はHeapAllocなどで動的確保したメモリ内にロードし、それを『HSWAVE_PCM24*』型にキャストして利用する

Copilot チャット 回答まとめ2

質問した内容

量子化ビット数が24ビットのPCMデータを取り扱うために、
C++にて、以下の構造体を実装した。
この実装が最適か確認をお願いしたい。

struct HSWAVE_PCM24 {

Copilot チャット 回答まとめテンプレート

質問した内容



Copilot チャット 回答まとめ

質問した内容

量子化ビット数が16ビットのPCM音源のサンプル値を-1.0~1.0の実数に正規化する場合、
以下のような方法は最適な方法でしょうか?

正の値の場合:32767で割る
負の値の場合:32768で割る

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2022\Visual Studio Tools\Developer Command Prompt for VS 2022.lnk

ShellLinkHeader (Offset : 0x00000000)

HeaderSize : 0x0000004c
LinkCLSID : {00021401-0000-0000-C000-000000000046}
LinkFlags : 703 (0x000002bf)
	HasLinkTargetIDList (0x00000001) 
	HasLinkInfo (0x00000002) 
@echo off
setlocal
set timebase=%time: =0%
set TimeStr=%timebase:~0,2%%timebase:~3,2%%timebase:~6,2%
set DateStr=%date:~0,4%%date:~5,2%%date:~8,2%
set EnvironmentBaseName=WindowsPE-amd64
set TargetBaseName=%EnvironmentBaseName%-%DateStr%%TimeStr%

F:\Developments\My Git Files\HSOpticalDeviceTools\HSOpticalDeviceTools\Build\x64\Release\Tools>ripping

F:\Developments\My Git Files\HSOpticalDeviceTools\HSOpticalDeviceTools\Build\x64\Release\Tools>"HSAudioCDRippingConsole64.exe"
【光学ドライブリスト】

番号:[ドライブ文字] デバイス表示名
--------------------------------------------------------------------------------
   0:[J:] PIONEER  BD-RW   BDR-S12U 1.05
F:\Developments\My Git Files\HSOpticalDeviceTools\HSOpticalDeviceTools\Build\x64\Release\Tools>traycontroller /drive j /mode lock /nowait
================================================================================
TrayController
================================================================================

【コマンドライン引数情報】

        コマンドライン引数にて「Jドライブ」が指定されました。
        コマンドライン引数にて「トレイをロックする」が動作モードと指定されました。